IAM用户能否向其他用户授予自身不拥有的资源的访问权限?
结论
能不能操作分为两个独立环节判断,和谁创建IAMuser3、谁创建S3桶没有直接绑定关系。
1. IAMuser2能否给IAMuser3附加对应身份基策略
仅取决于IAMuser2自身被授予的权限:
- 只要IAMuser2拥有
iam:AttachUserPolicy(托管策略)、iam:PutUserPolicy(内联策略)这类对应IAM操作的允许权限,不管IAMuser3是不是他创建的,他都可以完成附加策略的操作 - 如果IAMuser2没有上述权限,哪怕IAMuser3是他创建的,也无法执行附加策略的操作
注意:AWS IAM没有「IAM用户所有者」的设计,创建IAM用户的主体不会天然获得该用户的管理权限,所有IAM操作权限都单独分配。
2. 附加的策略能否真的让IAMuser3访问到目标S3桶
策略生效需要同时满足两个条件:
- 给IAMuser3附加的身份基策略中,明确声明了允许对IAMuser1的S3桶执行对应操作(例如
s3:ListBucket、s3:GetObject等) - IAMuser1的S3桶没有配置桶策略、S3 ACL,账户也没有服务控制策略(SCP)等显式拒绝IAMuser3的访问请求
AWS权限评估逻辑是默认拒绝,只要存在任意一条显式拒绝规则,访问就会被拦截;没有拒绝规则的前提下,只要有任意一条允许规则(这里就是你附加的身份基策略)就能生效。
以上结论默认所有IAM用户、S3桶都属于同一个AWS账户,跨账户场景下还需要额外配置跨账户信任规则,但核心权限判断逻辑不变。
内容的提问来源于stack exchange,提问作者Yash
相关产品推荐
相关产品推荐

