如何授予服务帐户访问两个项目的权限?
How to give service account access to two projects?
使用 Google 云,存在查询两个项目的 BigQuery 视图 table。
但是,在视图所在的项目上,我们希望 运行 从 Airflow/Composer 对其进行查询。目前它因 403 而失败。
据我所知,它将使用默认的作曲家服务帐户 - 但是它无权访问视图 sql 中使用的第二个项目。
如何授予 composer 的服务帐户访问第二个项目的权限?
我认为您必须将服务帐户添加到项目 IAM 中。
将服务帐户想象成用户帐户:您有一个用户电子邮件,您在不同的项目和组件上授权。与服务帐户电子邮件完全相同。
服务帐号属于一个项目。用户帐户属于域 name/organisation。最后没有真正的区别。
因此,您可以像使用任何用户帐户一样使用服务帐户电子邮件:
- 在任何项目中授予权限
- 将其添加到 Google 组中
- 甚至授予它对 GSuite 文档(Sheet、文档、幻灯片等)的查看者或编辑者角色,以允许它访问和 read/update 这些文档!!喜欢任何用户!
编辑
使用 Airflow,您可以 defined connexions and a default connexion。您可以在您的 DAG 中使用此连接,从而使用您想要的服务帐户。
使用 Google 云,存在查询两个项目的 BigQuery 视图 table。
但是,在视图所在的项目上,我们希望 运行 从 Airflow/Composer 对其进行查询。目前它因 403 而失败。
据我所知,它将使用默认的作曲家服务帐户 - 但是它无权访问视图 sql 中使用的第二个项目。
如何授予 composer 的服务帐户访问第二个项目的权限?
我认为您必须将服务帐户添加到项目 IAM 中。
将服务帐户想象成用户帐户:您有一个用户电子邮件,您在不同的项目和组件上授权。与服务帐户电子邮件完全相同。
服务帐号属于一个项目。用户帐户属于域 name/organisation。最后没有真正的区别。
因此,您可以像使用任何用户帐户一样使用服务帐户电子邮件:
- 在任何项目中授予权限
- 将其添加到 Google 组中
- 甚至授予它对 GSuite 文档(Sheet、文档、幻灯片等)的查看者或编辑者角色,以允许它访问和 read/update 这些文档!!喜欢任何用户!
编辑
使用 Airflow,您可以 defined connexions and a default connexion。您可以在您的 DAG 中使用此连接,从而使用您想要的服务帐户。