【问题标题】:Require KMS encryption with specific key ID in S3 bucket policy要求在 S3 存储桶策略中使用特定密钥 ID 进行 KMS 加密
【发布时间】:2017-04-27 23:59:26
【问题描述】:

我试图要求放入存储桶的所有对象都使用特定的 KMS 密钥进行加密。我设法要求 KMS 加密,但密钥规范不起作用。这是我目前的政策(没有真实的存储桶名称和 ID):

{
    "Version": "2012-10-17",
    "Id": "PutObjPolicy",
    "Statement": [
        {
            "Sid": "DenyInsecureCommunications",
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::bucket1,
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "false"
                }
            }
        },
        {
            "Sid": "DenyIncorrectEncryptionHeader",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::bucket1/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-server-side-encryption": "aws:kms",
                    "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:eu-central-1:123456789:key/12345-123-notmy-keyid-1234566"
                }
            }
        },

        {
            "Sid": "DenyUnEncryptedObjectUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::bucket1/*",
            "Condition": {
                "Null": {
                    "s3:x-amz-server-side-encryption": "true"
                }
            }
        }
    ]
}

这正确地拒绝了没有指定任何服务器端加密的上传,但它仍然允许使用默认的 s3 密钥。

【问题讨论】:

    标签: amazon-web-services encryption amazon-s3 aws-kms


    【解决方案1】:

    如果有多个条件运算符,或者有多个键附加到单个条件运算符,则使用逻辑 AND 评估条件。

    http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition

    这表明双条件策略仅在 两个 字符串不相等时才会拒绝(即,如果不使用加密 并且 key-id 是错误)。

    分离测试 s3:x-amz-server-side-encryptions3:x-amz-server-side-encryption-aws-kms-key-id 分成两个单独的 Deny 策略语句应该是解决方法。

    【讨论】:

      猜你喜欢
      • 2019-11-10
      • 2018-11-01
      • 2018-10-20
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 2022-10-07
      • 2013-06-20
      • 1970-01-01
      相关资源
      最近更新 更多