Cloud Composer 1 | Cloud Composer 2
本页面介绍如何访问与 Cloud Composer 环境位于不同 Google Cloud 项目中的资源。
我们建议您通过以下方式访问其他 Google Cloud 项目中的资源:
在您的 DAG 中,使用在您的环境中预配置的默认连接。
例如,许多 Google Cloud 运维人员都会使用
google_cloud_default
连接,系统会在您创建环境时自动配置连接。为环境的服务帐号授予额外的 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 连接来访问其他项目中的资源。