访问其他项目中的资源

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

本页介绍了如何访问位于与 Cloud Composer 环境不同的 Google Cloud 项目中的资源。

我们建议您通过以下方式访问其他 Google Cloud 项目中的资源:

  1. 在 DAG 中,使用环境中预配置的默认连接。

    例如,许多 Google Cloud 操作器都使用 google_cloud_default 连接,并且系统会在您创建环境时自动配置该连接。

  2. 环境的服务账号授予额外的 IAM 权限和角色,以便其可以访问其他项目中的资源。

确定您的环境的服务账号

要确定您的环境的服务账号,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到环境配置标签页。

  4. 您的环境的服务账号列在 服务账号字段中的值。

    该值是一个电子邮件地址,如 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 存储分区。在此方法中,您将基于资源的访问权限与条件角色绑定搭配使用。

如需访问特定资源,请执行以下操作:

  1. 请按照配置基于资源的访问权限指南操作。
  2. 授予角色和权限时,请指定 环境的服务账号 主账号。

访问资源类型

作为替代方案,您可以根据资源授予角色和权限 例如位于不同位置的所有 Cloud Storage 存储分区, 项目。

如需访问某种资源类型,请执行以下操作:

  1. 按照 管理对其他资源的访问权限指南。
  2. 授予角色和权限时,请指定 环境的服务账号 主账号。

授予所需权限和角色后,您可以访问其他项目中的资源,其中使用的默认 Airflow 连接与您用于访问环境所在项目中的资源相同。

后续步骤