如何在Google Cloud Platform for BigQuery用户中授予个人权限

时间:2017-03-03 01:35:11

标签: google-app-engine google-bigquery google-cloud-platform

我需要为GCP中的服务帐户设置非常细粒度的访问控制。我看到了这个错误:

  

"用户SERVICE_ACCOUNT没有bigquery.jobs.create权限   项目PROJECT_ID"。

我知道通过UI / gcloud util我可以给它角色角色/ bigquery。 用户,但它有很多其他权限,我不希望这个服务帐户拥有。

如何通过gcloud / UI或其他方式授予个人权限?

2 个答案:

答案 0 :(得分:5)

您可以直接在Google云端控制台中配置IAM:

https://console.cloud.google.com/iam-admin/iam/

服务帐户旨在用于服务器端应用程序,例如VM,AppEngine等。换句话说:

  

[它是]一个属于您的应用程序的帐户,而不是一个帐户   个人最终用户。您的应用程序代表Google API调用   服务帐户,因此用户不直接参与。

https://developers.google.com/identity/protocols/OAuth2ServiceAccount

服务帐户可以通过控制台为其分配不同的BigQuery IAM角色,如下所示:enter image description here

您还可以使用控制台添加单个用户(由Google帐户支持的电子邮件)到IAM,然后在BigQuery中选择他们应具有的权限,如下所示: enter image description here

BigQuery权限&角色定义为hereenter image description here

答案 1 :(得分:3)

您可以使用IAM部分中显示的Custom Roles

enter image description here

使用您需要的特定权限组合创建角色。然后它会出现在' Custom'在IAM角色分配页面上,将通过API提供。

针对您的特定用例,请在自定义角色中尝试以下操作:

  • bigquery.jobs.create
  • bigquery.jobs.get
  • bigquery.tables.create
  • bigquery.tables.update