Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
本页介绍了如何访问位于与 Cloud Composer 环境不同的 Google Cloud 项目中的资源。
我们建议您访问 方式:
在 DAG 中,使用 环境
例如,许多应用会使用
google_cloud_default
连接, Google Cloud 运维套件, 创建环境向服务账号授予额外的 IAM 权限和角色 您的环境的服务账号,以便它可以 访问不同项目中的资源。
确定您的环境的服务账号
要确定您的环境的服务账号,请执行以下操作:
控制台
在 Google Cloud 控制台中,前往环境页面。
在环境列表中,点击您的环境名称。环境详情页面会打开。
转到环境配置标签页。
您的环境的服务账号列在 服务账号字段中的值。
该值是一个电子邮件地址,如
service-account-name@example-project.iam.gserviceaccount.com
。
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="get(config.nodeConfig.serviceAccount)"
此值为电子邮件地址,例如 service-account-name@example-project.iam.gserviceaccount.com
。
授予 IAM 角色和权限以访问其他项目中的资源
您的环境的服务账号需要访问其他项目中的资源的权限。这些角色和权限可以不同 确定您要访问的资源
访问特定资源
我们建议您为特定资源授予角色和权限,例如 位于不同项目中的单个 Cloud Storage 存储分区。在此方法中,您将基于资源的访问权限与条件角色绑定搭配使用。
如需访问特定资源,请执行以下操作:
- 按照 配置基于资源的访问权限指南。
- 授予角色和权限时,请将环境的服务账号指定为主体。
访问资源类型
作为替代方案,您可以根据资源授予角色和权限 例如位于不同位置的所有 Cloud Storage 存储分区, 项目。
如需访问某种资源类型,请执行以下操作:
- 按照 管理对其他资源的访问权限指南。
- 授予角色和权限时,请指定 环境的服务账号 主账号。
授予所需的权限和角色后,您可以在以下位置访问资源: 具有相同默认 Airflow 连接的其他项目 您用来访问环境所在的项目中的资源 。