Mengakses lingkungan dengan Workforce Identity Federation

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara mengonfigurasi akses pengguna ke lingkungan Cloud Composer dengan Workforce Identity Federation.

Tentang Workforce Identity Federation di Cloud Composer

Workforce Identity Federation memungkinkan Anda menggunakan penyedia identitas (IdP) eksternal untuk mengautentikasi dan memberi otorisasi kepada tenaga kerja—sekelompok pengguna, seperti karyawan, partner, dan kontraktor—menggunakan IAM, sehingga pengguna dapat mengakses layanan Google Cloud. Untuk informasi selengkapnya tentang Workforce Identity Federation, lihat Workforce Identity Federation.

Jika Workforce Identity Federation dikonfigurasi dalam project, Anda dapat mengakses lingkungan dengan cara berikut:

  • Halaman Cloud Composer di konsol Google Cloud
  • UI Airflow
  • Google Cloud CLI, termasuk menjalankan perintah Airflow CLI
  • Cloud Composer API
  • Airflow REST API

Sebelum memulai

  • Anda tidak perlu mengonfigurasi lingkungan dengan cara tertentu untuk mendukung Workforce Identity Federation. Semua build Airflow di Cloud Composer 3 mendukung Workforce Identity Federation.

  • Batasan Cloud Storage untuk Workforce Identity Federation berlaku untuk bucket lingkungan. Secara khusus, Anda harus mengaktifkan akses level bucket yang seragam di bucket lingkungan untuk mengizinkan identitas eksternal mengupload DAG dan file mereka ke bucket ini.

  • Email yang dikirim dari Airflow hanya menyertakan URL UI Airflow untuk akun Google. Karena identitas eksternal hanya dapat mengakses UI Airflow melalui URL UI Airflow untuk identitas eksternal, link harus disesuaikan (diubah menjadi URL untuk identitas eksternal).

Menyiapkan akses ke lingkungan Anda dengan Workforce Identity Federation

Bagian ini menjelaskan langkah-langkah untuk mengonfigurasi akses bagi identitas eksternal ke lingkungan Cloud Composer Anda.

Konfigurasikan penyedia identitas Anda

Konfigurasikan Workforce Identity Federation untuk penyedia identitas Anda dengan mengikuti panduan Mengonfigurasi Workforce Identity Federation.

Memberikan peran IAM ke identitas eksternal

Di Identity and Access Management, berikan peran IAM ke kumpulan identitas eksternal, sehingga identitas tersebut dapat mengakses dan berinteraksi dengan lingkungan Anda:

Memeriksa apakah pengguna baru menerima peran Airflow yang benar di Kontrol Akses UI Airflow

Cloud Composer menangani pengguna Airflow untuk identitas eksternal dengan cara yang sama seperti untuk pengguna akun Google. Sebagai ganti alamat email, ID utama akan digunakan. Saat identitas eksternal mengakses UI Airflow untuk pertama kalinya, pengguna Airflow akan otomatis terdaftar di sistem kontrol akses berbasis peran Airflow dengan peran default.

Pastikan pengguna baru menerima peran Airflow yang benar di Kontrol Akses UI Airflow. Anda memiliki dua opsi:

  • Izinkan identitas eksternal menerima peran default setelah mereka mengakses UI Airflow untuk pertama kalinya. Jika diperlukan, pengguna admin Airflow dapat mengubah peran ini menjadi peran lain.
  • Pradaftarkan identitas eksternal dengan kumpulan peran yang diperlukan dengan menambahkan kumpulan pengguna Airflow dengan kolom nama pengguna dan email yang ditetapkan ke ID utama mereka. Dengan cara ini, identitas eksternal akan mendapatkan peran yang Anda tetapkan, bukan peran default.

Mengakses halaman Cloud Composer di konsol Google Cloud

Konsol Workforce Identity Federation Google Cloud memberikan akses ke halaman Cloud Composer.

Dari halaman Composer di konsol Google Cloud Workforce Identity Federation, Anda dapat mengakses UI untuk mengelola lingkungan, log Cloud Composer, pemantauan, dan UI DAG.

Semua link ke UI Airflow di konsol gabungan mengarah ke titik akses UI Airflow untuk identitas eksternal.

Mengakses UI Airflow

Lingkungan Cloud Composer memiliki dua URL untuk UI Airflow: satu untuk akun Google dan satu lagi untuk identitas eksternal. Identitas eksternal harus mengakses UI Airflow melalui URL untuk identitas eksternal.

  • URL untuk identitas eksternal adalah https://<UNIQUE_ID>.composer.byoid.googleusercontent.com.

  • URL untuk Akun Google adalah https://<UNIQUE_ID>.composer.googleusercontent.com.

Hanya pengguna yang diautentikasi dengan identitas eksternal yang dapat mengakses URL untuk identitas eksternal. Jika pengguna mengunjungi URL untuk identitas eksternal saat tidak login, mereka akan dialihkan terlebih dahulu ke portal autentikasi tempat mereka menentukan nama penyedia kumpulan tenaga kerja, lalu mereka dialihkan ke penyedia identitas untuk login, dan akhirnya mereka dialihkan ke UI Airflow lingkungan.

Mengakses UI DAG di konsol Google Cloud

UI DAG tersedia untuk pengguna identitas eksternal sebagai bagian dari konsol gabungan. Anda dapat mengontrol akses dengan kebijakan IAM.

Akses berbasis peran Airflow di lingkungan dengan dukungan Workforce Identity Federation penuh juga diperhitungkan dan dapat digunakan untuk membatasi DAG yang terlihat oleh setiap pengguna dengan menyiapkan peran, seperti yang dijelaskan dalam Menggunakan Kontrol Akses UI Airflow.

Mengakses Google Cloud CLI

Untuk mengakses lingkungan Anda melalui Google Cloud CLI, identitas eksternal harus melakukan hal berikut:

  1. Login dengan Google Cloud CLI menggunakan identitas eksternal.
  2. Jalankan perintah gcloud composer environments.

Mengakses Cloud Composer API

Cloud Composer API dapat digunakan dengan identitas eksternal untuk mengelola semua lingkungan Cloud Composer dengan metode autentikasi yang didukung seperti token OAuth.

Mengakses Airflow REST API

Airflow REST API tersedia di endpoint untuk identitas eksternal dengan metode autentikasi yang didukung seperti token OAuth.

Untuk mendapatkan URL endpoint untuk identitas eksternal bagi lingkungan Anda, jalankan perintah Google Cloud CLI berikut:

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

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan tersebut berada.

Contoh:

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

Langkah selanjutnya