我想为单个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策略的正确网址格式吗?
答案 0 :(得分:2)
我正在尝试获取项目中资源的政策,特别是Google BigQuery数据集...
您已经在问题中提出了它-您应该使用GET https://www.googleapis.com/bigquery/v2/projects/<projectId>/datasets/<datasetId>
并作为回应应该寻找access
属性
访问权限是一组对象,这些对象定义了一个或多个实体的数据集访问权限。您可以在插入或更新数据集时设置此属性,以控制允许谁访问数据。如果在创建数据集时未指定,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>