【问题标题】:Prevent access of S3 bucket for admin via console阻止管理员通过控制台访问 S3 存储桶
【发布时间】:2019-07-30 02:47:23
【问题描述】:

我有一些高度机密的数据要存储在 s3 存储桶中。 我想以这样一种方式制定策略(存储桶或 iam 任何需要),以至于没有人(甚至管理员)可以从 aws 控制台读取该存储桶中文件的内容。 但是我将在我的主机上运行一个程序,该程序需要从该 s3 存储桶中放置和获取数据。 我也将使用 s3 的服务器端加密,但我不能使用 s3 的客户端加密。

【问题讨论】:

    标签: amazon-s3 aws-sdk amazon-iam aws-security-group


    【解决方案1】:

    你正在寻找这样的东西;

        {
            "Id": "bucketPolicy",
            "Statement": [
                {
                    "Action": "s3:*",
                    "Effect": "Deny",
                    "NotPrincipal": {
                        "AWS": [
                                "arn:aws:iam::111111111111:user/USERNAME",
                                "arn:aws:iam::111111111111:role/ROLENAME"
                        ]
                    },
                    "Resource": [
                        "arn:aws:s3:::examplebucket",
                        "arn:aws:s3:::examplebucket/*"
                    ]
                }
            ],
            "Version": "2012-10-17"
        }
    

    出于测试目的,请确保将 arn:aws:iam::111111111111:user/USERNAME 替换为您的用户 arn。因此,如果您锁定所有人,您至少可以对存储桶执行操作。

    arn:aws:iam::111111111111:role/ROLENAME 应替换为附加到您的 EC2 实例的角色 arn(我假设这就是您所说的主机)。

    【讨论】:

    • 两个问题:显式拒绝不能被显式允许覆盖,并且无法阻止根凭据删除然后替换存储桶策略,从而使根凭据成为存储桶的后门。跨度>
    • @Michael-sqlbot 你是对的我错过了拒绝语句中的条件。我会尽快在我的回答中解决它。
    • @Michael-sqlbot 策略已更新。它只允许对指定用户/角色的存储桶执行操作。
    猜你喜欢
    • 2018-10-06
    • 1970-01-01
    • 2020-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2019-04-22
    相关资源
    最近更新 更多