20.04.06 - 适用于公有云的 Apigee Edge 版本说明

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

我们在以下日期开始发布适用于公有云的 Apigee Edge 的组件更新:

  • 消息处理器:2020 年 5 月 1 日,星期五
  • API 管理:2020 年 4 月 20 日,星期一
  • 创收管理:2020 年 4 月 20 日(星期一)
  • API 管理补丁版本:2020 年 6 月 22 日(星期一)
  • 创收管理补丁版本:2020 年 7 月 6 日(星期一)
  • 管理服务器安全更新:2020 年 8 月 24 日(星期一)
  • 包含 bug 修复的消息处理器补丁版本:2020 年 9 月 24 日(星期四)
  • 包含 bug 修复的消息处理器补丁版本:2020 年 10 月 26 日(星期一)
  • 包含 bug 修复的消息处理器补丁版本:2021 年 2 月 1 日(星期一)

新功能和更新

以下是此版本中的新功能和更新:

JWT 政策

  • JWT 加密

    通过 JWT 政策,您可以生成、验证和解码加密的令牌。新元素 包括:

    • <Type> - 可让您设置令牌是经过签名还是加密的。
    • <EncryptionAlgorithms> - 可让您设置 <Key><Content> 加密算法。

    (67165581)

  • 支持签名令牌中的 PSS 算法

    用于生成和验证 JWT 和 JWS 的政策现在支持 PS256、PS384、 和 PS512 算法,如 IETF RFC 7518。 (119856499)

  • 令牌的 GenerateJWT 相对开始时间

    使用 GenerateJWT 政策生成 JWT 时, <NotBefore> 元素 您可以指定从生成令牌到令牌生效的相对时间。 例如,<NotBefore> 值为 2h 表示令牌在 生成之后的 2 小时。您可以在以下时间中设置 <NotBefore> 次: 毫秒 (ms)、秒 (s)、分钟 (m)、小时 (h)、天 (d) 或周 (w)。 (126261970)

  • 在 VerifyJWT 中引用 PublicKey/Certificate

    VerifyJWT 政策中,<PublicKey> / <Certificate>元素 PEM 格式的证书,用于验证传入的 JWT 签名。例如:

    <PublicKey>
      <Certificate ref='public.certificate_pem'/>
    </PublicKey>

    (132918033)

消息模板函数

以下用户是新的<ph type="x-smartling-placeholder"></ph> 消息模板函数

  • firstnonull - 返回第一个(最左侧的)非 null 参数的值。 (139698514)
  • xpath - 可让您应用 XML 路径 (XPath) 表达式来解析 XML 变量。 (123246424)

AssignMessage 政策:AssignVariable 可让您引用消息模板

AssignMessage 政策中, <AssignVariable> / <Template> 元素允许 ref 属性,让您可以在运行时注入 而无需修改政策(118396082)

多个证书别名

配置 TLS 并在密钥库中使用多个证书,每个证书都有一个 不同别名,Edge 可让您引用特定证书别名, <SSLInfo><KeyAlias> 配置。为了实现这一更新后的行为 设置新的 HTTPClient.choose.alias.by.keyalias 属性 设置为 true。面向公有云用户的 Edge 必须联系 支持添加此属性。(142141620)

JSONtoXML 政策:省略 XML 声明、缩进输出

JSONtoXML 政策中新增了两个布尔选项,可让您更好地控制 XML 输出。

  • <Options> <OmitXmlDeclaration> - 设置为 true 时 (默认值为 false),<OmitXmlDeclaration> 元素会忽略 默认<?xml version="1.0" encoding="UTF-8"?> 政策生成的 XML 声明。
  • <Options> <Indent> - 设置为 true 时 (默认值为 false),<Indent> 元素会缩进 XML 输出。 例如,不输出以下输出内容:

    <Array><n>1</n><n>2</n><n>3</n></Array>

    Indent 元素会产生以下结果:

    <Array>
     <n>1</n>
     <n>2</n>
     <n>3</n>
    </Array>

(65142394)

对虚拟主机扫描的响应

如果对 Apigee 端点的 IP 地址(未指定虚拟主机)发出请求, Edge 从默认 Apigee 返回 HTTP 200 响应和空白 HTML 文档 与该 IP 地址关联的虚拟主机为了避免错误展示 此类响应可能表明存在可被利用的潜在漏洞, 连接会被丢弃,并且不会返回任何响应。(140005396)

Trace 中的目标服务器属性有助于排查问题

以下新的跟踪属性有助于排查目标连接问题,方法是 显示目标服务器的 HTTPClient 是否已缓存: isHttpClientCachedisFromClientPool。(140574604)

MessageLogging 政策:Syslog 消息

MessageLogging 政策中,新增了 <Syslog> / <PayloadOnly> 个元素 (布尔值)指定是否自动将任何内容 您定义的 <Message>。如果您将 <PayloadOnly> 设为 true,系统不会向 消息定义(不考虑 <FormatMessage> 设置)。如果设置为 false(默认值), <FormatMessage>设置决定了前置内容 。(68722102)

缓存政策到期时间

<TimeoutInSeconds> ResponseCache 政策PopulateCache 政策 行为方式与现有的 <TimeoutInSecs> 元素相同 的预期用途。请使用新元素。 已废弃的 <TimeoutInSecs> 元素仍存在,以实现向后兼容性。如果 <TimeoutInSecs><TimeoutInSeconds> 元素,则 Edge 使用 <TimeoutInSeconds>。(119172893)

virtualhost.aliases.values 流变量

新的只读 virtualhost.aliases.values 消息流 变量返回 JSON 格式的数组,其中包含分配给 调用的虚拟主机。(128453178)

用于确保删除代理修订版本的新参数

我们在force 删除 API 代理修订版本。 如果 List API Proxies API 中列出了修订版本 此参数可确保删除代理修订版本,但实际上无法进行查询。(111691721)

例如:

DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true

为 virtualhost 别名值添加了新流变量

新的只读 virtualhost.aliases.values 消息流变量会返回 JSON 格式的 分配给在入站请求上调用的虚拟主机的所有别名的数组。(128453178)

已修复 Bug

此版本中修复了以下 Bug。此列表主要供用户检查其支持服务工单中的问题是否已修复,并非旨在为所有用户提供详细信息。

问题 ID 组件名称 说明
143313772 消息处理器

“SpikeArrest”政策中修复了 UseEffectiveCount 已启用,并且会发生滚动重启。

(在 2021 年 2 月 1 日补丁版本中。)

154428338 API 运行时

配置密钥库后,消息处理器无法加载环境 使用相似的名称或别名。

修复了加载具有相似命名的密钥库时出现的正则表达式查找冲突 。这会导致消息处理器无法加载环境 与密钥库关联,或者在有多个有冲突的密钥库时无法启动 返回的值。

149507805 API 管理

为所有生产环境 MGMT 服务器通过 HTTP 启用部署/配置

配置更新通过 HTTP 而非 RPC 进行,从而提高可靠性 以及错误记录

137217974 API 管理

通过 HTTP 配置 MP 时, 目标服务器仍在使用中

由于问题 149507805 中引入了可靠性改进,因此, 目标服务器删除导致的响应错误被错误地报告为 状态 200(成功)。修复此问题之后,响应 现在,如果删除失败,错误会正确报告为状态 400。 请注意,如果目标服务器是 当前部署的代理引用的 IP 地址。删除目标之前 服务器,请进行检查以确保没有任何 当前部署的 API 代理。

69765558 API 管理

Resource Permissions API 返回 403

149545506 API 管理

修复了向角色添加用户时出现的 API 安全问题。

131246911 API 管理 对于门户中的开发者电子邮件地址,请启用对新域名(例如 *.games、*.asia)的支持

修复了部分域名(例如 *.games*.asia、 和 *.africa 导致在 Edge 上创建开发者失败 因为域名验证器无法识别它们。现在仅限 Edge 用于验证电子邮件地址格式是否有效(包含“@”符号)。

142217645 API 管理

PUT v1/o/{org_name}/apiproducts/{product_name} - 未移除 配额

162299668 管理服务器

修复了一个潜在的安全漏洞。

135856488 管理服务器

界面运行缓慢

139407965 管理服务器

修复了允许在没有名称的情况下创建 KVM 的问题。

112488235 管理服务器

添加了验证功能,以防止使用 空格。空格字符不适用于虚拟主机名。

132433193 创收管理

应用更新的问题已修复。

152514520 创收管理

修复了删除实体的 Management API 调用问题。

128450374 API 运行时

JWT/JWS 政策应该遵循 IgnoreUnresolvedVariables - 抛出相应的错误 如果变量未定义

135354517 API 运行时

由于对“String”的强制执行严格执行,组织在 Release_190301 中失败BasicAuth 中的数据类型

131763486 API 运行时

在消息处理器中应忽略共享流的基本路径

135972575 API 运行时

如果替换=true&delay=300,Private Cloud 4.19.01 在部署期间会出现不同的行为

此修复将包含在未来的 Edge for Private Cloud 版本中。

141601836 API 运行时

修复日志消息中的主机名

116834109 API 运行时

Trace 中失败的变量、fault.cause 和 fault.name 的值不正确

130653816 API 运行时

运行时流量出现间歇性 404 错误

132777537 API 运行时

针对有效的 JSONPath 的 ExtractVariables 政策失败

133713555 API 运行时

边缘路由器更改日期标头

133253435 API 运行时

Apigee-Main 线程的 CPU 使用率高

111553402 API 运行时

在运行时未捕获到路径中包含无效字符的 API 产品

126240341 API 运行时

改进常规的“生成失败”关于 GenerateJWT 政策失败的消息

119854424 API 运行时

具有单个目标服务器的 LoadBalancer 不应在连接失败时变为非活跃状态

129275412 API 运行时

将 HTTP 标头添加到后备虚拟主机以进行常规 IP 扫描

129351507 API 运行时

当密码包含冒号时,BasicAuthentication 政策无法解码

65852874 API 运行时

确保 HTTPClient 不会尝试重复使用具有 Connection:close 的连接 响应标头

138951646 API 运行时

在 JavaScript 中,httpClient 的时间限制不起作用

139051927 API 运行时

请求处理延迟时间较长

132443137 API 运行时

更改了消息处理器行为,以处理未知的内部 x-apigee 标头

138310777 API 运行时

共享流部署调用随机返回 504

67170148 API 运行时

ServiceCallouts 使用用时与时间采用的差异

124049692 API 运行时

VerifyApiKey 政策中出现 NullPointerException

135031506 API 运行时

针对意外的 JWT 密钥格式添加了日志消息

137312366 API 运行时

按 Content-Type 标头进行内容验证

109871907 API 运行时

不含 Response 元素的 ServiceCallout 执行延迟

143722867 API 运行时

JWT 必须对 PBKDF2 的迭代次数强制执行一个可配置的限制

144286363 混合跟踪

env.json 中的调试掩码不会遮盖 Apigee Hybrid 中的响应数据

147769812 API 运行时

在功能标志中将 OAuth 哈希属性声明为可变

149037704 API 运行时

修复了分配给 proxy.url 流变量的值可能 可能返回错误的主机别名。

148972262 API 运行时

DecodeJWS 以无用的形式将载荷发送到上下文变量

116580622 API 运行时

响应不一致

149739904 API 运行时

HTTP 标头的数据遮盖应不区分大小写

149431545 API 运行时

GenerateJWT 和 VerifyJWT 与 SecretKey 不接受除 UTF-8 以外的任何编码

155448596 API 管理补丁

缺少默认 apimonitoringadmin 角色的权限

为 apimonitoringadmin 角色添加了缺少的权限。

158592076 API 管理补丁

缺少默认 devadmin 角色的权限

devadmin 角色添加了缺少的权限。

152856311 API 管理补丁

验证以拒绝密钥库和信任库中的 PKCS7 和 DER 证书 在虚拟主机创建和更新期间

在虚拟主机创建或更新期间,系统会强制执行验证, 检查在密钥库别名和信任库中添加的证书是否位于 PEM 中 而不是 PKCS7、DER 等不兼容的格式。

155478545 变现管理补丁

电子邮件通知状态更新问题已修复。

154121499 变现管理补丁

/mint/org/orgname/delete-org-data API 存在以下问题 抛出 404 状态错误的问题已修复。

152356393 变现管理补丁

为实现创收而放宽了对公司名称长度验证的要求 公司创建。

138542921 变现管理补丁

解决了创建价格方案失败且有多个 自定义属性。

150948843 变现管理补丁

修复了 Monetization /sync-developers API 的问题 引发了持久性冲突。

155443118 变现管理补丁

移除了 jsonMailProperties 字段。

150948843 变现管理补丁

修复了 Monetization /sync-developers API 的问题 引发了持久性冲突。