Workforce Identity 連携を使用した環境へのアクセス

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

このページでは、Workforce Identity 連携を使用して Cloud Composer 環境へのユーザー アクセスを構成する方法について説明します。

Cloud Composer の Workforce Identity 連携について

Workforce Identity 連携では、外部 ID プロバイダ(IdP)を使用して、ワークフォース(従業員、パートナー、請負業者などのユーザー グループ)を IAM を使用して認証および認可し、ユーザーが Google Cloud サービスにアクセスできるようにします。Workforce Identity 連携の詳細については、Workforce Identity 連携をご覧ください。

プロジェクトで Workforce Identity 連携が構成されている場合、次の方法で環境にアクセスできます。

  • Google Cloud コンソールの Cloud Composer ページ
  • Airflow UI
  • Google Cloud CLI(Airflow CLI コマンドの実行など)
  • Cloud Composer API
  • Airflow REST API

始める前に

  • Workforce Identity 連携をサポートするために、環境を特定の方法で構成する必要はありません。Cloud Composer 3 のすべての Airflow ビルドは、Workforce Identity 連携をサポートしています。

  • 環境のバケットには、Workforce Identity 連携の Cloud Storage の制限が適用されます。特に、外部 ID が DAG とファイルをこのバケットにアップロードできるようにするには、環境のバケットで均一なバケットレベルのアクセスを有効にする必要があります。

  • Airflow から送信されたメールには、Google アカウントの Airflow UI URL しか含まれていません。外部 ID は、外部 ID の Airflow UI URL からしか Airflow UI にアクセスできないため、リンクを調整する(外部 ID の URL に変更する)必要があります。

Workforce Identity 連携を使用して環境へのアクセスを設定する

このセクションでは、外部 ID が Cloud Composer 環境にアクセスできるように構成する手順について説明します。

ID プロバイダの設定

Workforce Identity 連携を構成するガイドに沿って、ID プロバイダの Workforce Identity 連携を構成します。

外部 ID に IAM ロールを付与する

Identity and Access Management で、IAM ロールを一連の外部 ID に付与して、環境にアクセスして操作できるようにします。

Airflow UI アクセス制御で、新しいユーザーが正しい Airflow のロールを受け取ることを確認する

Cloud Composer は、外部 ID の Airflow ユーザーを Google アカウント ユーザーの場合と同じ方法で扱います。メールアドレスの代わりに、プリンシパル ID が使用されます。外部 ID が初めて Airflow UI にアクセスすると、Airflow ユーザーがデフォルトのロールで Airflow のロールベースのアクセス制御システムに自動的に登録されます。

Airflow UI アクセス制御で、新しいユーザーが正しい Airflow のロールを受け取ることを確認するこの場合は、次のどちらかを行ってください。

  • 外部 ID が初めて Airflow UI にアクセスした後に、デフォルトのロールを受け取るようにします。必要に応じて、Airflow 管理者ユーザーは、このロールを別のロールに変更できます。
  • ユーザー名とメールのフィールドをプリンシパル ID に設定して、Airflow ユーザー レコードを追加することで、必要な一連のロールを使用して外部 ID を事前登録します。このようにして、外部 ID はデフォルトのロールではなく、割り当てたロールを取得します。

Google Cloud コンソールの Cloud Composer ページにアクセスする

Google Cloud Workforce Identity 連携コンソールから Cloud Composer ページにアクセスできます。

Google Cloud Workforce Identity 連携コンソールの [Composer] ページから、環境、Cloud Composer ログ、モニタリング、DAG UI を管理するための UI にアクセスできます。

連携コンソールの Airflow UI へのリンクはすべて、外部 ID の Airflow UI アクセス ポイントを参照しています。

Airflow UI にアクセスする

Cloud Composer 環境には、Google アカウント用と外部 ID 用の 2 つの Airflow UI URL があります。外部 ID は、外部 ID の URL から Airflow UI にアクセスする必要があります。

  • 外部 ID の URL は https://<UNIQUE_ID>.composer.byoid.googleusercontent.com です。

  • Google アカウントの URL は https://<UNIQUE_ID>.composer.googleusercontent.com です。

外部 ID で認証されたユーザーのみが、外部 ID の URL にアクセスできます。ユーザーがログインしていないときに外部 ID の URL にアクセスすると、まず認証ポータルにリダイレクトされ、Workforce プール プロバイダ名を指定します。次に、ID プロバイダにリダイレクトされてログインし、最後に環境の Airflow UI にリダイレクトされます。

Google Cloud コンソールで DAG UI にアクセスする

DAG UI は、外部 ID ユーザーが連携コンソールの一部として使用できます。アクセスは、IAM ポリシーを使用して管理できます。

完全な Workforce Identity 連携サポートがある環境での Airflow のロールベースのアクセスも考慮され、Airflow UI アクセス制御の使用で説明しているように、ロールを設定することで個々のユーザーに表示される DAG を制限するために使用できます。

Google Cloud CLI にアクセスする

Google Cloud CLI から環境にアクセスするには、外部 ID が次の操作を行う必要があります。

  1. 外部 ID を使用して Google Cloud CLI でログインします。
  2. gcloud composer environments コマンドを実行する。

Cloud Composer API にアクセスする

Cloud Composer API は、OAuth トークンなどのサポートされている認証方式で、外部 ID を使いすべての Cloud Composer 環境を管理するために使用できます。

Airflow REST API にアクセスする

Airflow REST API は、外部 ID のエンドポイントにおいて、OAuth トークンなどのサポートされている認証方式で使用できます。

環境の外部 ID 用エンドポイントの URL を取得するには、次の Google Cloud CLI コマンドを実行します。

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)"

次のステップ