Aws IAM Roles vs Bucket Policies

问题描述 投票:0回答:1

我一直在阅读一些文档并观看了大量的视频,但我仍然对IAM Roles和Bucket政策感到困惑。这让我感到困惑:

1)我创建了一个桶。那时我可以公开或保密。如果我公开它,那么任何人或任何应用程序都可以“看到”桶中的对象。我认为可以将权限设置为在存储桶中添加/删除/获取/列出对象。如果是这种情况,那么为什么我需要为S3存储桶添加任何IAM角色,或者添加任何存储桶策略(???)

2)当我创建一个存储桶时,我是否可以仅对特定用户/应用程序/ EC2实例等给予全部或部分存储桶非常具体的权限?例如EC2-X上的App1可以访问存储桶B1中的子文件夹A.

3)来到IAM Roles,这是一个提供完整S3访问权限的EC2角色 - 这是什么意思?完全访问任何桶?如何将EC2上运行的应用程序仅限制为某些存储桶,只有某些受限制的权限(请参阅上面的#2)? EC2上的所有应用程序是否都可以完全访问所有存储桶?在创建存储桶时,是否可以设置权限以使IAM角色可以被否决?

4)最后,除了上述IAM角色之外,Bucket Policies还会做什么?例如'AllowS3FullAccess'是“Bucket Policy”还是“IAM Policy”?为什么要区分策略类型 - 策略就是这样 - 他们在某些对象/资源上定义了一些权限/规则,正如我所看到的那样。

谢谢你的任何澄清。 - AWS的新手

amazon-web-services roles policies
1个回答
1
投票

我认为你对IAM实体的​​资源权限感到困惑。

i)AWS账户拥有资源(S3桶,EC2实例等),IAM用户,IAM角色或其他AWS服务可以访问这些资源(可以来自相同或不同的账户)

ii)我们管理谁可以访问和他们的permission level with policies

iii)政策可以是identity based (attached to IAM user/group/role) or resource based (attached to S3 bucket, SNS topic)

iv)基于资源的策略将具有Principal元素,但基于身份的策略将不具有(because the attached IAM entity is the Principal)

c)kazkhsvpoi

vi)最终访问权限将由所有政策组合确定

回答你的问题:

1>我们无法在S3存储桶中添加(或附加)IAM角色。如果你想要你的桶应该公开(不建议但需要这样做Permissions start from default deny, allow overrides the default deny and an explicit deny overrides any allow),那么你可以公开

2>创建存储桶时无法实现。您必须在通过IAM和/或S3存储桶策略创建存储桶后执行此操作

3>如果IAM角色具有AmazonS3FullAccess,则角色可以(效果:允许)为您帐户中的任何S3资源(资源:)调用任何S3 API(s3 :)(前提是他们没有till some extent if it's in use for static website)。如果多个应用程序在附加了IAM角色的实例上运行并且正在使用该角色提供的凭据,则其权限将相同。

4>我不知道你在哪里获得了引用AllowS3FullAccess但我们无法确认,除非我们知道确切的JSON。如果它附加到存储桶或具有Principal元素,则它是存储桶策略。您可以使用IAM和Bucket策略cross account access。通常,存储桶策略用于跨帐户访问,或者您希望在单个位置管理S3权限策略。

© www.soinside.com 2019 - 2024. All rights reserved.