Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página descreve como configurar o acesso do usuário ao seu ambiente do Cloud Composer com a federação de identidade do Workforce.
Sobre a federação de identidade de colaboradores no Cloud Composer
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. Assim, os usuários podem acessar Google Cloud 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 da força de trabalho estiver configurada no seu projeto, você poderá acessar o ambiente das seguintes maneiras:
- Página do Cloud Composer no console do Google Cloud
- 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
Todos os novos ambientes do Cloud Composer criados a partir da versão 2.1.11 e do Airflow versão 2.4.3 são compatíveis com a Federação de identidade de colaboradores. Não é necessário configurar seu ambiente de uma maneira específica para oferecer suporte à federação de identidade de colaboradores.
Os ambientes criados antes da versão 2.1.11 e da versão do Airflow 2.4.3 e atualizados para versões mais recentes não oferecem suporte à federação de identidade da força de trabalho. Você pode verificar se o ambiente oferece suporte à federação de identidade da força de trabalho.
As limitações do Cloud Storage para a federação de identidade da força de trabalho se aplicam ao bucket do ambiente. Especifique 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 para identidades externas).
Configurar o acesso ao seu ambiente com a federação de identidade do funcionário
Esta seção descreve as etapas para configurar o acesso de identidades externas ao seu ambiente do Cloud Composer.
Configurar o 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 conferir uma lista de papéis específicos do Cloud Composer, consulte Conceder papéis aos usuários. Por exemplo, o papel Usuário do ambiente e leitor de objetos do Storage (
composer.environmentAndStorageObjectViewer
) permite que um usuário consulte ambientes, acesse a interface do Airflow, visualize e acione DAGs na interface do DAG e consulte objetos em buckets do ambiente.Para instruções sobre como atribuir essas funções a usuários externos, consulte Conceder papéis do IAM a principais.
Para um formato de representação de identidades externas nas políticas do IAM, consulte Representar usuários do pool de força de trabalho nas políticas do IAM.
Verifique se os novos usuários recebem as funções corretas do Airflow no controle de acesso da interface do Airflow
O Cloud Composer processa os usuários do Airflow para identidades externas da mesma forma que os 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 a função padrão.
Verifique se os novos usuários recebem as funções corretas 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 a interface do Airflow pela primeira vez. Se necessário, os usuários administradores do Airflow podem mudar essa função para outra.
Faça o pré-registro de identidades externas com um conjunto de papéis obrigatórios adicionando registros de usuários do Airflow com os campos de nome de usuário e e-mail definidos como 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 do funcionário
Para verificar se o ambiente oferece suporte à federação de identidade do Workforce, execute o comando da CLI do Google Cloud abaixo. Se a saída mostrar um URI, seu ambiente é compatível com a federação de identidade de colaboradores.
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela 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 Cloud Composer no console do Google Cloud
O Google Cloud console da federação de identidade de colaboradores oferece acesso à página do Cloud Composer.
Na página Composer do console da Google Cloud Federated Identity da força de trabalho, é possível acessar a IU para gerenciar ambientes, logs do Cloud Composer, monitoramento e a IU 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.
Ambientes em versões anteriores à 2.1.11 e versões do Airflow anteriores à 2.4.3 podem ter 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 Cloud Composer 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 para identidades externas.
O URL para identidades externas é
https://<UNIQUE_ID>.composer.byoid.googleusercontent.com
.O URL das Contas do Google é
https://<UNIQUE_ID>.composer.googleusercontent.com
.
Somente usuários autenticados com identidades externas podem acessar o URL para 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, onde especifica o nome do provedor do pool de força de trabalho, depois para o provedor de identidade para fazer login e, por fim, para a interface do Airflow do ambiente.
Acessar a IU de DAG no console do Google Cloud
A interface da DAG está disponível para usuários de identidade externa como parte do console federado. É possível controlar o acesso com as políticas do IAM.
O acesso baseado em função do Airflow nos ambientes com suporte total à federação de identidade de colaboradores também é levado em consideração e pode ser usado para limitar quais DAGs ficam visíveis para usuários individuais, configurando funções, conforme descrito em Como usar o controle de acesso da interface do Airflow.
Acessar a CLI do Google Cloud
Para acessar o ambiente pela CLI do Google Cloud, as identidades externas precisam fazer o seguinte:
- Faça login na CLI do Google Cloud usando uma identidade externa.
- Execute comandos
gcloud composer environments
.
Acessar a API Cloud Composer
A API Cloud Composer pode ser usada com identidades externas para gerenciar todos os ambientes do Cloud Composer com os métodos de autenticação compatíveis, 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 compatíveis, como tokens OAuth.
Para conferir o URL do endpoint de identidades externas do seu ambiente, execute o comando da CLI do Google Cloud a seguir:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela 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