Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, descrevemos como configurar o acesso de usuários ao ambiente do Cloud Composer com a federação de identidade de colaboradores.
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, na sigla em inglês) para autenticar e autorizar uma força de trabalho, ou seja, um grupo de usuários, como funcionários, parceiros e contratados, usando o IAM, para que os usuários possam acessar os serviços do Google Cloud. 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, 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 da versão 2.4.3 do Airflow são compatíveis com a federação de identidade de colaboradores. Não é necessário configurar seu ambiente de nenhuma maneira específica para oferecer suporte à federação de identidade de colaboradores.
Ambientes criados antes da versão 2.1.11 e do Airflow versão 2.4.3 e atualizados para versões posteriores não são compatíveis com a federação de identidade de colaboradores. É possível verificar se o ambiente tem 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. Especificamente, é necessário 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 pelo Airflow incluem apenas o URL da interface do Airflow para Contas do Google. Como identidades externas só podem acessar a interface do Airflow pelo URL dessa interface, o link precisa ser ajustado (alterado para o URL no caso das identidades externas).
Configurar 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 ambiente do Cloud Composer.
Configurar seu provedor de identidade
Configure a federação de identidade de colaboradores 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 eles possam acessar e interagir com seu ambiente:
Para uma lista de papéis específicos do Cloud Composer, consulte Conceder papéis a 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 interface do Airflow, visualize e acione DAGs da 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 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.
Verificar se os novos usuários recebem os papéis corretos do Airflow no controle de acesso da interface do Airflow
O Cloud Composer processa usuários do Airflow para identidades externas da mesma maneira que faz com usuários de Contas do Google. Em vez de um endereço de e-mail, é usado um identificador principal. Quando uma identidade externa acessa a interface do Airflow pela primeira vez, um usuário do Airflow é registrado automaticamente com o papel padrão no sistema de controle de acesso baseado em papéis do Airflow.
Verifique se os novos usuários recebem os papéis corretos do Airflow em Controle de acesso à IU do Airflow. Você tem duas opções:
- Permita 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 alterar esse papel para outro.
Faça o pré-registro de identidades externas com um conjunto de papéis obrigatórios adicionando registros de usuário do Airflow com o nome de usuário e campos de 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 é compatível com a federação de identidade de colaboradores
Para verificar se o ambiente é compatível com a federação de identidade de colaboradores, execute o seguinte comando da Google Cloud CLI. Se a saída mostrar um URI, o ambiente oferece suporte à 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 console da federação de identidade de colaboradores do Google Cloud fornece acesso à página do Cloud Composer.
Na página do Composer no console da federação de identidade de colaboradores do Google Cloud, é possível acessar a UI para gerenciar ambientes, registros do Cloud Composer, 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.
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 é compatível com usuários da federação de identidade de colaboradores na interface do Airflow. Só é possível acessar a interface do Airflow desse ambiente 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 por meio do URL das 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 para identidades externas. Se um usuário acessar o URL de identidades externas sem fazer login, primeiro ele será redirecionado para o portal de autenticação, onde especifica o nome do provedor do pool de força de trabalho. Em seguida, ele será redirecionado ao provedor de identidade para fazer login e, por fim, será redirecionado para a interface do Airflow do ambiente.
Acessar a interface do DAG no console do Google Cloud
A interface do DAG está disponível para usuários de identidade externos 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 ficam 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 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 os 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 conseguir o URL do endpoint para identidades externas do seu 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 de colaboradores.
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