如何从"所有者"同时限制Bucket Policy中的引用者

时间:2016-09-09 17:46:16

标签: amazon-s3 policy bucket

我已在我的网站上为产品下载存储桶生效了以下存储桶策略。它适用于http流量。但是,此策略也阻止我直接从S3控制台或S3Hub等第三方S3客户端下载。

如何添加或更改此政策以便能够与我的文件进行互动"通常"作为登录的所有者,但仍限制http流量如下所示?

{
    "Version": "2012-10-17",
    "Id": "http referer policy example",
    "Statement": [
        {
            "Sid": "Explicit deny to ensure requests are allowed only from specific referer.",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::downloads.example.net/*",
            "Condition": {
                "StringNotLike": {
                    "aws:Referer": [
                        "https://example16.herokuapp.com/*",
                        "http://localhost*",
                        "https://www.example.net/*",
                        "http://stage.example.net/*",
                        "https://stage.example.net/*",
                        "http://www.example.net/*"
                    ]
                }
            }
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

卸下:

"Principal": "*",

替换为:

"NotPrincipal": { "AWS": "Your-AWS-account-ID" },

该政策应仅适用于未经与您的帐户相关联的凭据授权的请求。

请注意,由于其逻辑反转的安全隐患,NotPrincipal应该只与Deny政策一起使用,而不是Allow政策,只有少数例外。