跳至内容

我应该使用什么样的 S3 存储桶策略才能符合 s3-bucket-ssl-requests-only AWS Config 规则?

1 分钟阅读
0

我为 Amazon Simple Storage Service (Amazon S3) 存储桶策略激活了 s3-bucket-ssl-requests-only AWS Config 规则,以要求在数据传输期间进行加密。我想确保我的存储桶策略符合此规则。

解决方法

Amazon S3 同时允许 HTTP 和 HTTPS 请求。默认情况下,Amazon S3 通过 AWS 管理控制台、AWS 命令行界面(AWS CLI)或 HTTPS 发出请求。

为符合 s3-bucket-ssl-requests-only 规则,请确认您的存储桶策略显式拒绝 HTTP 请求的访问。允许 HTTPS 请求但没有显式拒绝 HTTP 请求的存储桶策略可能不符合该规则。

要在存储桶策略中确定是 HTTP 还是 HTTPS 请求,请使用一个检查键 aws:SecureTransport 的条件。当您将键条件设置为 true 时,Amazon S3 将通过 HTTPS 发送请求。为符合 s3-bucket-ssl-requests-only 规则,请创建一个存储桶策略,使其在请求满足 "aws:SecureTransport": "false" 条件时显式拒绝 HTTP 请求的访问。

符合 s3-bucket-ssl-requests-only 规则的存储桶策略

以下示例存储桶策略符合 s3-bucket-ssl-requests-only 规则。当请求满足 "aws:SecureTransport": "false" 条件时,该策略会显式拒绝对存储桶和对象进行的所有操作:

{
    "Id": "ExamplePolicy",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowSSLRequestsOnly",
            "Action": "s3:*",
            "Effect": "Deny",
            "Resource": [
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
            ],
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "false"
                }
            },
            "Principal": "*"
        }
    ]
}

不符合 s3-bucket-ssl-requests-only 规则的存储桶策略

以下存储桶策略不符合 s3-bucket-ssl-requests-only 规则。该策略没有使用显式拒绝语句,因而允许满足 "aws:SecureTransport": "true" 条件的请求的访问。当请求使用 HTTPS 时,此语句允许对存储桶中所有对象的 GetObject 进行匿名访问:

{
    "Id": "ExamplePolicy",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "NOT-RECOMMENDED-FOR__AWSCONFIG-Rule_s3-bucket-ssl-requests-only",
            "Action": "s3:GetObject",
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
            ],
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": "true"
                }
            },
            "Principal": "*"
        }
    ]
}

**注意:**仅当您的用例需要通过 HTTPS 进行匿名访问时,才使用上述存储桶策略。

相关信息

如何使用桶策略和应用深度防御来帮助保护您的 Amazon S3 数据