【问题标题】:Google Cloud Platform: How to remove download access for a bucketGoogle Cloud Platform:如何删除存储桶的下载访问权限
【发布时间】:2018-02-26 09:53:32
【问题描述】:

我希望我的服务帐户能够在我的存储桶中创建文件和文件夹,但不允许对该存储桶中的对象进行任何读取/列出/下载。我无法弄清楚为我的存储桶/服务帐户设置什么权限。对此有什么想法吗?

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage service-accounts bucket


    【解决方案1】:

    你可以看看通用Identity and Access Management (IAM) page for Google Cloud Storage。由此,您可以使用其中一个预定义的 Cloud Storage 角色,也可以创建具有您需要的特定 IAM 权限的自定义角色。让我们遵循这两种方法:

    • 标准云存储 IAM 角色:in this page您可以找到可用 IAM 角色的完整列表。鉴于您提供的用例,您应该考虑使用roles/storage.objectCreator 角色,因为它只授予storage.objects.create 权限,您无法查看或列出对象。
    • 自定义 IAM 角色:您可以关注 this guide to create a custom IAM Role,并定义您要授予存储桶的特定权限。 In this other page 你可以看到所有可用权限的列表。您应该使用storage.objects.create,但您可能有兴趣添加不同的权限,例如storage.objects.delete,以便服务帐户能够覆盖内容(这不能通过roles/storage.objectCreator 角色完成,因为它确实如此没有删除权限)。

    因此,一般而言,并应用您的特定用例,您可以说您可以使用roles/storage.objectCreator 标准角色。但是,您必须考虑到使用它,您将无法覆盖内容,为此,您还需要storage.objects.delete 权限。在这种情况下,您可以创建自定义角色。

    【讨论】:

    • 我尝试使用 storage.objectCreator 权限,但问题是我可以直接在存储桶中创建文件,但无法在存储桶的文件夹中创建任何文件,因为这需要列表权限。同意我也可以下载文件。那么在这种情况下我该怎么办呢?
    • 我猜错误是当您将文件上传到存储桶中的文件夹时,您正在执行gsutil cp file gs://bucket/folder之类的操作,这会提示有关列表权限要求的错误。但是,您应该改用gsutil cp file gs://bucket/folder/。 Cloud Storage 没有目录的概念,而是有一个“平面”存储系统,可以区分文件和“文件夹”,因为我们知道它们的末尾有一个 /。因此,为了上传到“文件夹”,您只需将文件夹名称(和/)附加到目录。
    猜你喜欢
    • 2019-10-12
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 2023-02-21
    • 2020-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多