以私密方式续订证书 PKI - AWS Certification

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以私密方式续订证书 PKI

ACM由私有 CA 签名的证书 AWS 私有 CA 有资格进行托管续订。与公开信任ACM的证书不同,私有证书PKI不需要验证。当管理员在客户端信任存储区中安装相应的根 CA 证书时,就会建立信任。

注意

只有通过ACM控制台或的RequestCertificate操作获得的证书才ACMAPI有资格进行托管续订。 AWS 私有 CA 使用IssueCertificate操作直接颁发的证书 AWS 私有 CA API不由管理ACM。

当托管证书距离到期还有 60 天时,ACM会自动尝试续订该证书。这包括手动导出和安装的证书(例如,在本地数据中心中)。客户还可以随时通过的RenewCertificate操作强制续订ACMAPI。有关强制续订的 Java 实现示例,请参阅 续订证书

续订后,证书部署到服务的方式有如下几种:

  • 如果证书与ACM集成服务相关联,新证书将取代旧证书,无需客户采取其他行动。

  • 如果证书与ACM集成服务关联,则需要客户执行操作才能导出并安装续订的证书。您可以手动执行这些操作,也可以在 AmazonAWS Health帮助下执行这些操作 EventBridge,AWS Lambda如下所示。有关更多信息,请参阅自动导出已续订的证书

自动导出已续订的证书

以下过程提供了在ACM续订私有PKI证书时自动导出私有证书的示例解决方案。此示例仅导出证书及其私钥ACM;导出后,证书仍必须安装在其目标设备上。

使用控制台自动导出证书
  1. 按照 AWS Lambda 开发者指南中的步骤,创建和配置一个调用导出的 Lambda 函数。ACM API

    1. 创建一个 Lambda 函数

    2. 为您的函数创建一个 Lambda 执行角色并添加以下信任策略。该策略允许函数中的代码通过调用ExportCertificate操作来检索续订的证书和私钥ACMAPI。

      { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"acm:ExportCertificate", "Resource":"*" } ] }
  2. 在 Amazon 中创建规则 EventBridge以监听ACM运行状况事件,并在检测到健康事件时调用您的 Lambda 函数。ACM每次尝试续订证书时都会写入 AWS Health 事件。有关这些通知的更多信息,请参阅 使用 Personal Health Dashboard 查看状态 (PHD)

    通过添加以下事件模式来配置规则。

    { "source":[ "aws.health" ], "detail-type":[ "AWS Health Event" ], "detail":{ "service":[ "ACM" ], "eventTypeCategory":[ "scheduledChange" ], "eventTypeCode":[ "AWS_ACM_RENEWAL_STATE_CHANGE" ] }, "resources":[ "arn:aws:acm:region:account:certificate/certificate_ID" ] }
  3. 通过在目标系统上手动安装证书来完成续订过程。

测试私有PKI证书的托管续期

您可以使用ACMAPI或 AWS CLI 手动测试ACM托管续订工作流程的配置。这样,您就可以确认您的证书将在到期ACM之前自动续订。

注意

您只能测试由颁发和导出的证书的续订 AWS 私有 CA。

当您使用下述API操作或CLI命令时,ACM会尝试续订证书。如果续订成功,则ACM更新管理控制台或API输出中显示的证书元数据。如果证书与ACM集成服务关联,则会部署新证书,并在 Amazon Events 中生成续订 CloudWatch 事件。如果续订失败,则会ACM返回错误并建议采取补救措施。(您可以使用 describe-certificate 命令查看此信息。) 如果证书不是通过集成服务部署的,您仍然需要将其导出并手动将其安装到资源上。

重要

要使用续订 AWS 私有 CA 证书ACM,必须先向ACM服务主体授予执行此操作的权限。有关更多信息,请参阅向分配证书续订权限ACM

手动测试证书续订 (AWS CLI)
  1. 使用 renew-certificate 证书续订导出的私有证书。

    aws acm renew-certificate \ --certificate-arn arn:aws:acm:region:account:certificate/certificate_ID
  2. 然后,使用 describe-certificate 命令确认已更新该证书的续订详细信息。

    aws acm describe-certificate \ --certificate-arn arn:aws:acm:region:account:certificate/certificate_ID
手动测试证书续订 (ACMAPI)