1

我想为单个 Google BigQuery 数据集设置细粒度、特定于资源的 IAM 政策。到目前为止,我找到的文档仅说明了如何获取和设置项目资源的 IAM 策略,例如https://cloudresourcemanager.googleapis.com/v1/projects/<project-id>:getIamPolicy.

我正在尝试获取项目中资源的策略,特别是具有如下 API URL 的 Google BigQuery 数据集https://www.googleapis.com/bigquery/v2/projects/<project-id>/datasets/<dataset-id>

我尝试了一些看起来很明显的 URI,比如

  • https://www.googleapis.com/bigquery/v2/projects/<project-id>/datasets/<dataset-id>:getIamPolicy
  • https://cloudresourcemanager.googleapis.com/v1/projects/<project-id>/datasets/<dataset-id>:getIamPolicy

但是遇到了404错误。有人知道 Google BigQuery 数据集的 IAM 策略的正确 URL 模式吗?

4

1 回答 1

2

我正在尝试获取项目中资源的策略,特别是 Google BigQuery 数据集...

你已经在你的问题中有它 - 你应该使用 GET https://www.googleapis.com/bigquery/v2/projects/<projectId>/datasets/<datasetId>并且作为回应你应该寻找access财产

文档

Access 是一组对象,用于定义一个或多个实体的数据集访问权限。您可以在插入或更新数据集时设置此属性,以控制允许谁访问数据。如果在数据集创建时未指定,BigQuery 会为以下实体添加默认数据集访问权限:

access.specialGroup:projectReaders;access.role:读者;access.specialGroup:projectWriters;access.role:作家;access.specialGroup:项目所有者;access.role:所有者;access.userByEmail:[数据集创建者电子邮件];access.role:所有者;

而且,如果您想更改访问权限 - 您应该使用PATCH https://www.googleapis.com/bigquery/v2/projects/<projectId>/datasets/<datasetId>PUT https://www.googleapis.com/bigquery/v2/projects/<projectId>/datasets/<datasetId>

于 2019-01-04T17:55:10.240 回答