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

yur*_*ura 7 google-app-engine google-bigquery google-cloud-platform

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

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

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

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

Gra*_*ley 7

您可以直接在Google Cloud Console中配置IAM:

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

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

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

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

服务帐户可以通过控制台分配给它的不同BigQuery IAM角色,如下所示:在此输入图像描述

您还添加了使用控制台将单个用户(由Google帐户支持的电子邮件)添加到IAM,然后在BigQuery中选择他们应具有的权限,如下所示: 在此输入图像描述

此处定义 BigQuery权限和角色.在此输入图像描述


Pau*_*ora 6

您可以使用自定义角色,在 IAM 部分可见:

在此处输入图片说明

创建具有您需要的特定权限组合的角色。然后它将出现在 IAM 角色分配页面上的“自定义”中,并可通过 API 使用。

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

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