GCP:IAM 和 BigQuery

Posted

技术标签:

【中文标题】GCP:IAM 和 BigQuery【英文标题】:GCP: IAM and BigQuery 【发布时间】:2022-01-09 00:19:50 【问题描述】:

您能分享一下您对这个问题的看法吗?

您正在为跨多个项目的应用程序配置服务帐户。在 web-applications 项目中运行的虚拟机 (VM) 需要访问 crm-databases-proj 中的 BigQuery 数据集。您希望按照 Google 推荐的做法授予对 web-applications 项目中服务帐户的访问权限。你应该怎么做?

A.将web-applications 的项目所有者分配给crm-databases-proj

B.将项目所有者角色授予 crm-databases-projweb-applications 项目。

C.将项目所有者角色分配给crm-databases-proj,将bigquery.dataViewer 角色分配给web-applications

D.将bigquery.dataViewer 角色分配给crm-databases-proj,并将适当的角色分配给web-applications

这里是discussion thread。

【问题讨论】:

永远不要使用原始角色(所有者、查看者、编辑者)。因此,答案很简单! 【参考方案1】:

根据 guillaume 的建议,并在 public documentation 中概述,基本角色(包括所有者)不应在生产环境中使用:

注意:基本角色包括所有 Google Cloud 服务的数千个权限。在生产环境中,除非别无选择,否则不要授予基本角色。相反,授予最有限的预定义角色或满足您需求的自定义角色。

因此,D 是正确答案。

【讨论】:

以上是关于GCP:IAM 和 BigQuery的主要内容,如果未能解决你的问题,请参考以下文章

GCP 为每个项目和 Terraform 预定义 IAM 角色

如何使用服务帐户在 gcp 中设置正确的 iam 策略

使用 Terraform 创建 GCP 自定义 IAM 角色

GCP IAM REST API 服务帐号密钥问题

Terraform GCP 将 IAM 角色分配给服务帐户

使用工作负载身份为 GKE 节点池绑定 GCP IAM