如何為我的 ACM PCA 建立憑證撤銷清單 (CRL)?

上次更新日期:2022 年 6 月 20 日

我正試著建立 AWS Certificate Manager (ACM) Private Certificate Authority (CA) 的憑證撤銷清單 (CRL)。該如何進行?

簡短描述

ACM Private CA 將 CRL 置於您指定要使用的 Amazon Simple Storage Service (Amazon S3) 儲存貯體中。您的 Amazon S3 儲存貯體必須由連接的許可政策提供保護。授權的使用者和服務主體需要 Put 許可,才能允許 ACM Private CA 將物件置於儲存貯體,以及 Get 許可才能進行擷取。

如需詳細資訊,請參閱 Amazon S3 中 CRL 存取政策

解決方案

請依照下列指示建立 Amazon S3 儲存貯體、Amazon CloudFront 分佈,並設定 CRL 的 CA。

注意:

步驟 1:建立新的 Amazon S3 儲存貯體並啟用 BPA 設定

1.    開啟 Amazon S3 主控台,然後選擇 Create bucket (建立儲存貯體)。

2.    於 Bucket name (儲存貯體名稱) 中,輸入儲存貯體的名稱。

3.    於 Object Ownership (物件擁有權) 中,選擇 ACLs enabled (已啟用 ACL),然後選擇 Create bucket (建立儲存貯體)。

4.    於 Buckets (儲存貯體) 中,選擇您於 步驟 3 中建立的儲存貯體。

5.    選擇 Permissions (許可) 標籤。

6.    在 Bucket policy (儲存貯體政策) 中,選擇 Edit (編輯)。

7.    在 Policy (政策) 中,複製並貼上以下政策:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "acm-pca.amazonaws.com"
      },
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::your-crl-storage-bucket/*",
        "arn:aws:s3:::your-crl-storage-bucket"
      ],
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "account",
          "aws:SourceArn": "arn:partition:acm-pca:region:account:certificate-authority/CA_ID"
        }
      }
    }
  ]
}

注意:用您的變數取代 S3 儲存貯體名稱、帳戶 ID 和 ACM PCA ARN。

8.    選擇 Save changes (儲存變更)。

如需詳細資訊,請參閱建立儲存貯體

步驟 2:建立 CloudFront 分佈

1.    開啟 CloudFront console (CloudFront 主控台),然後選擇 Create Distribution (建立分佈)。

2.    於 Origin domain (原始網域) 中,輸入您於先前步驟中建立的儲存貯體名稱。

3.    於 S3 bucket access (S3 儲存貯體存取) 中,選擇 Yes use OAI (bucket can restrict access to only CloudFront) (是,使用 OAI (儲存貯體可以限制為僅存取 CloudFront))。

4.    於 Origin access identity (原始存取身分) 中,選擇 Create new OAI (建立新的 OAI),然後選擇 Create (建立)。

5.    選擇 Create Distribution (建立分佈)。

如需詳細資訊,請參閱建立分佈

步驟 3:使用 CRL 設定您的 CA

1.    使用類似下列內容的 AWS CLI 命令 create-certificate-authority 建立 CA:

$ aws acm-pca create-certificate-authority --certificate-authority-configuration "KeyAlgorithm=RSA_2048,SigningAlgorithm=SHA256WITHRSA,Subject={CommonName=s3-bpa}" --certificate-authority-type "ROOT" --revocation-configuration "CrlConfiguration={Enabled=true,S3BucketName=examplebucket,ExpirationInDays=7,S3ObjectAcl=BUCKET_OWNER_FULL_CONTROL}" --region us-east-1

revoke_config.txt 檔案包含與下列內容相類似的撤銷資訊:

{
  "CrlConfiguration": {
    "Enabled": true,
    "ExpirationInDays": integer,
    "S3BucketName": "string",
    "S3ObjectAcl": "BUCKET_OWNER_FULL_CONTROL"
  }
}

注意:若您使用 AWS 管理主控台設定 CRL,則可能會收到 "ValidationException" 錯誤。重複步驟 1,使用 AWS CLI 更新 CA 撤銷組態

(選用) 步驟 4:加密您的 CRL

您可於包含 CRL 的 Amazon S3 儲存貯體上設定自動或自訂加密。如需相關指示,請參閱 加密 CRL