跳至内容

如何在 ACM 证书临近续订时收到通知?

3 分钟阅读
0

我有一个存储在 AWS Certificate Manager (ACM) 中的证书。我想知道 ACM 什么时候会续订这个证书。

简短描述

要设置 ACM 证书续订通知,请先检查证书是否符合自动续订的资格。然后,采取以下一项或多项操作:

  • 估算证书的续订日期
  • 在续订之前配置提前通知
  • 配置有关续订失败的通知

解决方法

检查您的证书是否符合自动续订的资格

完成以下步骤:

  1. 在证书的 AWS 区域中打开 ACM 控制台
  2. 选择 List certificates(列出证书)。
  3. 选择您的证书 ID,然后打开证书的 Details(详细信息)页面。
  4. 对于 Certificate status(证书状态),请验证 Type(类型)是 Amazon Issued(Amazon 颁发)还是 Private(私有)。
    **注意:**如果 Type(类型)为 Imported(导入),则该证书不符合 ACM 托管式续订的资格。要为此类证书设置通知,请参阅如何在 ACM 导入的证书临近到期时收到通知?
  5. 对于 Details(详细信息),请检查 Renewal eligibility(续订资格)是 Eligible(符合资格)还是 Ineligible(不符合资格)。

有关不符合托管式续订资格的证书的信息,请参阅 ACM 证书的托管式续订。对于不符合托管式续订资格的证书,请检查它是否和与 ACM 集成的 AWS 服务资源相关联。对于 ACM 颁发的私有证书,请将该证书关联到与 ACM 集成的资源,或使用 ExportCertificate API 将其导出。对于 ACM 颁发的公共证书,请将该证书关联到与 ACM 集成的资源。

估算证书的续订日期

完成以下步骤:

  1. 在证书的 Details(详细信息)页面上,记下Not after(终止日期)值,即证书的到期日期。
  2. 对于 Domains(域),请验证证书的验证方法:
    如果 Domains(域)是 Registered owners(注册所有者),则它是通过电子邮件验证的证书。ACM 会在到期日期前 45 天发送电子邮件通知,其中包括续订证书所必须采取的操作。如果您不采取行动,则证书将过期,不再符合续订资格。
    如果 Domains(域)是 CNAME name(CNAME 名称)和 CNAME value(CNAME 值),则它是经过 DNS 验证的证书,会在到期前 60 天自动续订。
    如果 Domains(域)不是上述任一值,则检查 CA(Certificate Authority,证书颁发机构)。如果它有 Amazon 资源名称 (ARN),则它是来自 AWS Private Certificate Authority 的私有证书,会在到期前 60 天自动续订。私有证书不需要域验证。相反,ACM 需要 AWS Private CA 权限才能进行托管式续订。有关更多信息,请参阅向 ACM 分配证书续订权限
  3. 对于经过电子邮件验证的证书,请计算证书到期前 45 天的日期。对于经过 DNS 验证的私有证书,请计算证书到期前 60 天的日期。

在续订之前配置提前通知

要在自动续订 45 或 60 天之前收到续订通知,请运行 acm-certificate-expiration-check 或使用 DaysToExpiry 指标和 Amazon CloudWatch 警报

**注意:**acm-certificate-expiration-check 规则会检查您创建该规则的区域中的所有证书。它使用 daysToExpiration 的常用值。要监控和接收特定证书的通知,请改用 DaystoExpiry 和 CloudWatch 警报。

运行 acm-certificate-expiration-check

完成以下步骤:

  1. 打开 AWS CloudFormation 控制台
  2. 选择 Create stack(创建堆栈)。
  3. 选择 Choose an existing template(选择现有模板)。
  4. 对于 Amazon S3 URL,请输入 http://s3.amazonaws.com/aws-configservice-us-east-1/cloudformation-templates-for-managed-rules/ACM_CERTIFICATE_EXPIRATION_CHECK.template。
  5. 选择 Next(下一步)。
  6. 输入 Stack name(堆栈名称),然后对于 daysToExpiration,请输入您希望在到期前多少天收到通知。
  7. 选择 Next(下一步)。
  8. 确认配置设置,然后选择 Next(下一步)。
  9. 选择 Submit(提交)。
  10. 验证堆栈的 Status(状态)是否为 CREATE_COMPLETE
  11. 打开 Amazon EventBridge 控制台
  12. 选择 Create rule(创建规则)。
  13. 对于 Name(名称),请输入规则名称。
  14. 对于 Description(描述),请输入规则描述。
  15. 选择 Next(下一步)。
  16. 对于 Event pattern(事件模式),请配置以下设置:
    对于 Event source(事件源),请选择 AWS services(AWS 服务)。
    对于 AWS service(AWS 服务),请选择 Config(配置)。
    对于 Event type(事件类型),请选择 Config Rules Compliance Change(配置规则合规性更改)。
    对于 Event Type Specification 1(事件类型规范 1),请输入 ComplianceChangeNotification
    对于 Event Type Specification 2(事件类型规范 2),请输入规则名称。
    **注意:**CloudFormation 模板的默认配置规则名称是 acm-certificate-expiration-check
  17. 选择 Next(下一步)。
  18. 对于 Select target(s)(选择目标),请选择您的首选通知目标,例如: AWS 服务中的 SNS 主题
  19. 选择 Next(下一步)。
  20. 验证配置设置,然后选择 Create rule(创建规则)。

EventBridge 规则示例:

{  
  "source": ["aws.config"],  
  "detail-type": ["Config Rules Compliance Change"],  
  "detail": {  
    "messageType": ["ComplianceChangeNotification"],  
    "configRuleName": ["acm-certificate-expiration-check"]  
  }  
}

使用 DaysToExpiry 和 CloudWatch 警报

完成以下步骤:

  1. 打开 CloudWatch 控制台
  2. 对于 Alarms(警报),请选择 All alarms(所有警报)。
  3. 选择 Select metric(选择指标)。
  4. 在搜索框中,输入 DaysToExpiry 和您的证书的 ARN。
  5. 在搜索结果中,选择 CertificateManager > Certificate Metrics(CertificateManager > 证书指标)。
  6. 为您的证书选择 DaysToExpiry
  7. 选择 Select metric(选择指标)。
  8. Specify metric and conditions(指定指标和条件)下,对于 Statistics(统计数据),请选择 Maximum(最大值)。
  9. 对于 Conditions(条件),请选择 Lower/Equal(小于/等于)。
  10. 对于 than(比较),请输入您希望在到期前多少天收到通知。
  11. 选择 Next(下一步)。
  12. 对于 Configure actions(配置操作),请为您的用例选择选项。
  13. 选择 Next(下一步)。
  14. 对于 Add name and description(添加名称和描述),请输入警报的名称,然后选择 Next(下一步)。
  15. 确认配置设置,然后选择 Create alarm(创建警报)。

配置有关续订失败的通知

在 ACM 调用 ACM Certificate Approaching Expiration 事件时,使用 EventBridge 规则来发送通知。

完成以下步骤:

  1. 打开 EventBridge 控制台

  2. 选择 Create rule(创建规则)。

  3. 对于 Name(名称),请输入规则名称。

  4. 对于 Description(描述),请输入规则描述。

  5. 选择 Next(下一步)。

  6. Event pattern(事件模式)下,选择 Edit pattern(编辑模式)。

  7. 输入以下事件模式:

    {
      "source": ["aws.acm"],
      "resources": ["arn:aws:acm:region:account:certificate/CERTIFICATE_ID"],
      "detail-type": ["ACM Certificate Approaching Expiration"]
    }

    **注意:**将 region 替换为您的区域,将 account 替换为您的 AWS 账户,将 CERTIFICATE_ID 替换为您的证书 ID。

  8. 选择 Next(下一步)。

  9. 对于 Select target(s)(选择目标),请选择您的首选通知目标,例如: AWS 服务中的 SNS 主题

  10. 选择 Next(下一步)。

  11. 确认配置设置,然后选择 Create rule(创建规则)。

相关信息

处理托管式证书续订中的失败情况

监控和记录 AWS Certificate Manager

Amazon Simple Notification Service (Amazon SNS) 入门

Amazon EventBridge 对 ACM 的支持

AWS 官方已更新 2 年前