Acessar recursos em outro projeto

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Esta página descreve como acessar recursos localizados em um projeto do Google Cloud diferente do seu ambiente do Cloud Composer.

Recomendamos acessar recursos em outros projetos do Google Cloud da seguinte maneira:

  1. Nos DAGs, use as conexões padrão pré-configuradas no ambiente.

    Por exemplo, a conexão google_cloud_default é usada por muitos operadores do Google Cloud e é configurado automaticamente quando você criar um ambiente.

  2. Conceda permissões e papéis extras do IAM à conta de serviço do seu ambiente para que ela possa acessar recursos em outro projeto.

Determinar a conta de serviço do ambiente

Para determinar a conta de serviço do seu ambiente:

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. A conta de serviço do seu ambiente está listada em no campo Conta de serviço.

    O valor é um endereço de e-mail, como service-account-name@example-project.iam.gserviceaccount.com.

gcloud

gcloud composer environments describe ENVIRONMENT_NAME \
    --location LOCATION \
    --format="get(config.nodeConfig.serviceAccount)"

O valor é um endereço de e-mail, como service-account-name@example-project.iam.gserviceaccount.com.

Conceder papéis e permissões do IAM para acessar recursos em outro projeto

A conta de serviço do seu ambiente precisa de permissões para acessar recursos em outro projeto. Esses papéis e permissões podem ser diferentes com base no recurso que você quer acessar.

Acessar um recurso específico

Recomendamos conceder papéis e permissões para recursos específicos, como um único bucket do Cloud Storage localizado em um projeto diferente. Neste abordagem, use o acesso baseado em recursos com vinculações de papéis condicionais.

Para acessar um recurso específico:

  1. Siga o Guia Configurar o acesso baseado em recursos.
  2. Ao conceder papéis e permissões, especifique a conta de serviço do seu ambiente como um principal.

Acessar um tipo de recurso

Como alternativa, é possível conceder funções e permissões com base no tipo de recurso, como todos os buckets do Cloud Storage localizados em um projeto diferente.

Para acessar um tipo de recurso:

  1. Siga o guia Gerenciar o acesso a outros recursos.
  2. Ao conceder papéis e permissões, especifique a conta de serviço do seu ambiente como um principal.

Depois de conceder as permissões e os papéis necessários, é possível acessar os recursos em um projeto diferente com as mesmas conexões padrão do Airflow que você usa para acessar recursos no projeto em que seu ambiente localizado.

A seguir