Accedere agli ambienti con la federazione delle identità della forza lavoro

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

Questa pagina descrive come configurare l'accesso utente al tuo ambiente Managed Airflow con la federazione delle identità per la forza lavoro.

Informazioni sulla federazione delle identità per la forza lavoro in Managed Airflow

La federazione delle identità per la forza lavoro ti consente di utilizzare un provider di identità (IdP) esterno per autenticare e autorizzare una forza lavoro (un gruppo di utenti, come dipendenti, partner e collaboratori) utilizzando IAM, in modo che gli utenti possano accedere ai Google Cloud servizi. Per ulteriori informazioni sulla federazione delle identità per la forza lavoro, consulta Federazione delle identità per la forza lavoro.

Se la federazione delle identità per la forza lavoro è configurata nel tuo progetto, puoi accedere al tuo ambiente nei seguenti modi:

  • Pagina Managed Airflow nella Google Cloud console
  • UI di Airflow
  • Google Cloud CLI, inclusa l'esecuzione dei comandi Airflow CLI
  • API Composer
  • API REST Airflow

Prima di iniziare

  • Tutti i nuovi ambienti Managed Airflow creati a partire dalla versione 2.1.11 e dalla versione 2.4.3 di Airflow supportano la federazione delle identità per la forza lavoro. Non devi configurare l'ambiente in modo specifico per supportare la federazione delle identità per la forza lavoro.

  • Gli ambienti creati prima della versione 2.1.11 e della versione 2.4.3 di Airflow e sottoposti ad upgrade a versioni successive non supportano la federazione delle identità per la forza lavoro. Puoi verificare se il tuo ambiente supporta la federazione delle identità per la forza lavoro.

  • Le limitazioni di Cloud Storage per la federazione delle identità per la forza lavoro si applicano al bucket dell'ambiente. In particolare, devi abilitare l'accesso uniforme a livello di bucket nel bucket dell'ambiente per consentire alle identità esterne di caricare i DAG e i file in questo bucket.

  • Le email inviate da Airflow includono solo l' URL della UI di Airflow per gli Account Google. Poiché le identità esterne possono accedere alla UI di Airflow solo tramite l'URL della UI di Airflow per le identità esterne, il link deve essere modificato (cambiato con l'URL per le identità esterne).

  • Managed Airflow non supporta l'utilizzo di identità di terze parti nelle regole in entrata e in uscita per consentire le operazioni della UI di Apache Airflow. Tuttavia, puoi utilizzare il tipo di identità ANY_IDENTITY nelle regole in entrata e in uscita per consentire l'accesso a tutte le identità, incluse quelle di terze parti. Per ulteriori informazioni sul tipo di identità ANY_IDENTITY, consulta Regole in entrata e in uscita.

Configurare l'accesso al tuo ambiente con la federazione delle identità per la forza lavoro

Questa sezione descrive i passaggi per configurare l'accesso delle identità esterne al tuo ambiente Managed Airflow.

Configura il tuo provider di identità

Configura la federazione delle identità per la forza lavoro per il tuo provider di identità seguendo la guida Configurare la federazione delle identità per la forza lavoro.

Concedi ruoli IAM alle identità esterne

In Identity and Access Management, concedi ruoli IAM a insiemi di identità esterne, in modo che possano accedere al tuo ambiente e interagire con esso:

Verifica che i nuovi utenti ricevano i ruoli Airflow corretti nel controllo dell'accesso alla UI di Airflow

Managed Airflow gestisce gli utenti Airflow per le identità esterne allo stesso modo degli utenti degli Account Google. Al posto di un indirizzo email, viene utilizzato un identificatore principale. Quando un'identità esterna accede alla UI di Airflow per la prima volta, un utente Airflow viene registrato automaticamente nel sistema di controllo dell'accesso basato sui ruoli di Airflow con il ruolo predefinito.

Verifica che i nuovi utenti ricevano i ruoli Airflow corretti in Controllo dell'accesso alla UI di Airflow. Puoi scegliere tra due opzioni:

  • Consenti alle identità esterne di ricevere il ruolo predefinito dopo aver eseguito l'accesso alla UI di Airflow per la prima volta. Se necessario, gli utenti amministratori di Airflow possono modificare questo ruolo in un altro.
  • Registra in anticipo le identità esterne con un insieme di ruoli obbligatori aggiungendo record utente Airflow con i campi nome utente ed email impostati sui relativi identificatori principali. In questo modo, le identità esterne ottengono il ruolo che hai assegnato loro, non il ruolo predefinito.

Verificare se un ambiente supporta la federazione delle identità per la forza lavoro

Per verificare se il tuo ambiente supporta la federazione delle identità per la forza lavoro, esegui il seguente comando Google Cloud CLI. Se l'output mostra un URI, il tuo ambiente supporta la federazione delle identità per la forza lavoro.

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

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.

Esempio:

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

Accedere alla pagina Managed Airflow nella Google Cloud console

Google Cloud La console della federazione delle identità per la forza lavoro fornisce l'accesso alla pagina Managed Airflow.

Dalla pagina Composer nella console della federazione delle identità per la forza lavoro, puoi accedere alla UI per la gestione degli ambienti, ai log di Managed Airflow, al monitoraggio e alla UI DAG. Google Cloud

Tutti i link alla UI di Airflow nella console federata rimandano al punto di accesso della UI di Airflow per le identità esterne.

I link alla UI di Airflow degli ambienti nelle versioni precedenti alla 2.1.11 e/o nelle versioni di Airflow precedenti alla 2.4.3 potrebbero essere contrassegnati come "Non disponibile". Ciò indica che questo ambiente non supporta gli utenti della federazione delle identità per la forza lavoro nella UI di Airflow. È possibile accedere alla UI di Airflow per questo ambiente solo con gli Account Google.

Accedere alla UI di Airflow

Gli ambienti Managed Airflow hanno due URL per la UI di Airflow: uno per gli Account Google e un altro per le identità esterne. Le identità esterne devono accedere alla UI di Airflow tramite l'URL per le identità esterne.

  • L'URL per le identità esterne è https://<UNIQUE_ID>.composer.byoid.googleusercontent.com.

  • L'URL per gli Account Google è https://<UNIQUE_ID>.composer.googleusercontent.com.

Solo gli utenti autenticati con identità esterne possono accedere all'URL per le identità esterne. Se un utente visita l'URL per le identità esterne senza aver eseguito l'accesso, viene prima reindirizzato al portale di autenticazione in cui specifica il nome del provider del pool di forza lavoro, poi viene reindirizzato al provider di identità per accedere e infine alla UI di Airflow dell'ambiente.

Accedere alla UI DAG nella Google Cloud console

La UI DAG è disponibile per gli utenti con identità esterne come parte della console federata. Puoi controllare l'accesso con le policy IAM.

Viene preso in considerazione anche il controllo dell'accesso basato sui ruoli di Airflow negli ambienti con supporto completo della federazione delle identità per la forza lavoro, che può essere utilizzato per limitare i DAG visibili per i singoli utenti configurando i ruoli, come descritto in Utilizzare il controllo dell'accesso alla UI di Airflow.

Accedere a Google Cloud CLI

Per accedere al tuo ambiente tramite Google Cloud CLI, le identità esterne devono:

  1. Accedere con Google Cloud CLI utilizzando un'identità esterna.
  2. Eseguire gcloud composer environments comandi.

Accedere all'API Composer

L'API Cloud Composer può essere utilizzata con identità esterne per gestire tutti gli ambienti Managed Airflow con i metodi di autenticazione supportati, come i token OAuth.

Accedere all'API REST Airflow

L'API REST Airflow è disponibile all' endpoint per le identità esterne con i metodi di autenticazione supportati , come i token OAuth.

Per ottenere l'URL dell'endpoint per le identità esterne per il tuo ambiente, esegui il seguente comando Google Cloud CLI:

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

Sostituisci:

  • ENVIRONMENT_NAME con il nome dell'ambiente.
  • LOCATION con la regione in cui si trova l'ambiente.

Esempio:

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

Passaggi successivi