如何"sam package"使用AES256加密?

How to "sam package" using AES256 encryption?

来自 here 我看到语法:

sam package \
    --template-file /path_to_template/template.yaml \
    --s3-bucket bucket-name \
    --s3-prefix appname/branchname/version
    --output-template-file packaged-template.yaml

   aws cloudformation package \
    --template-file /path_to_template/template.yaml \
    --s3-bucket bucket-name \
    --s3-prefix appname/branchname/version
    --output-template-file packaged-template.yaml

但 s3 策略强制客户端提及服务器端加密算法 AES256

 aws s3 cp file s3://some-bucket --sse AES256

sam package 加密工件的语法是什么?

无需在调用中指定 --sse AES256。 SAM (CloudFormation) package 命令自动发送 x-amz-server-side-encryption: AES256 header 因此,如果您的存储桶需要 s3:putObject 的默认 S3 加密(拒绝基于以下条件的放置请求)

"Condition": {
  "StringNotEquals": {
    "s3:x-amz-server-side-encryption": "AES256"
  }
}

那么这个要求就隐式满足了。如果您的存储桶策略需要使用特定的 KMS 密钥,那么您可以通过可选标志传递 KMS 密钥 ID:--kms-key-id <value>