【问题标题】:CloudFormation template to set S3 bucket default encryption [duplicate]CloudFormation 模板设置 S3 存储桶默认加密 [重复]
【发布时间】:2018-04-22 19:35:48
【问题描述】:

S3 现在支持在单个对象 PUT 请求不包含特定加密标头时默认应用加密。

如何在 CloudFormation 模板期间将其设置为存储桶创建的一部分?我为此找到了API call,但如果它可以作为 CloudFormation 中的属性而不是单独的步骤提供,那就太好了。

到目前为止,我看到的唯一选项是

  • 在创建存储桶后进行单独的 API/客户端调用
  • 使用旧的存储桶策略方式拒绝未加密的请求,可以通过 CloudFormation S3::BucketPolicy 资源提供

【问题讨论】:

  • 我敢打赌 CloudFormation 很快就会添加这个新功能。
  • @wrschneider 将您提到的 S3::BucketPolicy 添加到创建存储桶的 cloudformation 模板有什么问题?您是否有不想使用这种方法的原因?
  • 因为存储桶策略不加密任何内容 - 单个请求仍然必须指定加密。它只是拒绝未指定加密的 PUT 请求。
  • @wrschneider 啊哈。我误解了你的问题。您希望将默认加密应用于存储桶并通过 CF 定义它,而不是强制客户端应用加密。

标签: amazon-web-services amazon-s3 amazon-cloudformation


【解决方案1】:

显然从上周五到今天之间的某个时间,他们终于在 CloudFormation 的 S3 存储桶中添加了 BucketEncryption 属性,允许您启用此默认加密。

【讨论】:

    【解决方案2】:

    jarmod 是对的,Cloudformation 在实施新功能方面通常落后。

    同时,您可以使用 lambda 函数来响应 CreateBucket 事件对存储桶执行 put_bucket_encryption (boto3)。

    这将使用您建议的第一个选项,但您不需要记住进行单独的 api 调用。

    【讨论】:

    • lambda 的问题是 Lambda 上的 botocore 版本还不支持 put_bucket_encryption 调用。
    • 这是对的,但是你可以用函数打包新的botocore版本
    猜你喜欢
    • 2021-01-08
    • 2017-01-28
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 2023-04-11
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多