如何将Google服务帐户限制为Google Cloud Storage中的单个存储桶?

时间:2018-08-03 19:08:13

标签: google-cloud-storage google-iam

可以这样做吗?

AWS中使用IAM的类似功能确实支持限制对单个存储桶的访问,但是从https://cloud.google.com/compute/docs/access/service-accounts的角度来看,它看起来并不像在GCP中那样。

3 个答案:

答案 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)

对我有用的东西

  1. 创建一个新的服务帐户。

  2. 存储区“ XYZ”的编辑权限。从#1点开始为服务帐户添加Legacy Bucket Reader角色。

仅此而已。


我遇到的最大问题是,我认为不应使用传统角色...

请参阅:https://cloud.google.com/storage/docs/access-control/iam-roles#legacy-roles