Acessar recursos em outro projeto

Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)

Nesta página, descrevemos como acessar recursos localizados em um Google Cloud projeto diferente do ambiente do Airflow gerenciado.

Se você quiser usar uma conta de serviço de um projeto para executar ambientes em outro, consulte Como usar uma conta de serviço de outro projeto.

Se você quiser usar operadores do Airflow para interagir com ambientes do Airflow gerenciado, incluindo ambientes em outros projetos, consulte Acionar DAGs em outros ambientes e projetos.

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

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

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

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

Determinar a conta de serviço do ambiente

Para determinar a conta de serviço do ambiente:

Console

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

    Acessar "Ambientes"

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

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

  4. A conta de serviço do ambiente é listada 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 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. Nessa abordagem, você usa 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 ambiente como principal.

Acessar um tipo de recurso

Como alternativa, você pode conceder papéis 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 ambiente como principal.

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

A seguir