您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 info
使用 TLS 到期 提醒,以便在环境中的 TLS 证书即将到期时发出 通知。
TLS 证书简介
TLS(传输层安全协议)是用于在 Web 服务器和 Web 客户端(例如浏览器或应用)之间建立加密链接的标准安全技术 。加密链接可确保服务器和客户端之间传递的所有数据保持私密 。
TLS 证书是一个数字文件,用于标识 TLS 交易中的实体。Edge 使用 TLS 证书为以下内容配置 TLS:
- API 客户端对 API 代理的访问权限。 使用 虚拟主机 配置 TLS。
- 通过 Edge 访问您的后端服务。 在 Edge 消息处理器上使用 目标端点和目标服务器 配置 TLS。
TLS 证书包含到期日期。如果 TLS 证书过期,则 TLS 连接会失败,直到您更新证书为止。这意味着,在您更新证书之前,对您的 API 的所有请求都会失败。
关于到期提醒
与其等待证书到期并等待对您的 API 的请求失败,不如使用 到期提醒,以便在环境中的任何 TLS 证书即将到期时发出通知。 触发提醒后,您可以更新证书,这样您的客户就不会看到任何服务中断。
配置提醒时,请勿指定单个证书,而是指定特定环境。 当部署的任何证书计划在指定时间范围内到期时,系统会触发提醒。
您可以将到期提醒设置为在以下时间发生:
- 任何证书到期前 1 天
- 任何证书到期前 14 天
- 任何证书到期前 30 天
添加到期提醒和通知
如需添加到期提醒和通知,请执行以下操作:- 在 Edge 界面中点击分析 > 提醒规则 。
- 点击 +提醒 。
- 输入以下有关提醒的常规信息:
字段 说明 提醒名称 提醒的名称。使用描述触发器的名称,该名称对您来说有意义。 该名称不能超过 128 个字符。 说明 提醒的说明。 提醒类型 选择 TLS 到期 。 如需了解详情,请参阅 关于提醒类型。 环境 从下拉列表中选择环境。 状态 切换以启用或停用提醒。 - 定义将触发提醒的条件的阈值和维度。
条件字段 说明 阈值 为即将到期的证书配置时间范围。您可以选择在证书即将到期时发出提醒:
- 1 天
- 14 天
- 30 天
维度 维度固定为 Any TLS Certificates 值,对应于 环境中的任何 TLS 证书。 - 点击 + 通知 即可添加提醒通知。
通知详情 说明 Channel 选择要使用的通知渠道并指定目标位置:Email、Slack、PagerDuty 或网络钩子。 目标 根据选定的渠道类型指定目的位置: - 电子邮件 - 电子邮件地址,例如
joe@company.com - Slack - Slack 频道网址,例如
https://hooks.slack.com/services/T00000000/B00000000/XXXXX - PagerDuty - PagerDuty 代码,例如
abcd1234efgh56789 - 网络钩子 - 网址,例如
https://apigee.com/test-webhook注意:您只能为每条通知指定一个目的地。要为同一渠道类型指定多个目的位置,请添加其他通知。
- 电子邮件 - 电子邮件地址,例如
- 如需添加其他通知,请重复上一步。
- 如果您添加了通知,请设置以下字段:
字段 说明 Playbook (可选)自由格式文本字段,提供提醒触发时如何进行解决的简短操作建议。您还可以指定指向内部 Wiki 或社区页面的链接,您可以在其中 引用最佳实践。此字段中的信息将包含在通知中。 此字段中的内容不能超过 1500 个字符。 Throttle 发送通知的频率。从下拉列表中选择一个值。 - 点击保存 。
在“事件”信息中心内查看提醒
当 Edge 检测到提醒条件时,它会自动将该条件记录到 Edge 界面中的事件 信息中心。“事件”信息中心中显示的事件列表包含所有提醒,包括已更正提醒和证书提醒。
如需查看提醒,请执行以下操作:
在 Edge 界面中依次点击分析 > 事件 。新的事件信息中心随即显示:
通过以下方式过滤事件信息中心:
- 环境
- 区域
- 时间段
- 在“事件”信息中心内选择一行,以显示包含即将到期的证书的密钥库,以便 进一步调查提醒。在“密钥库”页面中,您可以上传新证书并删除 即将到期的证书。
将提醒 API 与到期提醒搭配使用
您用于创建和管理到期提醒的大多数 API 与您用于固定提醒的 API 相同。对于已更正提醒和到期提醒,以下提醒 API 的工作原理相同:
- 获取提醒 - 获取已更正或异常值提醒定义。
- 获取提醒历史记录 - 获取提醒历史记录指标。
- 删除提醒 - 删除已更正或异常值提醒定义。
- 获取提醒实例 - 获取所触发提醒的相关信息。
- 获取提醒计数 \- 获取提醒的总数。
但是,一些 API 具有用于支持异常值提醒的其他属性,包括:
创建或更新到期提醒
使用相同的 API 创建 或 更新 到期提醒,如同当前针对固定提醒执行的操作那样。用于创建或更新到期提醒的 API 调用正文与已更正提醒所用的正文相同,但进行了以下更改:
您必须添加以下新属性,以指定提醒是到期提醒:
"alertType": "cert" "alertSubType": "certfixed"
这些属性的默认值为:
"alertType": "runtime" "alertSubType": "fixed"
在
conditions数组中:metrics属性仅接受expiration值。- 使用
gracePeriodSeconds属性以秒为单位指定证书到期的时间范围,最长为 30 天。 - 不支持
threshold、durationSeconds和comparator属性。
- 在
conditions数组的dimensions元素中:- 您必须将
certificate属性的值设置为ANY。 - 您必须将
proxy属性的值设置为ALL。 - 不支持
statusCode、developerApp、collection、faultCodeCategory、faultCodeSubCategory、faultCodeName属性。
- 您必须将
- 到期提醒不支持
reportEnabled属性。
以下示例 API 调用创建了一个到期提醒,当生产环境中的任何证书将在未来 30 天内到期时,就会触发此到期提醒。触发该提醒时,系统会向指定的电子邮件地址发送通知:
curl 'https://apimonitoring.enterprise.apigee.com/alerts' \
-X POST \
-H 'Accept: application/json, text/plain, */*' -H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"organization":"myorg",
"name":"My Cert Expiry Alert",
"description":"My Cert Expiry Alert",
"environment":"prod",
"enabled":true,
"alertType": "cert",
"alertSubType": "certfixed",
"conditions":[
{
"description":"My Cert Expiry Alert",
"dimensions":{
"org":"myorg",
"env":"prod",
"proxy":"ALL",
"certificate": "ANY"
},
"metric":"expiration",
"gracePeriodSeconds": 2592000
}],
"notifications":[{
"channel":"email",
"destination":"ops@acme.com"
}],
"playbook":"http://acme.com/pb.html",
"throttleIntervalSeconds":3600,
"reportEnabled":false
}'
按照
获取 OAuth 2.0 访问令牌中的说明,将 $ACCESS_TOKEN 设置为您的 OAuth 2.0 访问令牌。
如需了解此示例中使用的 c网址 选项,请参阅 使用 c网址。
获取到期提醒
默认情况下,Get Alerts API 将返回所有定义的提醒(包括固定提醒和到期提醒)的相关信息。此 API 现在接受查询参数,可用于过滤结果:
enabled- 如果true指定仅返回已启用的提醒。默认值为false。alertType- 指定要返回的提醒类型。允许的值为runtime(默认值)和cert。alertSubType- 指定要返回的提醒子类型。未设置默认值, 表示返回所有提醒子类型。指定certfixed以返回到期提醒。
例如,使用以下 API 调用仅返回名为 myorg 的组织的已启用提醒:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ 'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&enabled=true'
以下调用仅返回到期提醒,包括已启用和已停用的提醒:
curl -H "Authorization: Bearer $ACCESS_TOKEN" \ 'https://apimonitoring.enterprise.apigee.com/alerts?org=myorg&alertType=cert&alertSubType=certfixed'
按照
获取 OAuth 2.0 访问令牌中的说明,将 $ACCESS_TOKEN 设置为您的 OAuth 2.0 访问令牌。
如需了解此示例中使用的 c网址 选项,请参阅 使用 c网址。