Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)
Esta página descreve como configurar o acesso do usuário ao ambiente do Airflow gerenciado com a federação de identidade de colaboradores.
Sobre a federação de identidade de colaboradores no Airflow gerenciado
Com a federação de identidade de colaboradores, é possível usar um provedor de identidade externo (IdP) para autenticar e autorizar uma força de trabalho que usa o IAM, como funcionários, parceiros e prestadores de serviços. Assim, os usuários podem acessar Google Cloud os serviços do . Para mais informações sobre a federação de identidade de colaboradores, consulte Federação de identidade de colaboradores.
Se a federação de identidade de colaboradores estiver configurada no seu projeto, você poderá acessar o ambiente das seguintes maneiras:
- Página do Airflow gerenciado no Google Cloud console
- Interface do Airflow
- Google Cloud CLI, incluindo a execução de comandos da CLI do Airflow
- API Cloud Composer
- API REST do Airflow
Antes de começar
Todos os novos ambientes do Airflow gerenciado criados a partir da versão 2.1.11 e do Airflow versão 2.4.3 oferecem suporte à federação de identidade de colaboradores. Não é necessário configurar o ambiente de nenhuma maneira específica para oferecer suporte à federação de identidade de colaboradores.
Os ambientes criados antes da versão 2.1.11 e do Airflow versão 2.4.3 e atualizados para versões mais recentes não oferecem suporte à federação de identidade de colaboradores. Você pode verificar se o ambiente oferece suporte à federação de identidade de colaboradores.
As limitações do Cloud Storage para a federação de identidade de colaboradores se aplicam ao bucket do ambiente. Em particular, é necessário ativar o acesso uniforme no nível do bucket no bucket do ambiente para permitir que identidades externas façam upload de DAGs e arquivos para esse bucket.
Os e-mails enviados pelo Airflow incluem apenas o URL da interface do Airflow para Contas do Google. Como as identidades externas só podem acessar a interface do Airflow pelo URL da interface do Airflow para identidades externas, o link precisa ser ajustado (alterado para o URL de identidades externas).
O Airflow gerenciado não oferece suporte ao uso de identidades de terceiros em regras de entrada e saída para permitir operações da interface do Apache Airflow. No entanto, é possível usar o tipo de identidade
ANY_IDENTITYnas regras de entrada e saída para permitir o acesso a todas as identidades, incluindo as de terceiros. Para mais informações sobre o tipo de identidadeANY_IDENTITY, consulte Regras de entrada e saída.
Configurar o acesso ao ambiente com a federação de identidade de colaboradores
Esta seção descreve as etapas para configurar o acesso de identidades externas ao ambiente do Airflow gerenciado.
Configurar seu provedor de identidade
Configure a federação de identidade de colaboradores para seu provedor de identidade seguindo o guia Configurar a federação de identidade de colaboradores.
Conceder papéis do IAM a identidades externas
No Identity and Access Management, conceda papéis do IAM a conjuntos de identidades externas para que elas possam acessar e interagir com seu ambiente:
Para uma lista de papéis específicos do Airflow gerenciado, consulte Conceder papéis aos usuários. Por exemplo, o Usuário do ambiente e leitor de objetos do armazenamento (
composer.environmentAndStorageObjectViewer) permite que um usuário visualize ambientes, acesse a interface do Airflow, visualize e acione DAGs na interface do DAG e visualize objetos em buckets do ambiente.Para instruções sobre como atribuir esses papéis a usuários externos, consulte Conceder papéis do IAM aos principais.
Para um formato de representação de identidades externas nas políticas do IAM, consulte Representar usuários do pool de colaboradores nas políticas do IAM.
Verificar se os novos usuários recebem os papéis corretos do Airflow no controle de acesso da interface do Airflow
O Airflow gerenciado processa usuários do Airflow para identidades externas da mesma forma que para usuários de Contas do Google. Em vez de um endereço de e-mail, um identificador principal é usado. Quando uma identidade externa acessa a interface do Airflow pela primeira vez, um usuário do Airflow é registrado automaticamente no sistema de controle de acesso baseado em papéis do Airflow com o papel padrão.
Verifique se os novos usuários recebem os papéis corretos do Airflow no controle de acesso da interface do Airflow. Você tem duas opções:
- Permitir que identidades externas recebam o papel padrão depois de acessar UI do Airflow pela primeira vez. Se necessário, os usuários administradores do Airflow podem mudar esse papel para outro.
Faça o pré-registro de identidades externas com um conjunto de papéis necessários adicionando registros de usuários do Airflow com os campos de nome de usuário e e-mail definidos como os identificadores principais. Dessa forma, as identidades externas recebem o papel que você atribuiu a elas, não o papel padrão.
Verificar se um ambiente oferece suporte à federação de identidade de colaboradores
Para verificar se o ambiente oferece suporte à federação de identidade de colaboradores, execute o seguinte comando da Google Cloud CLI. Se a saída mostrar um URI, o ambiente oferecerá suporte à federação de identidade de colaboradores.
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
Substitua:
ENVIRONMENT_NAMEpelo nome do ambienteLOCATIONpela região em que o ambiente está localizado
Exemplo:
gcloud composer environments describe example-environment \
--location us-central1 \
--format="value(config.airflowByoidUri)"
Acessar a página do Airflow gerenciado no Google Cloud console
Google Cloud O console da federação de identidade de colaboradores fornece acesso à página do Airflow gerenciado.
Na página Composer do console da Google Cloud federação de identidade de colaboradores, é possível acessar a UI para gerenciar ambientes, registros do Airflow gerenciado, monitoramento e interface do DAG.
Todos os links para a interface do Airflow no console federado apontam para o ponto de acesso da interface do Airflow para identidades externas.
Os ambientes em versões anteriores à 2.1.11 e/ou versões do Airflow anteriores à 2.4.3 podem ter os links da interface do Airflow marcados como "Não disponível". Isso indica que esse ambiente não oferece suporte a usuários da federação de identidade de colaboradores na interface do Airflow. A interface do Airflow para esse ambiente só pode ser acessada com Contas do Google.
Acessar a interface do Airflow
Os ambientes do Airflow gerenciado têm dois URLs para a interface do Airflow: um para Contas do Google e outro para identidades externas. As identidades externas precisam acessar a interface do Airflow pelo URL de identidades externas.
O URL para identidades externas é
https://<UNIQUE_ID>.composer.byoid.googleusercontent.com.O URL para Contas do Google é
https://<UNIQUE_ID>.composer.googleusercontent.com.
Somente usuários autenticados com identidades externas podem acessar o URL de identidades externas. Se um usuário acessar o URL de identidades externas sem fazer login, ele será redirecionado primeiro para o portal de autenticação, em que especifica o nome do provedor do pool de colaboradores. Em seguida, ele será redirecionado para o provedor de identidade para fazer login e, por fim, será redirecionado para a interface do Airflow do ambiente.
Acessar a interface do DAG no Google Cloud console
A interface do DAG está disponível para usuários de identidade externa como parte do console federado. É possível controlar o acesso com políticas do IAM.
O acesso baseado em papéis do Airflow nos ambientes com suporte total à federação de identidade de colaboradores também é considerado e pode ser usado para limitar quais DAGs são visíveis para usuários individuais configurando papéis, conforme descrito em Como usar o controle de acesso da interface do Airflow.
Acessar a CLI do Google Cloud
Para acessar o ambiente pela Google Cloud CLI, as identidades externas precisam fazer o seguinte:
- Fazer login com a Google Cloud CLI usando uma identidade externa.
- Executar
gcloud composer environmentscomandos.
Acessar a API Cloud Composer
A API Cloud Composer pode ser usada com identidades externas para gerenciar todos os ambientes do Airflow gerenciado com os métodos de autenticação aceitos, como tokens OAuth.
Acessar a API REST do Airflow
A API REST do Airflow está disponível no endpoint para identidades externas com os métodos de autenticação aceitos , como tokens OAuth.
Para receber o URL do endpoint de identidades externas do seu ambiente, execute o seguinte comando da Google Cloud CLI:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
Substitua:
ENVIRONMENT_NAMEpelo nome do ambienteLOCATIONpela região em que o ambiente está localizado
Exemplo:
gcloud composer environments describe example-environment \
--location us-central1 \
--format="value(config.airflowByoidUri)"
A seguir
- Controle de acesso com o IAM
- Como usar o controle de acesso da interface do Airflow
- Acessar a CLI do Airflow
- Acessar a API REST do Airflow