【问题标题】:GCP - Controlling access to Service Account for Google Cloud StorageGCP - 控制对 Google Cloud Storage 服务帐户的访问
【发布时间】:2020-07-13 08:11:51
【问题描述】:

我正在尝试使用来自 Node.js 的 @google-cloud/storage 客户端上传文件。 我已经成功创建了一个服务帐户,其角色赋予它创建(上传)、删除(重新上传具有相同名称的对象)和下载云存储上的对象的权利。 由于存储对象管理员角色,这已成为可能。

当我分配 Storage Object Creator 角色时,我无法将同名图像上传到 Storage。

我真正需要的是,我需要将上传和删除权限而不是下载权限授予Node.js客户端。

如果有办法只允许上传 .jpg 文件,那就太好了。我尝试使用凭据添加条件,但这没有帮助。

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage


    【解决方案1】:

    您必须创建具有以下权限的custom role

    resourcemanager.projects.get
    resourcemanager.projects.list
    storage.objects.create
    storage.objects.delete
    

    请记住,storage.objects.create 权限让您有机会将新对象添加到存储桶,但也有机会下载您创建的对象。根据我的测试,使用此自定义角色,您将无法下载您创建的文件。如果您尝试,您将收到以下错误消息:

    403 service account does not have storage.objects.list permission

    我认为您不能禁止客户下载他创建的对象。

    关于condition部分,你可以为下载创造条件(resource.name.endsWith(".jpg"),但我不认为你在上传时创造条件。

    【讨论】:

      猜你喜欢
      • 2018-12-26
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多