可以这样做吗?
AWS中使用IAM的类似功能确实支持限制对单个存储桶的访问,但是从https://cloud.google.com/compute/docs/access/service-accounts的角度来看,它看起来并不像在GCP中那样。
答案 0 :(得分:2)
身份和访问管理(IAM)和服务帐户权限是在一般范围内控制对资源的访问的推荐方法。但是,如果要自定义单个存储桶及其对象的访问范围,则应该使用Access Control Lists。
我建议您查看Creating and Managing Access Control Lists指南,其中包含有关ACL用法的详细信息,以及将ACL permissions设置为现有存储桶的分步说明。 / p>
答案 1 :(得分:2)
要使用IAM权限将服务帐户的访问权限限制为特定存储桶,可以使用gsutils:
gsutils iam ch serviceAccount:${SERVICE_ACCOUNT}@${PROJECT}.iam.gserviceaccount.com:objectViewer gs://${BUCKET}
并对您要授予的每个角色重复操作(例如objectAdmin
)。
文档在这里Using Cloud IAM with buckets。如果需要对特定对象进行更好的控制,则必须使用ACL。
答案 2 :(得分:0)
对我有用的东西
创建一个新的服务帐户。
存储区“ XYZ”的编辑权限。从#1点开始为服务帐户添加Legacy Bucket Reader
角色。
仅此而已。
我遇到的最大问题是,我认为不应使用传统角色...
请参阅:https://cloud.google.com/storage/docs/access-control/iam-roles#legacy-roles