创建amazon s3 bucket时,是否可以设置自动写入bucket的策略?

When creating an amazon s3 bucket, is it possible to set a policy to be automatically written into the bucket?

我有一个策略需要附加到每个创建的新 S3 存储桶,每次在代码中使用新存储桶名称重写它很麻烦。有没有办法根据bucket的名字自动动态写bucket policy?

一个好的解决方案是为 CreateBucket 事件创建一个 CloudWatch 事件,下面是一个示例事件语法。

{
  "source": [
    "aws.s3"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "s3.amazonaws.com"
    ],
    "eventName": [
      "CreateBucket"
    ]
  }
}

向 Lambda 函数的此事件添加一个触发器,将开发该 Lambda 函数以将存储桶策略应用于 S3 存储桶(您添加传递到 Lambda 函数事件的存储桶名称)。

您需要为 S3 存储桶启用 CloudTrail 日志记录 API 调用才能允许此操作。