向第三方授予对Google Cloud Storage存储桶的访问权限

mar*_*ski 1 google-app-engine google-cloud-storage

我需要第三方将一些文件上传到Google Cloud Storage存储桶。授予他们访问权限的最佳(或最简单)方法是什么?

Joh*_*ley 6

前两种方法要求用户具有有效的Google Account。我忽略Google Identity Platform了这个答案。如果用户有一个Gmail Account,则意味着他们也有一个Google Account。第三种方法使用Google服务帐户。

方法1:使用Google Cloud Storage控制台:

  • 转到Storage-> Browser

  • 检查所需的铲斗。在右侧面板下的permissions,单击Add按钮。

  • 添加用户的Google帐户电子邮件地址。选择Storage Object Creator

授予的角色是roles/storage.objectCreator。该角色授予用户创建存储桶中对象的权限,但用户无法删除或覆盖对象。

链接到云存储角色

方法2:使用gsutl CLI:

gsutil iam ch user:username@example.com:ObjectCreator gs://examplebucket
Run Code Online (Sandbox Code Playgroud)

链接到gcloud IAM

读取当前存储区IAM策略的命令:

gsutil iam get gs://examplebucket
Run Code Online (Sandbox Code Playgroud)

方法3:使用Google服务帐户

在Google Cloud Console中创建一个Google服务帐户

  1. 转到IAM & admin->Service accounts
  2. 请点击 CREATE SERVICE ACCOUNT
  3. 输入Service account nameService account description
  4. 请点击 CREATE
  5. 在下一个屏幕中Service account permissions,选择一个角色。
  6. 选择Storage->Storage Object Creator
  7. 请点击 CONTINUE
  8. 请点击 Create key
  9. 检查JSON单选按钮的Key type
  10. 将json文件保存到本地计算机。

你现在有Google Service Account凭据可以设置用gsutilgcloud和软件程序。

使用服务帐户凭据设置gcloud