S3 存储桶和对象访问
Posted
技术标签:
【中文标题】S3 存储桶和对象访问【英文标题】:S3 bucket and object access 【发布时间】:2020-01-14 16:46:52 【问题描述】:根据我的理解,在不授予访问权限的情况下,任何 IAM 用户都无法访问 S3 存储桶/对象。但在我的用例中,我可以访问它。
我是否误解了 S3 中的安全策略。 这是我的用例,我在 AWS 中有根帐户,比如根用户。这个用户创建了两个 IAM 用户,比如 Admin 和 Test 用户。并且根用户向两个 IAM 用户授予了 S3FullAccess 权限。
现在我以管理员身份登录并创建了一个存储桶(比如 Test)。并启用“阻止所有公共访问”。
现在,即使启用了“阻止所有公共访问”,我仍然可以使用另一个 IAM 用户访问测试存储桶。 理想情况下它不应该是正确的。测试用户在访问测试存储桶时应该获得拒绝访问权限。 我是否遗漏了什么,任何帮助将不胜感激
谢谢 AWS 学习者
【问题讨论】:
【参考方案1】:对存储桶的“阻止所有公共访问”是指您的组织外部,而不是 IAM 用户。
换句话说,如果您的存储桶可供公众访问,那么有权访问对象 S3 URL 的任何人都可以直接访问该对象。
您可以使用存储桶策略来限制对存储桶的访问,但在 IAM 中从测试用户中删除 S3FullAdminAccess 会更有意义。
【讨论】:
【参考方案2】:根用户向两个 IAM 用户授予了 S3FullAccess 权限
这就是您的两个用户都能够看到存储桶的原因,因为他们与用户一起附加了以下策略:
"Version": "2012-10-17",
"Statement": [
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
]
您从用户那里删除此政策,您会看到以下错误:
【讨论】:
嗨 Pacifist_AWS,如果我将 S3FullAccess 删除到测试用户,那么我可以看到“拒绝访问”错误。但是有没有其他方法可以限制测试用户在不删除“S3FullAccess”的情况下不访问其他用户存储桶 @BabuGali 您如何删除 S3FullAccess 并使用存储桶策略明确提供对存储桶的访问权限。以上是关于S3 存储桶和对象访问的主要内容,如果未能解决你的问题,请参考以下文章
如何在 aws s3 存储桶和云端执行从非 www 到 www 的 301 重定向