0

我正在尝试找出一种方法来允许 GCP 用户列出存储桶,但仅限于用户具有权限的存储桶(通过 ACL)。原因是它可能会压倒桶的数量,并且用户体验不会是最好的。有任何想法吗 ?

谢谢!

4

2 回答 2

0

如果您使用 CLI,您可以编写一个脚本来获取每个列出的存储桶的权限,并且仅当用户帐户在权限列表中时才显示它:

for bucket in $(gsutil ls); do 
    if  gsutil acl get $bucket|grep -q $(gcloud config get-value account) ; then
        echo $bucket; 
    fi; 
done

请注意,继承的权限(例如在项目级别)不会出现在此脚本中。

这不能通过控制台完成,但如果您需要一个仅列出某些存储桶的 Web 界面,那么您可以通过调用 API 并执行与 CLI 脚本相同的操作来自行构建它。

于 2019-05-20T01:48:26.710 回答
0

我正在尝试找出一种方法来允许 GCP 用户列出存储桶,但仅限于用户具有权限的存储桶(通过 ACL)。

您无法使用存储桶 ACL 或 IAM 权限来实现您的目标。

要列出 Google Cloud Storage 存储分区,您需要 IAM 权限storage.buckets.list

此权限授予 IAM 成员账户列出项目中所有存储桶的权限。您不能进一步限制此权限以仅列出特定存储桶名称。此权限不允许列出存储桶中的对象。

对于未来的设计决策,您可以使用不同的项目并在项目下组织您的存储桶。这将限制仅访问该项目的 IAM 成员。

创建存储桶时,您将永久定义其名称、位置和它所属的项目。这些特性以后无法更改。

于 2019-05-08T23:22:00.413 回答