Dan*_*ley 6 amazon-ec2 amazon-web-services amazon-iam
我正在尝试修改 IAM 策略,以便用户可以将 IAM 角色与允许对我们的 S3 存储桶具有只读权限的 EC2 实例相关联。
我们的团队使用 AWS 进行了大量研发,因此我不愿意限制对除 IAM 之外的任何 AWS 服务的访问,因为 IAM 会允许权限升级。
我已使用此问题中的信息添加了 iam:PassRole,但该策略无法在模拟器中验证。
{
"Statement": [
{
"Effect": "Allow",
"NotAction": "iam:*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::ACCOUNTID:role/MYROLE"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果我将第二条语句的 Resource 更改为"Resource": "*"
验证成功并且模拟器显示明确允许 PassRole,则 IAM 中的所有其他内容都被隐式拒绝,而 S3 中的所有内容都被明确允许。
我在命名角色上做错了什么?允许所有人都使用 PassRole 会带来什么安全隐患(我假设策略模拟器不是骗人的)。有没有更好的方法来实现我想要的?
对我来说,这似乎是策略模拟器中的一个错误。甚至亚马逊自己也在他们的示例中声明了与您的政策类似的政策。模拟器会抱怨,但实际上将此策略附加到用户效果很好。
我对指定角色做错了什么?
据我所知,什么也没有。
允许所有人使用 PassRole 会带来什么安全影响(我假设策略模拟器没有撒谎)。
好吧,您可以允许iam:PassRole
任何角色执行该操作。这基本上意味着具有此策略的用户将能够启动附加了任何 IAM 角色的 EC2 实例。我上面链接的 AWS 文档中也对此进行了解释:
或者,您可以通过在此策略中将资源指定为“*”来授予 IAM 用户对您所有角色的访问权限。但是,请考虑使用您的角色(现有角色或您稍后创建的角色)启动实例的用户是否可能被授予他们不需要或不应该拥有的权限。
归档时间: |
|
查看次数: |
3996 次 |
最近记录: |