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
A federação de identidade de colaboradores permite usar um provedor de identidade externo (IdP) para autenticar e autorizar uma força de trabalho, um grupo de usuários, como funcionários, parceiros e prestadores de serviços, usando o IAM, para que os usuários possam acessar Cloud de Confiance by S3NS serviços. 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 Cloud de Confiance console
- IU 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
Não é necessário configurar o ambiente de uma maneira específica para oferecer suporte à federação de identidade de colaboradores. Todas as versões do Airflow no Airflow gerenciado (Geração 3) oferecem 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.
Acessar a página do Airflow gerenciado no Cloud de Confiance console
Cloud de Confiance by S3NS O console da federação de identidade de colaboradores fornece acesso à página do Airflow gerenciado.
Na página Composer no console da federação de identidade de colaboradores Cloud de Confiance by S3NS , você pode 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.
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 Cloud de Confiance 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 completo à 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)"