

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

# 亚马逊对 ACM 的 EventBridge 支持
<a name="supported-events"></a>

本主题列出并描述了 Amazon EventBridge 支持的 ACM 相关事件。

## “ACM 证书即将到期”事件
<a name="expiration-approaching-event"></a>

ACM 每天都会发送所有有效证书（公有、私有和导入）的到期事件，证书的到期前 45 天开始，公共 private/imported 证书的到期前 30 天开始。可以使用 ACM API 的[PutAccountConfiguration](https://docs.aws.amazon.com/acm/latest/APIReference/API_PutAccountConfiguration.html)操作来更改此时间。

ACM 会为由其颁发的符合条件的证书自动启动续订，但导入的证书需要在过期之前重新颁发并重新导入 ACM，以避免发生中断。有关更多信息，请参阅[重新导入证书](https://docs.aws.amazon.com/acm/latest/userguide/import-reimport.html#reimport-certificate-api)。您可以使用过期事件来设置自动化以将证书重新导入 ACM。有关使用自动化的示例 AWS Lambda，请参阅[EventBridge 在 ACM 中向亚马逊发起行动](example-actions.md)。

*ACM 证书即将到期*事件具有以下结构。

```
{
  "version": "0",
  "id": "id",
  "detail-type": "ACM Certificate Approaching Expiration",
  "source": "aws.acm",
  "account": "account",
  "time": "2020-09-30T06:51:08Z",
  "region": "region",
  "resources": [
    "arn:aws:acm:region:account:certificate/certificate_ID"
  ],
  "detail": {
    "DaysToExpiry": 31,
    "CommonName": "example.com"
  }
}
```

## “ACM 证书已过期”事件
<a name="expired-event"></a>

**注意**  
“证书已过期”事件不适用于[导入的证书](import-certificate.md)。

客户可以侦听此事件，以便在其账户中 ACM 颁发的公有或私有证书过期时收到提醒。

*ACM 证书已过期*事件具有以下结构。

```
{
    "version": "0",
    "id": "id", 
    "detail-type": "ACM Certificate Expired",
    "source": "aws.acm",
    "account": "account",
    "time": "2019-12-22T18:43:48Z",
    "region": "region",
    "resources": [
        "arn:aws:acm:region:account:certificate/certificate_ID"
     ],
     "detail": {   
        "CertificateType" : "AMAZON_ISSUED" | "PRIVATE",    
        "CommonName": "example.com",     
        "DomainValidationMethod" : "EMAIL" | "DNS",    
        "CertificateCreatedDate" : "2018-12-22T18:43:48Z",
        "CertificateExpirationDate" : "2019-12-22T18:43:48Z",
        "InUse" : TRUE | FALSE,    
        "Exported" : TRUE | FALSE
    }
 }
```

## “ACM 证书可用”活动
<a name="available-event"></a>

客户可以侦听此事件，以便在托管的公有或私有证书准备就绪时收到通知。该事件将在颁发、续订和导入时发布。对于私有证书，一旦它可用，仍然需要客户操作才能将其部署到主机。

*ACM 证书可用*事件具有以下结构。

```
{
    "version": "0",
    "id": "id", 
    "detail-type": "ACM Certificate Available",
    "source": "aws.acm",
    "account": "account",
    "time": "2019-12-22T18:43:48Z",
    "region": "region",
    "resources": [
        "arn:aws:acm:region:account:certificate/certificate_ID"
    ],
    "detail": {
       “Action” : "ISSUANCE" | "RENEWAL" | "IMPORT" | "REIMPORT",
       "CertificateType" : "AMAZON_ISSUED" | "PRIVATE" | "IMPORTED",    
       "CommonName": "example.com",     
       "DomainValidationMethod" : "EMAIL" | "DNS",    
       "CertificateCreatedDate" : "2019-12-22T18:43:48Z",
       "CertificateExpirationDate" : "2019-12-22T18:43:48Z",
       "DaysToExpiry" : 198,
       "InUse" : TRUE | FALSE,    
       "Exported" : TRUE | FALSE     
     }
}
```

## “ACM 证书需要续订操作”事件
<a name="renewal-required-event"></a>

**注意**  
“需要执行证书续订操作”事件不适用于[导入的证书](import-certificate.md)。

客户可以侦听此事件，以便在必须采取客户操作后才能续订证书时收到提醒。例如，如果客户添加了阻止 ACM 续订证书的 CAA 记录，则当私有证书到期前 45 天和公共证书到期前 30 天自动续订失败时，ACM 会发布此事件。如果客户未采取任何行动，ACM 会在 30 天（仅限私人）、15 天、3 天和 1 天后再次尝试续订，或者直到客户采取行动，证书过期或证书不再符合续订资格。每次续订尝试都会发布一个事件。

*ACM 证书需要续订操作*事件具有以下结构。

```
{
   "version": "0",
   "id": "id", 
   "detail-type": "ACM Certificate Renewal Action Required",
   "source": "aws.acm",
   "account": "account",
   "time": "2019-12-22T18:43:48Z",
   "region": "region",
   "resources": [
       "arn:aws:acm:region:account:certificate/certificate_ID"
    ],
    "detail": {   
       "CertificateType" : "AMAZON_ISSUED" | "PRIVATE",   
       "CommonName": "example.com",    
       "DomainValidationMethod" : "EMAIL" | "DNS",   
       "RenewalStatusReason" : "CAA_ERROR" | "PENDING_DOMAIN_VALIDATION" | "NO_AVAILABLE_CONTACTS" | "ADDITIONAL_VERIFICATION_REQUIRED" | "DOMAIN_NOT_ALLOWED" | "INVALID_PUBLIC_DOMAIN" | "DOMAIN_VALIDATION_DENIED" | "PCA_LIMIT_EXCEEDED" | "PCA_INVALID_ARN" | "PCA_INVALID_STATE" | "PCA_REQUEST_FAILED" | "PCA_NAME_CONSTRAINTS_VALIDATION" | "PCA_RESOURCE_NOT_FOUND" | "PCA_INVALID_ARGS" | "PCA_INVALID_DURATION" | "PCA_ACCESS_DENIED" | "SLR_NOT_FOUND" | "OTHER",
       "DaysToExpiry": 30, 
       "CertificateExpirationDate" : "2019-12-22T18:43:48Z",
       "InUse" : TRUE | FALSE,        
       "Exported" : TRUE | FALSE
   }
}
```

## “ACM 证书已吊销”事件
<a name="revoked-event"></a>

客户可以侦听此事件，以便在其账户中 ACM 颁发的公有或私有证书吊销时收到提醒。

**注意**  
只能吊销导出的证书。无法通过 revoke-certificate 吊销导入的证书。

*ACM 证书已吊销*事件具有以下结构。

```
{
  "version": "0",
  "id": "id",
  "detail-type": "ACM Certificate Revoked",
  "source": "aws.acm",
  "account": "account",
  "time": "2019-12-22T18:43:48Z",
  "region": "region",
 "resources": [
        "arn:aws:acm:region:account:certificate/certificate_ID"
     ],
  "detail": {
    "CertificateType" : "AMAZON_ISSUED" | "PRIVATE", 
    "CommonName": "example.com",
    "CertificateExpirationDate" : "2019-12-22T18:43:48Z",
    "Exportable": TRUE | FALSE
  }
}
```

## AWS 健康事件
<a name="health-event"></a>

AWS 系统会为符合续订条件的 ACM 证书生成运行状况事件。有关续订资格的信息，请参阅[中的托管证书续订 AWS Certificate Manager](managed-renewal.md)。

系统会在两种情况下生成运行状况事件：
+ 成功续订公有或私有证书时。
+ 何时客户必须完成操作后才能成功续订。这可能意味着需要点击电子邮件中的链接（用于通过电子邮件进行验证的证书），或者解决某个错误。每个事件都包含以下事件类型代码中的一个。这些代码以变量的形式公开，供您用于筛选。
  + `AWS_ACM_RENEWAL_STATE_CHANGE`（证书已续订、已过期或即将过期）
  + `CAA_CHECK_FAILURE`（CAA 检查失败）
  + `AWS_ACM_RENEWAL_FAILURE`（由私有 CA 签名的证书）

运行状况事件具有如下结构。在此示例中，`AWS_ACM_RENEWAL_STATE_CHANGE` 事件已生成。

```
{
   "source":[
      "aws.health"
   ],
   "detail-type":[
      "AWS Health Event"
   ],
   "detail":{
      "service":[
         "ACM"
      ],
      "eventTypeCategory":[
         "scheduledChange"
      ],
      "eventTypeCode":[
         "AWS_ACM_RENEWAL_STATE_CHANGE"
      ]
   }
}
```