【问题标题】:storage_client.create_bucket Insufficient Permissionstorage_client.create_bucket 权限不足
【发布时间】:2020-07-22 16:11:28
【问题描述】:

我在此处遵循谷歌云文档中的指南:

https://cloud.google.com/storage/docs/moving-buckets#storage-create-bucket-python

当我运行代码创建存储桶时,出现以下错误:

禁止:403 POST https://storage.googleapis.com/storage/v1/b?: 权限不足

可能有什么问题?我应该去哪里解决权限?

【问题讨论】:

    标签: python-3.x google-cloud-storage


    【解决方案1】:

    在关注该文档之前,请确保为您的客户端库发送Set up authentication。这包括:

    • 创建服务帐号及其密钥。
    • 将其设置为操作系统中的环境变量。

    即使您从 Cloud Shell 运行脚本,也需要设置此环境变量。

    请记住,服务帐户将具有所有者角色,该角色有权创建存储桶但对于其他交互,例如将文件上传或删除到您的存储桶,该帐户将需要一些额外的存储管理员等角色。

    希望这有帮助! :)

    【讨论】:

      【解决方案2】:

      1.创建服务帐号

      gcloud iam service-accounts create [SA-NAME] \
      --description "[SA-DESCRIPTION]" \
      --display-name "[SA-DISPLAY-NAME]"
      

      2.获取您刚刚创建的服务帐户的名称:

      gcloud iam service-account list
      

      3.将存储管理员角色授予服务帐户

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

      4.创建服务帐号密钥

      gcloud iam service-accounts keys create ~/key.json \
      --iam-account [SA-NAME]@[PROJECT-ID].iam.gserviceaccount.com
      

      5.设置环境变量

      export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"
      

      6.运行教程中的代码

      【讨论】:

      • 我使用的是 docker 容器,所以我的机器上没有“/home/user/Downloads/”。它可以存储在其他地方吗?
      猜你喜欢
      • 2014-10-24
      • 2018-12-07
      • 2015-10-10
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      相关资源
      最近更新 更多