如何解决使用 ACM 私有 CA 配置证书撤销列表 (CRL) 时出现的 S3 存储桶权限问题?

上次更新时间:2019 年 8 月 5 日

我尝试按照创建私有 CA 的说明将证书撤销列表 (CRL) 创建到 Amazon Simple Storage Service (Amazon S3) 存储桶中。但我收到了与以下内容类似的错误消息:

“调用 CreateCertificateAuthority 操作时发生错误 (ValidationException):ACM 私有 CA 服务委托人 'acm-pca.amazonaws.com' 要求具有 S3 存储桶 '[bucket]' 的 's3:PutObject' 和 's3:PutObjectAcl' 权限。请检查您的 S3 存储桶权限,然后重试。”  

解决方法

AWS Certificate Manager (ACM) 私有 CA CRL 不支持 S3 设置“阻止对通过新访问控制列表 (ACL) 授予的存储桶和对象的公共访问”。您必须用 S3 账户和存储桶禁用此设置,从而允许 ACM 私有 CA 写入 CRL。

在您的账户中禁用“阻止对通过新访问控制列表 (ACL) 授予的存储桶和对象的公共访问”

  1. 登录 Amazon S3 控制台
  2. 选择阻止公共访问(账户设置),然后选择编辑
  3. 取消选中阻止对通过新访问控制列表 (ACL) 授予的存储桶和对象的公共访问,然后选择保存
  4. 确认字段中,输入“confirm”,然后选择确认

在用于 CRL 的 S3 存储桶中禁用“阻止对通过新访问控制列表 (ACL) 授予的存储桶和对象的公共访问”

  1. 登录 Amazon S3 控制台
  2. 存储桶名称中,选择您在 ACM PCA 中配置 CRL 时所用的存储桶名称。
  3. 选择权限,然后选择编辑
  4. 取消选中阻止对通过新访问控制列表 (ACL) 授予的存储桶和对象的公共访问,然后选择保存
  5. 确认字段中,输入“confirm”,然后选择确认