繁体   English   中英

Amazon S3存储桶策略,我在做什么错?

[英]Amazon S3 bucket policy, what am I doing wrong?

我使用策略生成器为我的存储桶创建了一条简单规则; 该规则应具有以下预期效果:

  • 根访问权限
  • 将访问权限限制为给定的IAM用户
  • 允许所有人只读访问

为此,我编写了以下规则,但是某件事没有按预期工作,特别是我完全失去了对存储桶元素的访问,在所有情况下都获得“访问被拒绝”,包括root:

在此处输入图片说明

编辑 :使用@jarmod答案,我能够设置预期的功能,但是它会触发有关存储桶公开的警告,我看不到没有政策的区别,存储桶仍可公开访问以只读。 有什么区别?

在此处输入图片说明

也许您可以这样做,如下所示:

  1. 对于所有用户,允许操作s3:GetObject
  2. 对于除root和您的特定IAM用户以外的所有用户,请拒绝s3:GetObject以外的所有操作

您可以使用类似以下的策略来做到这一点:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::mybucket/*"
            ]
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "NotAction": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::mybucket/*"
            ],
            "Condition": {
                "StringNotLike": {
                    "aws:userId": [
                        "iam-userid-here",
                        "root-userid-here"
                    ]
                }
            }
        }
    ]
}

iam-userid-here获取iam-userid-here ,请运行aws iam list-users并检索IAM用户的UserId。

同样,要root-userid-here获得root-userid-here ,只需从先前的aws iam list-users输出的Arn中检索帐号。 根帐户userId AWS帐号。

然后,由iam-userid-here指示的iam-userid-here可以具有允许S3访问的IAM策略。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM