访问具有员工身份联合的环境

Cloud Composer 1 |Cloud Composer 2 |Cloud Composer 3

本页介绍了如何配置用户对 Google Cloud 具有员工身份联合的 Cloud Composer 环境。

Cloud Composer 中的员工身份联合简介

借助员工身份联合,您可以使用外部身份提供方 (IdP) 对员工进行身份验证和授权,这是一组用户,例如 员工、合作伙伴和承包商 - 使用 IAM,确保 用户可以访问 Google Cloud 服务。关于员工的更多信息 身份联合,请参阅 员工身份联合

如果您的项目中配置了员工身份联合,则您可以访问 环境:

  • Google Cloud 控制台中的 Cloud Composer 页面
  • Airflow 界面
  • Google Cloud CLI,包括运行 Airflow CLI 命令
  • Cloud Composer API
  • Airflow REST API

准备工作

  • 从以下版本开始创建的所有新 Cloud Composer 环境 2.1.11 和 Airflow 版本 2.4.3 支持 员工身份联合。您无需将自己的 来支持员工身份联合。

  • 版本之前创建的环境 2.1.11 和 Airflow 版本 2.4.3 及更高版本升级到更高版本 不支持员工身份联合。您可以 检查您的环境是否支持员工身份联合

  • 员工身份联合的 Cloud Storage 限制 应用于环境的存储桶具体而言,您必须启用统一存储桶级访问权限。 以允许外部身份上传其 DAG 复制到此存储桶中

  • 从 Airflow 发送的电子邮件仅包含 Google 账号的 Airflow 界面网址。因为 外部身份只能通过 Airflow 界面访问 Airflow 界面 外部身份的网址,必须调整链接(更改为网址) )。

通过员工身份联合设置对环境的访问权限

本部分介绍了为外部身份配置对 Cloud Composer 环境的访问权限的步骤。

配置身份提供商

通过以下方法为身份提供方配置员工身份联合 按照配置员工身份联合指南操作。

向外部身份授予 IAM 角色

在 Identity and Access Management 中,向多组外部人员授予 IAM 角色, 这样,他们就可以访问您的环境并与之互动:

  • 如需查看 Cloud Composer 专属角色列表,请参阅 向用户授予角色。例如, 环境用户和存储对象查看者 (composer.environmentAndStorageObjectViewer) 角色可让用户执行以下操作 从以下位置查看环境、访问 Airflow 界面、查看和触发 DAG: DAG 界面,以及查看环境存储分区中的对象。

  • 有关向外部用户分配这些角色的说明,请参阅 向主账号授予 IAM 角色

  • 有关在 IAM 中表示外部身份的格式 政策,请参阅 在 IAM 政策中代表员工池用户

检查新用户是否在 Airflow 界面访问权限控制中收到正确的 Airflow 角色

Cloud Composer 会处理 Cloud Composer 中外部身份的 Airflow 用户, 这与对 Google 账号用户执行的操作相同。与电子邮件地址不同, 主账号标识符 。当外部身份首次访问 Airflow 界面时, Airflow 用户会自动注册为基于 Airflow 角色的访问权限 具有默认角色的控制系统。

检查新用户能否在以下位置收到正确的 Airflow 角色: Airflow 界面访问权限控制。您可以采用以下两种方法:

  • 允许外部身份在访问 Airflow 后获得默认角色 非常熟悉如有需要,Airflow 管理员用户可以 分配给另一个角色
  • 使用集合预注册外部身份 通过添加带有用户名和 email 字段设为其主账号标识符。这样,外部 身份会获得您分配给他们的角色,而不是默认角色。

检查环境是否支持员工身份联合

要检查您的环境是否支持员工身份联合,请运行 执行 Google Cloud CLI 命令如果输出显示 URI,那么 环境支持员工身份联合。

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.airflowByoidUri)"

您需要将其中的:

  • ENVIRONMENT_NAME 替换为环境的名称。
  • LOCATION 替换为环境所在的区域。

示例:

gcloud composer environments describe example-environment \
  --location us-central1 \
  --format="value(config.airflowByoidUri)"

访问 Google Cloud 控制台中的 Cloud Composer 页面

Google Cloud 员工身份联合控制台 提供对 Cloud Composer 页面的访问权限。

通过 Google Cloud 员工身份联合中的 Composer 页面 您可以访问用于管理环境的界面 Cloud Composer 日志、监控和 DAG 界面。

联合控制台中指向 Airflow 界面的所有链接均指向 Airflow 界面 是外部身份的接入点

早于以下版本的环境: 2.1.11 和/或 Airflow 之前的版本 可能具有各自的 Airflow 界面 链接。这表明该环境 在 Airflow 界面中支持员工身份联合用户。此接口的 环境只能通过 Google 账号访问。

访问 Airflow 界面

Cloud Composer 环境的 Airflow 界面有两个网址: 另一个用于外部身份外部身份 必须通过外部身份的网址访问 Airflow 界面。

  • 外部身份的网址是 https://<UNIQUE_ID>.composer.byoid.googleusercontent.com

  • Google 账号的网址是 https://<UNIQUE_ID>.composer.googleusercontent.com

只有使用外部身份进行了身份验证的用户才能访问该网址 对外部身份进行身份验证如果用户访问外部身份的网址 在未登录的情况下,系统会先将他们重定向到身份验证门户 在哪里指定员工池提供方名称 重定向到其身份提供方以登录 重定向到环境的 Airflow 界面。

在 Google Cloud 控制台中访问 DAG 界面

外部身份用户可以使用 DAG 界面 作为联合控制台的一部分。您可以 使用 IAM 政策控制访问权限。

Airflow 在具有完整员工身份的环境中基于角色的访问权限 联盟支持也会被考虑在内,并且可用于限制 通过设置角色,各个用户可以查看 DAG,如 使用 Airflow 界面访问权限控制

访问 Google Cloud CLI

如需通过 Google Cloud CLI 访问您的环境,外部身份必须 执行以下操作:

  1. 使用外部身份通过 Google Cloud CLI 登录。
  2. 运行 gcloud composer environments 命令。

访问 Cloud Composer API

Cloud Composer API 可与外部身份搭配使用,以便使用支持的身份验证方法(如 OAuth 令牌)管理所有 Composer 环境。

Airflow REST API

Airflow REST API 可在 外部身份的端点,这些对象具有受支持的 OAuth 令牌等身份验证方法。

如需获取环境的外部身份端点的网址, 使用 gcloud composer environments describe 命令,如 检查环境是否支持员工身份联合 部分。

后续步骤