我更新了 AWS Certificate Manager (ACM) Private Certificate Authority (CA) 以設定憑證撤銷清單 (CRL)。但收到了類似以下內容的錯誤:
"The ACM Private CA Service Principal 'acm-pca.amazonaws.com' requires 's3:GetBucketAcl' permissions." (ACM Private CA Service Principal 'acm-pca.amazonaws.com' 需要 's3:GetBucketAcl' 許可。)
如何解決此錯誤?
簡短描述
ACM Private CA 將 CRL 置於您指定要使用的 Amazon Simple Storage Service (Amazon S3) 儲存貯體中。您的 Amazon S3 儲存貯體必須由連接的許可政策提供保護。授權的使用者和服務主體需要 Put 許可,才能允許 ACM Private CA 將物件置於儲存貯體,以及 Get 許可才能進行擷取。
如需詳細資訊,請參閱 Amazon S3 中 CRL 存取政策。
解決方案
請遵循這些指示,以下列較不寬鬆的政策取代預設的 Amazon S3 政策。
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新的 AWS CLI 版本。
1. 開啟 Amazon S3 主控台。
2. 從儲存貯體清單中,開啟您要放置 CRL 的儲存貯體。
3. 選擇 Permissions (許可) 標籤。
4. 在 Bucket policy (儲存貯體政策) 中,選擇 Edit (編輯)。
5. 在 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。
6. 選擇 Save changes (儲存變更)。
7. 遵循指示對 CRL 進行加密。
8. 使用類似下列內容的 AWS CLI 命令 update-certificate-authority 來更新 CA 撤銷組態:
$ aws acm-pca update-certificate-authority --certificate-authority-arn <Certification_Auhtority_ARN> --revocation-configuration file://revoke_config.txt
revoke_config.txt 檔案包含類似下列內容的撤銷資訊:
{
"CrlConfiguration": {
"Enabled": <true>,
"ExpirationInDays": <7>,
"CustomCname": "<example1234.cloudfront.net>",
"S3BucketName": "<example-test-crl-bucket-us-east-1>",
"S3ObjectAcl": "<BUCKET_OWNER_FULL_CONTROL>"
}
}
注意:
- 如果您已停用 Amazon S3 中的 Block Public Access (BPA) 功能,則可指定 BUCKET_OWNER_FULL_CONTROL 或 PUBLIC_READ 來作為該值。
- 如果您使用 AWS 管理主控台設定 CRL,則可能會收到 "ValidationException" 錯誤。重複步驟 8,以使用 AWS CLI 更新 CA 撤銷組態。
相關資訊
啟用 S3 Block Public Access (BPA) 功能
Amazon S3 安全最佳實務
GetBucketAcl