gpt4 book ai didi

python - 使用 storage.objectAdmin 权限在 Python 中写入 GCS 存储桶

转载 作者:行者123 更新时间:2023-12-01 14:32:46 24 4
gpt4 key购买 nike

我试图找出服务帐户将文件写入 GCS 存储桶所需的最小权限集。我想我可以使用 storage.objectAdmin,但使用为 Python SDK 提供的示例代码失败并显示错误:my-service-account@my-project.googleapis.com does not have storage.buckets.get access to my-bucket

client = _get_storage_client()
bucket = client.bucket(current_app.config['CLOUD_STORAGE_BUCKET'])
blob = bucket.blob(filename)

blob.upload_from_string(
file_stream,
content_type=content_type)

这是因为 client.bucket 调用实际上从存储桶中读取元数据,而 storage.objectAdmin 不授予。当我使用 storage.admin 权限时它会自行修复,但这也允许帐户删除整个存储桶,这是我不想要的。添加 storage.legacyBucketReader 也有效,但后来我使用了一个遗留角色,我不确定我是否应该再做。

这里的最佳做法是什么?

最佳答案

如果你想尽可能的限制,你可以添加以下两个权限:

  • roles/storage.objectCreator
  • Viewer

  • 这允许受让人执行以下操作:
  • 可以创建新对象。
  • 可以列出桶
  • 还可以在列出时查看存储桶元数据,不包括 ACL。

  • 更多详情: https://cloud.google.com/storage/docs/access-control/iam-roles

    关于python - 使用 storage.objectAdmin 权限在 Python 中写入 GCS 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53818248/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com