GCP Storage与IAM权限授予差异及权限生效规则咨询
GCP存储桶权限与项目IAM权限的差异解析
1. 服务账号与存储桶同属一个项目时的权限逻辑
GCP的权限是累加生效的(取两者的超集),而非子集。拿你举的例子来说:
- 项目IAM级授予
storage.admin角色,意味着这个SA对项目下所有存储桶都拥有管理员权限(包含存储桶本身和所有对象的管理操作)。 - 存储桶级授予
storage.object.admin角色,仅针对该特定桶的对象拥有管理权限。 - 最终这个SA的权限是:对该特定桶拥有
storage.admin(项目级权限已经覆盖了桶级的object admin权限),同时对项目下其他所有存储桶也拥有storage.admin权限。
2. 服务账号与存储桶分属不同项目时的权限逻辑
- 不需要必须将SA添加为projectB的IAM主体:直接在projectB的目标存储桶上给projectA的SA配置桶级权限,就能让SA访问该桶,无需在projectB的项目IAM中添加这个SA。
- 权限范围分三种情况:
- 仅在桶级授予
storage.object.admin:SA只能访问这个特定的存储桶,权限仅限该桶的对象管理。 - 仅在projectB的IAM中授予
storage.admin:SA能访问projectB下所有存储桶,拥有全量的管理员权限。 - 同时设置两种权限:SA对该特定桶拥有累加后的权限(
storage.admin+storage.object.admin,但前者已覆盖后者),同时对projectB其他所有存储桶拥有storage.admin权限。
- 仅在桶级授予
内容的提问来源于stack exchange,提问作者user389955
相关产品推荐
相关产品推荐

