Cloud Composer 1 | Cloud Composer 2
Nesta página, descrevemos como configurar o acesso de usuários ao ambiente do Cloud Composer com a federação de identidade da força de trabalho.
Sobre a federação de identidade da força de trabalho no Cloud Composer
A federação de identidade da força de trabalho permite que você use um provedor de identidade externo (IdP, na sigla em inglês) 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 eles possam acessar os serviços do Google Cloud. Para mais informações sobre a federação de identidade da força de trabalho, consulte Federação de identidades da força de trabalho.
Se a federação de identidade da força de trabalho estiver configurada no projeto, será possível 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 da força de trabalho. Você não precisa configurar seu ambiente de nenhuma maneira específica para oferecer suporte à federação de identidade da força de trabalho.
Os ambientes criados antes da versão 2.1.11 e da versão 2.4.3 do Airflow e atualizados para versões posteriores não são compatíveis com a federação de identidade da força de trabalho. É possível verificar se o ambiente é compatível com a federação de identidade da força de trabalho.
As limitações do Cloud Storage para federação de identidade da força de trabalho se aplicam ao bucket do ambiente. Especificamente, é preciso ativar o acesso uniforme no nível do bucket no bucket do ambiente para permitir que identidades externas façam upload dos DAGs e arquivos para esse bucket.
Os e-mails enviados do Airflow incluem apenas o URL da IU do Airflow para Contas do Google. Como as identidades externas só podem acessar a IU do Airflow por meio do URL da IU do Airflow para identidades externas, o link precisa ser ajustado (alterado para o URL de identidades externas).
Configure o acesso ao seu ambiente com a federação de identidade de colaboradores
Nesta seção, descrevemos as etapas para configurar o acesso de identidades externas ao seu ambiente do Cloud Composer.
Configurar seu provedor de identidade
Configure a federação de identidade da força de trabalho para seu provedor seguindo o guia Configurar federação de identidade da força de trabalho.
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 possam acessar e interagir com o ambiente:
Para 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 visualize ambientes, acesse a IU do Airflow, visualize e acione DAGs da IU 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 a principais.
Para um formato de representação de identidades externas nas políticas do IAM, consulte Representar usuários do pool de forças de trabalho nas políticas do IAM.
Verificar se os novos usuários recebem os papéis corretos do Airflow no controle de acesso da IU do Airflow
O Cloud Composer processa os usuários do Airflow para identidades externas da mesma forma que os usuários da Conta do Google. Em vez de um endereço de e-mail, um identificador principal é usado. Quando uma identidade externa acessa a IU do Airflow pela primeira vez, um usuário do Airflow é registrado automaticamente no sistema de controle de acesso 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 IU do Airflow. Você tem duas opções:
- Permita que identidades externas recebam o papel padrão depois de acessar a UI do Airflow pela primeira vez. Se necessário, os usuários administradores do Airflow podem alterar esse papel.
Faça o pré-registro de identidades externas com um conjunto de papéis necessários, adicionando os 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 atribuído a elas, não o papel padrão.
Verificar se um ambiente é compatível com a federação de identidade de colaboradores
Para verificar se o ambiente é compatível com a federação de identidade da força de trabalho, execute o seguinte comando da Google Cloud CLI. Se a saída mostrar um URI, seu ambiente será compatível com a federação de identidade da força de trabalho.
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 Console da federação de identidade da força de trabalho do Google Cloud fornece acesso à página do Cloud Composer.
Na página do Composer, no console de federação de identidade da força de trabalho do Google Cloud, é possível acessar a UI para gerenciar ambientes, registros do Cloud Composer, monitoramento e IU do DAG.
Todos os links para a IU do Airflow no console federado apontam para o ponto de acesso da IU do Airflow para identidades externas.
Os ambientes em versões anteriores à 2.1.11 e as versões do Airflow anteriores à 2.4.3 podem ter os links de IU do Airflow marcados como "Não disponíveis". Isso indica que esse ambiente não é compatível com usuários da federação de identidade da força de trabalho na IU do Airflow. A IU do Airflow para esse ambiente só pode ser acessada com Contas do Google.
Acessar a IU do Airflow
Os ambientes do Cloud Composer têm dois URLs para a IU do Airflow: um para contas do Google e outro para identidades externas. Identidades externas precisam acessar a IU do Airflow por meio do URL para identidades externas.
O URL de 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 de identidades externas. Se um usuário visitar o URL de identidades externas sem estar conectado, ele será redirecionado primeiro para o portal de autenticação, em que especifica o nome do provedor do pool de forças de trabalho. Em seguida, ele é redirecionado para o provedor de identidade para fazer login e, por fim, é redirecionado para a IU do Airflow do ambiente.
Acessar a IU do DAG no Console do Google Cloud
A IU do 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 papéis do Airflow em ambientes com compatibilidade total com a federação de identidade da força de trabalho também é levado em consideração e pode ser usado para limitar quais DAGs são visíveis para usuários individuais ao configurar papéis, conforme descrito em Como usar o controle de acesso da IU do Airflow.
Acessar a Google Cloud CLI
Para acessar seu ambiente por meio da Google Cloud CLI, as identidades externas precisam fazer o seguinte:
- Faça login com a Google Cloud CLI 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 Composer com os métodos de autenticação compatíveis, como tokens OAuth.
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 ver o URL do endpoint de identidades externas do ambiente, use o comando gcloud composer environments describe
, conforme mostrado na seção Verificar se um ambiente é compatível com a federação de identidade da força de trabalho.
A seguir
- Controle de acesso com o IAM
- Como usar o controle de acesso da IU do Airflow
- Acessar a CLI do Airflow
- Acessar a API REST do Airflow