Acessar ambientes com a federação de identidade de colaboradores

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 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:

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 ambiente
  • LOCATION 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:

  1. Faça login com a Google Cloud CLI usando uma identidade externa.
  2. 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