Autenticar no Dataform

Neste documento, descrevemos como autenticar no Dataform de maneira programática. A forma como você se autentica no Dataform depende da interface usada para acessar a API e do ambiente onde seu código está sendo executado.

Para mais informações sobre a autenticação do Google Cloud , consulte os métodos de autenticação.

Acesso à API

O Dataform oferece suporte ao acesso programático. É possível acessar a API das seguintes maneiras:

Bibliotecas de cliente

As bibliotecas de cliente do Dataform oferecem suporte de linguagem de alto nível para autenticação programática no Dataform. Para autenticar chamadas às APIs do Google Cloud , as bibliotecas de cliente oferecem suporte ao Application Default Credentials (ADC). As bibliotecas procuram credenciais em um conjunto de locais definidos e as usam para autenticar solicitações à API. Com o ADC, é possível disponibilizar credenciais ao aplicativo em uma variedade de ambientes, como de desenvolvimento ou produção local, sem precisar modificar o código do aplicativo.

REST

É possível autenticar na API Dataform usando as credenciais da CLI gcloud ou o Application Default Credentials. Para mais informações sobre a autenticação para solicitações REST, consulte Autenticar-se usando REST. Para informações sobre os tipos de credenciais, consulte Credenciais da gcloud CLI e do ADC.

Configurar a autenticação no Dataform

A configuração da autenticação depende do ambiente em que o código está sendo executado.

As opções de configuração de autenticação a seguir são as mais usadas. Para mais opções e informações sobre a autenticação, consulte Métodos de autenticação.

Para um ambiente de desenvolvimento local

É possível configurar credenciais para um ambiente de desenvolvimento local das seguintes maneiras:

Bibliotecas de cliente ou ferramentas de terceiros

Configure o Application Default Credentials (ADC) no ambiente local:

  1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    Uma tela de login é exibida. Após o login, suas credenciais são armazenadas no arquivo de credenciais local usado pelo ADC.

Para saber como trabalhar com o ADC em um ambiente local, consulte Configurar o ADC para um ambiente de desenvolvimento local.

Solicitações REST usando a linha de comando

Ao fazer uma solicitação REST usando a linha de comando, use as credenciais da gcloud CLI incluindo gcloud auth print-access-token como parte do comando que envia a solicitação.

No exemplo a seguir, listamos as contas de serviço do projeto especificado. É possível usar o mesmo padrão em qualquer solicitação REST.

Antes de usar os dados da solicitação, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto do Google Cloud .

Para enviar a solicitação, expanda uma destas opções:

 

Para saber como autenticar-se usando REST e gRPC, consulte Autenticar-se para usar REST. Para mais informações sobre a diferença entre as credenciais locais do ADC e as credenciais da gcloud CLI, consulte Configuração da autenticação da gcloud CLI e configuração do ADC.

Identidade temporária de conta de serviço

Na maioria dos casos, é possível usar as credenciais de usuário para se autenticar em um ambiente de desenvolvimento local. Se isso não for viável ou for preciso testar as permissões atribuídas a uma conta de serviço, use a identidade temporária de conta de serviço. Você precisa ter a permissão iam.serviceAccounts.getAccessToken, que é incluída no papel do IAM de Criador de tokens da conta de serviço (roles/iam.serviceAccountTokenCreator).

Configure a gcloud CLI para usar a identidade temporária de conta de serviço com o comando gcloud config set:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

Em algumas linguagens, é possível usar a identidade temporária de conta de serviço para criar um arquivo local do ADC a ser usado pelas bibliotecas de cliente. Essa abordagem só é aceita nas bibliotecas de cliente Go, Java, Node.js e Python. Não há suporte a ela em outras linguagens. Para configurar um arquivo local do ADC com a identidade temporária de conta de serviço, use a flag --impersonate-service-account com o comando gcloud auth application-default login:

gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL

Para mais informações sobre a identidade temporária de conta de serviço, consulte Usar a identidade temporária de conta de serviço.

Controle de acesso do Dataform

Depois de se autenticar no Dataform, você precisa ter autorização para acessar os recursos do Google Cloud . O Dataform usa o Identity and Access Management (IAM) para autorização.

Para mais informações sobre os papéis do Dataform, consulte Controle de acesso com o IAM. Para mais informações sobre o IAM e a autorização, consulte Visão geral do IAM.

A seguir