向 GCP 服务帐号授予完整的 gcs 存储桶权限

时间:2021-05-27 09:21:24

标签: security google-cloud-platform google-cloud-storage google-cloud-iam

我想创建一个 GCP 服务帐户,该帐户可以完全访问特定存储分区(例如 my-bucket)。

我可以通过向我的服务帐户提供 roles.storageAdmin 角色来解决这个问题,如下所示:

gcloud iam service-accounts create my-sa \
    --description="My Service Account" \
    --display-name="my-sa"

gcloud projects add-iam-policy-binding my-project \
    --member="serviceAccount:my-sa@my-project.iam.gserviceaccount.com" \
    --role="roles/storage.objectAdmin"

但除非我错了,否则这为项目的所有存储桶提供了非常广泛的权限。

有没有办法为服务帐户提供对特定存储桶(并且只有这个)的完全访问权限?

1 个答案:

答案 0 :(得分:1)

您可以使用 gsutil ch :

gsutil iam ch \
    serviceAccount:my-sa@my-project.iam.gserviceaccount.com:objectAdmin \
    gs://my-bucket

您还可以获得存储桶的 IAM :

gsutil iam get gs://my-bucket > iam.json

,修改它以添加您想要的绑定,然后使用更新的文件设置 IAM:

gsutil iam set iam.json gs://my-bucket