我想创建一个 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"
但除非我错了,否则这为项目的所有存储桶提供了非常广泛的权限。
有没有办法为服务帐户提供对特定存储桶(并且只有这个)的完全访问权限?
答案 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