我需要为GCP中的服务帐户设置非常细粒度的访问控制。我看到了这个错误:
"用户SERVICE_ACCOUNT没有bigquery.jobs.create权限 项目PROJECT_ID"。
我知道通过UI / gcloud util我可以给它角色角色/ bigquery。 用户,但它有很多其他权限,我不希望这个服务帐户拥有。
如何通过gcloud / UI或其他方式授予个人权限?
答案 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角色,如下所示:
您还可以使用控制台添加单个用户(由Google帐户支持的电子邮件)到IAM,然后在BigQuery中选择他们应具有的权限,如下所示:
BigQuery权限&角色定义为here。
答案 1 :(得分:3)
您可以使用IAM部分中显示的Custom Roles:
使用您需要的特定权限组合创建角色。然后它会出现在' Custom'在IAM角色分配页面上,将通过API提供。
针对您的特定用例,请在自定义角色中尝试以下操作: