security - 向 GCP 服务帐号授予完整的 gcs 存储桶权限
问题描述
我想创建一个 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"
但除非我错了,否则这将为所有项目的存储桶提供非常广泛的权限。
有没有办法为服务帐户提供对特定存储桶(并且只有这个存储桶)的完全访问权限?
解决方案
您可以使用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
推荐阅读
- html - 如果 Firefox 支持 WebP,为什么 React 会加载故障转移 img src?
- mapbox-gl-js - React Map GL 在沙箱中运行时缓存错误
- regex - 如何从此正则表达式中删除哈希标签
- sql - 查询表中具有一个值但没有另一个值的所有唯一组合
- c# - 添加HttpClient
注册为瞬态,它可以有效地处理大量并发请求吗? - python - Pyinstaller --onefile 警告文件已经存在但不应该
- sql - 动态 Pivot N 行到 N 列
- mysql - 是否可以将 SQL 数据库中的特定数据导出到 word doc 中预先格式化的表格中?
- django - Django 应用程序的谷歌分析只显示根域而不是页面标题
- google-sheets - 对于 A 列中具有共同值的行,如何将唯一值应用于 A 列