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.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    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