使用 Workload Identity Federation 根据用户访问 GCS 存储桶中的特定文件夹

Access specific folder in GCS bucket according to user, using Workload Identity Federation

我有一个支持 OpenID Connect (OIDC) 的外部身份提供商,我想使用短期访问令牌直接访问 Google 云存储 (GCS)。所以我使用 workload identity federation 来提供来自我的外部身份提供者的凭据并获得联合令牌作为交换。

我已经创建了工作负载身份池和提供者并将一个服务帐户连接到它,该帐户对 GCS 中的某个存储桶具有写入权限。

如何根据外部身份提供商提供的令牌区分对存储桶中特定文件夹的访问权限?例如,用户 A 只能访问存储桶中的文件夹 A。我可以使用一个服务帐户执行此操作吗?

非常感谢任何帮助。

Cloud Storage 上不存在这些文件夹,它是一个 blob 存储,所有对象都存储在存储桶级别。为了便于阅读和表示,/ 按照惯例是文件夹分隔符。

因此,由于目录不存在,您无法授予任何权限。更细粒度的是桶。


在您的用例中,您无法在文件夹级别授予写访问权限,但您可以为每个用户创建 1 个存储桶,因此在该存储桶上授予模拟服务帐户。