Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página descreve como configurar o acesso dos utilizadores ao seu ambiente do Cloud Composer com a Workforce Identity Federation.
Acerca da federação de identidade da força de trabalho no Cloud Composer
A federação de identidades da força de trabalho permite-lhe usar um fornecedor de identidade (IdP) externo para autenticar e autorizar uma força de trabalho, um grupo de utilizadores, como funcionários, parceiros e contratados, através do IAM, para que os utilizadores possam aceder aos serviços do Google Cloud . Para mais informações sobre a federação de identidade da força de trabalho, consulte o artigo Federação de identidade da força de trabalho.
Se a federação de identidade da força de trabalho estiver configurada no seu projeto, pode aceder ao seu ambiente das seguintes formas:
- Página do Cloud Composer na Google Cloud consola
- IU do Airflow
- CLI do Google Cloud, 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 suportam a Workforce Identity Federation. Não precisa de configurar o seu ambiente de forma específica para suportar a federação de identidades 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 suportam a Workforce Identity Federation. Pode verificar se o seu ambiente suporta a federação de identidades da força de trabalho.
As limitações do Cloud Storage para a federação de identidade da força de trabalho aplicam-se ao contentor do ambiente. Em particular, tem de ativar o acesso uniforme ao nível do contentor no contentor do ambiente para permitir que as identidades externas carreguem os respetivos DAGs e ficheiros para este contentor.
Os emails enviados a partir do Airflow incluem apenas o URL da IU do Airflow para contas Google. Uma vez que as identidades externas só podem aceder à IU do Airflow através do URL da IU do Airflow para identidades externas, o link tem de ser ajustado (alterado para o URL para identidades externas).
Configure o acesso ao seu ambiente com a federação de identidade da força de trabalho
Esta secção descreve os passos para configurar o acesso de identidades externas ao seu ambiente do Cloud Composer.
Configure o Fornecedor de identidade
Configure a federação de identidade da força de trabalho para o seu Fornecedor de identidade seguindo o guia Configure a federação de identidade da força de trabalho.
Conceda funções de IAM a identidades externas
Na gestão de identidade e de acesso, conceda funções da IAM a conjuntos de identidades externas para que possam aceder e interagir com o seu ambiente:
Para ver uma lista de funções específicas do Cloud Composer, consulte o artigo Conceda funções aos utilizadores. Por exemplo, a função Environment User and Storage Object Viewer (
composer.environmentAndStorageObjectViewer
) permite que um utilizador veja ambientes, aceda à IU do Airflow, veja e acione DAGs a partir da IU do DAG e veja objetos em contentores de ambiente.Para obter instruções sobre a atribuição destas funções a utilizadores externos, consulte o artigo Conceda funções de IAM a responsáveis.
Para um formato de representação de identidades externas em políticas de IAM, consulte o artigo Represente utilizadores do pool de força de trabalho em políticas de IAM.
Verifique se os novos utilizadores recebem as funções corretas do Airflow no controlo de acesso da IU do Airflow
O Cloud Composer processa os utilizadores do Airflow para identidades externas da mesma forma que para utilizadores da Conta Google. Em vez de um endereço de email, é usado um identificador principal. Quando uma identidade externa acede à IU do Airflow pela primeira vez, um utilizador do Airflow é registado automaticamente no sistema de controlo de acesso baseado em funções do Airflow com a função predefinida.
Verifique se os novos utilizadores recebem as funções corretas do Airflow no controlo de acesso da IU do Airflow. Tem duas opções:
- Permitir que as identidades externas recebam a função predefinida depois de acederem à IU do Airflow pela primeira vez. Se necessário, os utilizadores administradores do Airflow podem alterar esta função para uma diferente.
Pré-registe identidades externas com um conjunto de funções obrigatórias adicionando registos de utilizadores do Airflow com os campos de nome de utilizador e email definidos para os respetivos identificadores principais. Desta forma, as identidades externas recebem a função que lhes atribuiu e não a função predefinida.
Verifique se um ambiente suporta a federação de identidade da força de trabalho
Para verificar se o seu ambiente suporta a federação de identidades da força de trabalho, execute o seguinte comando da CLI Google Cloud. Se o resultado mostrar um URI, o seu ambiente suporta a federação de identidades da força de trabalho.
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
Substituir:
ENVIRONMENT_NAME
com o nome do ambiente.LOCATION
com a região onde o ambiente está localizado.
Exemplo:
gcloud composer environments describe example-environment \
--location us-central1 \
--format="value(config.airflowByoidUri)"
Aceda à página do Cloud Composer na Google Cloud consola
Google Cloud Consola da federação de identidade da força de trabalho fornece acesso à página do Cloud Composer.
Na página Composer na consola da Google Cloud Workforce Identity Federation, pode aceder à IU para gerir ambientes, registos do Cloud Composer, monitorização e IU do DAG.
Todos os links para a IU do Airflow na consola federada apontam para o ponto de acesso da IU do Airflow para identidades externas.
Os ambientes em versões anteriores a 2.1.11 e/ou versões do Airflow anteriores a 2.4.3 podem ter os respetivos links da IU do Airflow marcados como "Não disponível". Isto indica que este ambiente não suporta utilizadores da federação de identidades da força de trabalho na IU do Airflow. Só é possível aceder à IU do Airflow para este ambiente com Contas Google.
Aceda à IU do Airflow
Os ambientes do Cloud Composer têm dois URLs para a IU do Airflow: um para contas Google e outro para identidades externas. As identidades externas têm de aceder à IU do Airflow através do URL para identidades externas.
O URL das identidades externas é
https://<UNIQUE_ID>.composer.byoid.googleusercontent.com
.O URL das Contas Google é
https://<UNIQUE_ID>.composer.googleusercontent.com
.
Apenas os utilizadores autenticados com identidades externas podem aceder ao URL para identidades externas. Se um utilizador visitar o URL das identidades externas sem ter sessão iniciada, é primeiro redirecionado para o portal de autenticação onde especifica o nome do fornecedor do pool de força de trabalho. Em seguida, é redirecionado para o respetivo fornecedor de identidade para iniciar sessão e, finalmente, é redirecionado para a IU do Airflow do ambiente.
Aceda à IU do DAG na consola do Google Cloud
A IU do DAG está disponível para utilizadores de identidade externa como parte da consola federada. Pode controlar o acesso com políticas de IAM.
O acesso baseado em funções do Airflow nos ambientes com suporte total da Workforce Identity Federation também é tido em conta e pode ser usado para limitar os DAGs visíveis para utilizadores individuais através da configuração de funções, conforme descrito em Usar o controlo de acesso da IU do Airflow.
Aceda à CLI do Google Cloud
Para aceder ao seu ambiente através da CLI do Google Cloud, as identidades externas têm de fazer o seguinte:
- Inicie sessão na CLI do Google Cloud com uma identidade externa.
- Executar comandos
gcloud composer environments
.
Aceda à API Cloud Composer
A API Cloud Composer pode ser usada com identidades externas para gerir todos os ambientes do Cloud Composer com os métodos de autenticação suportados, como tokens OAuth.
Aceda à API REST do Airflow
A API REST do Airflow está disponível no ponto final para identidades externas com os métodos de autenticação suportados, como tokens OAuth.
Para obter o URL do ponto final das identidades externas para o seu ambiente, execute o seguinte comando da CLI gcloud do Google Cloud:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.airflowByoidUri)"
Substituir:
ENVIRONMENT_NAME
com o nome do ambiente.LOCATION
com a região onde o ambiente está localizado.
Exemplo:
gcloud composer environments describe example-environment \
--location us-central1 \
--format="value(config.airflowByoidUri)"
O que se segue?
- Controlo de acesso com o IAM
- Usar o controlo de acesso da IU do Airflow
- Aceda à CLI do Airflow
- Aceda à API REST do Airflow