我正試著建立 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。
相關資訊
規劃憑證撤銷清單 (CRL)
如何安全地建立和儲存 ACM Private CA 的 CRL
Amazon S3 安全最佳實務
ACM Private CA 最佳實務