什么是Google BigQuery数据集上getIamPolicy的正确Cloud Resource Manager URI?

时间:2019-01-04 17:45:42

标签: google-cloud-platform google-bigquery google-iam

我想为单个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策略的正确网址格式吗?

1 个答案:

答案 0 :(得分:2)

  

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

您已经在问题中提出了它-您应该使用GET https://www.googleapis.com/bigquery/v2/projects/<projectId>/datasets/<datasetId>并作为回应应该寻找access属性

来自documentation

  
    

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

         

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

  

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