如何使用云编队模板在S3存储桶上设置SSE-S3或SSE-KMS加密?

Jay*_*arr 21 encryption amazon-s3 amazon-web-services aws-cloudformation

我正在尝试使用CloudFormation模板在AWS中启动S3 Bucket.该项目的一个要求是对存储桶进行加密.我一直试图通过CloudFormation模板找到一种方法来设置它(我已经阅读了所有可以获得SSE-S3,KMS,CFT和S3s的文档......).但所有迹象似乎都指向它只能通过控制台获得.

我担心我只是遗漏了一些明显的东西,我想知道是否有人知道如何使用CloudFormation模板(或至少是自动化的东西)将S3 Bucket的默认加密设置为SSE-S3或SSE-KMS?

kic*_*hik 27

AWS 于2018年1月24日添加了此功能:

使用BucketEncryption属性为使用服务器端加密的存储桶指定默认加密,使用Amazon S3管理的密钥SSE-S3或AWS KMS管理的密钥(SSE-KMS)存储桶.

JSON

{
  "Resources": {
    "MyBucket": {
      "Type" : "AWS::S3::Bucket",
      "Properties" : {
        "BucketEncryption": {
          "ServerSideEncryptionConfiguration": [
            {
              "ServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
              }
            }
          ]
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

YAML

Resources:
  MyBucket:
    Type: "AWS::S3::Bucket"
    Properties: 
      BucketEncryption: 
        ServerSideEncryptionConfiguration: 
        - ServerSideEncryptionByDefault:
            SSEAlgorithm: AES256
Run Code Online (Sandbox Code Playgroud)

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3 -bucket-bucketencryption.html


Upu*_*era 8

如果您有特定的 KMS 密钥,请使用以下内容

  ConfigBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: "mytestbucketwithkmsencryptionkey"
      AccessControl: PublicRead
      BucketEncryption: 
        ServerSideEncryptionConfiguration: 
        - ServerSideEncryptionByDefault:
            SSEAlgorithm: aws:kms
            KMSMasterKeyID: "YOUR KMS KEY ARN"     
Run Code Online (Sandbox Code Playgroud)

  • 您能否更新此内容以显示如何生成 KMSMasterKey,然后仅需要该密钥用于存储桶。 (2认同)