Este documento descreve como fazer a autenticação no Dataform por programação. A forma como se autentica no Dataform depende da interface que usa para aceder à API e do ambiente onde o seu código está a ser executado.
Para mais informações sobre a Google Cloud autenticação, consulte os métodos de autenticação.
Acesso de API
O Dataform suporta o acesso programático. Pode aceder à API das seguintes formas:
Bibliotecas cliente
As bibliotecas cliente do Dataform oferecem suporte de linguagem de alto nível para autenticação no Dataform de forma programática. Para autenticar chamadas para Google Cloud APIs, as bibliotecas cliente suportam Credenciais padrão da aplicação (ADC); as bibliotecas procuram credenciais num conjunto de localizações definidas e usam essas credenciais para autenticar pedidos para a API. Com o ADC, pode disponibilizar credenciais à sua aplicação numa variedade de ambientes, como desenvolvimento local ou produção, sem ter de modificar o código da aplicação.
REST
Pode autenticar-se na API Dataform através das suas credenciais da CLI gcloud ou das Credenciais padrão da aplicação. Para mais informações sobre a autenticação de pedidos REST, consulte o artigo Autentique-se para usar REST. Para obter informações sobre os tipos de credenciais, consulte Credenciais da CLI gcloud e credenciais da ADC.
Configure a autenticação para o Dataform
A forma como configura a autenticação depende do ambiente onde o seu código está a ser executado.
As seguintes opções de configuração da autenticação são as mais usadas. Para mais opções e informações sobre a autenticação, consulte os métodos de autenticação.
Para um ambiente de desenvolvimento local
Pode configurar credenciais para um ambiente de desenvolvimento local das seguintes formas:
- Credenciais do utilizador para bibliotecas cliente ou ferramentas de terceiros
- Credenciais do utilizador para pedidos REST a partir da linha de comandos
- Utilização da identidade de uma conta de serviço
Bibliotecas de cliente ou ferramentas de terceiros
Configure as Credenciais padrão da aplicação (ADC) no seu ambiente local:
-
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.
-
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.
É apresentado um ecrã de início de sessão. Depois de iniciar sessão, as suas credenciais são armazenadas no ficheiro de credenciais local usado pelo ADC.
Para mais informações sobre como trabalhar com o ADC num ambiente local, consulte o artigo Configure o ADC para um ambiente de desenvolvimento local.
Pedidos REST a partir da linha de comandos
Quando faz um pedido REST a partir da linha de comandos,
pode usar as suas credenciais da CLI gcloud incluindo
gcloud auth print-access-token
como parte do comando que envia o pedido.
O exemplo seguinte apresenta uma lista de contas de serviço para o projeto especificado. Pode usar o mesmo padrão para qualquer pedido REST.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do seu Google Cloud projeto.
Para enviar o seu pedido, expanda uma destas opções:
Para mais informações sobre a autenticação através de REST e gRPC, consulte o artigo Autentique-se para usar o REST. Para obter informações sobre a diferença entre as suas credenciais da ADC local e as credenciais da CLI gcloud, consulte o artigo Configuração de autenticação da CLI gcloud e configuração da ADC.
Simulação de identidade de conta de serviço
Na maioria dos casos, pode usar as suas credenciais de utilizador para fazer a autenticação a partir de um ambiente de desenvolvimento local. Se isso não for viável ou se precisar de testar as autorizações atribuídas a uma conta de serviço, pode usar a representação da conta de serviço. Tem de ter a autorização
iam.serviceAccounts.getAccessToken
, que está incluída na função do IAM
criador de tokens de contas de serviço
(roles/iam.serviceAccountTokenCreator
).
Pode configurar a CLI gcloud para usar a representação da conta de serviço através do comando gcloud config set
:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
Para determinados idiomas, pode usar a representação da conta de serviço para criar um ficheiro ADC local
para utilização por bibliotecas cliente. Esta abordagem só é suportada para as bibliotecas cliente Go, Java, Node.js e Python. Não é suportada para os outros idiomas.
Para configurar um ficheiro ADC local com a representação da 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 simulação da conta de serviço, consulte o artigo Use a simulação da conta de serviço.
Controlo de acesso para o Dataform
Depois de se autenticar no Dataform, tem de ter autorização para aceder aos Google Cloud recursos. O Dataform usa a gestão de identidade e de acesso (IAM) para autorização.
Para mais informações sobre as funções do Dataform, consulte o artigo Controlo de acesso com a IAM. Para mais informações sobre o IAM e a autorização, consulte a vista geral do IAM.
O que se segue?
- Saiba mais acerca dos Google Cloud métodos de autenticação.
- Consulte uma lista de exemplos de utilização da autenticação.