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:
- Credenciais de usuário para bibliotecas de cliente ou ferramentas de terceiros;
- credenciais de usuário para solicitações REST na linha de comando;
- identidade temporária de conta de serviço.
Bibliotecas de cliente ou ferramentas de terceiros
Configure o Application Default Credentials (ADC) no ambiente local:
-
Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:
gcloud initIf you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
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
- Saiba mais sobre os métodos de autenticação doGoogle Cloud .
- Confira uma lista de casos de uso de autenticação.