Use contas de serviço
Algumas origens de dados suportam a autenticação de transferência de dados através de uma conta de serviço
através da Google Cloud consola, da API ou da linha de comandos bq
. Uma conta de serviço é uma Conta Google associada ao seu projeto do Google Cloud . Uma conta de serviço pode executar tarefas, como consultas agendadas ou pipelines de processamento em lote, através da autenticação com as credenciais da conta de serviço em vez das credenciais de um utilizador.
Pode atualizar uma transferência de dados existente com as credenciais de uma conta de serviço. Para mais informações, consulte o artigo Atualize as credenciais da Transferência de dados.
As seguintes situações requerem a atualização das credenciais:
A sua transferência não autorizou o acesso do utilizador à origem de dados:
Error code 401 : Request is missing required authentication credential. UNAUTHENTICATED
Recebe um erro INVALID_USER quando tenta executar a transferência:
Error code 5 : Authentication failure: User Id not found. Error code: INVALID_USERID
Para saber mais sobre a autenticação com contas de serviço, consulte o artigo Introdução à autenticação.
Origens de dados com suporte de conta de serviço
O Serviço de transferência de dados do BigQuery pode usar credenciais de contas de serviço para transferências com o seguinte:
- Cloud Storage
- Amazon Redshift
- Amazon S3
- Campaign Manager
- Pegada de carbono
- Dataset Copy
- Display & Video 360
- Google Ad Manager
- Google Ads
- Google Merchant Center
- Google Play
- Consultas agendadas
- Search Ads 360
- Teradata
- Proprietário do conteúdo do YouTube
Antes de começar
- Verifique se concluiu todas as ações necessárias em Ativar o Serviço de transferência de dados do BigQuery.
- Conceda funções de gestão de identidade e de acesso (IAM) que dão aos utilizadores as autorizações necessárias para realizar cada tarefa neste documento.
Autorizações necessárias
Para atualizar uma transferência de dados de modo a usar uma conta de serviço, tem de ter as seguintes autorizações:
A autorização
bigquery.transfers.update
para modificar a transferência.A função de IAM
roles/bigquery.admin
predefinida inclui esta autorização.Acesso à conta de serviço. Para mais informações sobre como conceder aos utilizadores a função de conta de serviço, consulte o artigo Função de utilizador da conta de serviço.
Certifique-se de que a conta de serviço que escolher para executar a transferência tem as seguintes autorizações:
As autorizações
bigquery.datasets.get
ebigquery.datasets.update
no conjunto de dados de destino. Se a tabela usar o controlo de acesso ao nível da coluna, a conta de serviço também tem de ter a autorizaçãobigquery.tables.setCategory
.A
bigquery.admin
função de IAM predefinida inclui todas estas autorizações. Para mais informações acerca das funções de IAM no Serviço de transferência de dados do BigQuery, consulte o artigo Introdução ao IAM.Acesso à origem de dados de transferência configurada. Para mais informações acerca das autorizações necessárias para diferentes origens de dados, consulte o artigo Origens de dados com suporte de contas de serviço.
Para transferências do Google Ads, a conta de serviço tem de ter autoridade ao nível do domínio. Para mais informações, consulte o guia da conta de serviço da API Google Ads.
Atualize as credenciais da Transferência de dados
Consola
O procedimento seguinte atualiza uma configuração de transferência de dados para autenticar como uma conta de serviço em vez da sua conta de utilizador individual.
Na Google Cloud consola, aceda à página Transferências de dados.
Clique na transferência na lista de transferências de dados.
Clique em EDITAR para atualizar a configuração da transferência.
No campo Conta de serviço, introduza o nome da conta de serviço.
Clique em Guardar.
bq
Para atualizar as credenciais de uma transferência de dados, pode usar a ferramenta de linhas de comando bq para atualizar a configuração da transferência.
Use o comando bq update
com as flags --transfer_config
, --update_credentials
e --service_account_name
.
Por exemplo, o comando seguinte atualiza uma configuração de transferência de dados para autenticar como uma conta de serviço em vez da sua conta de utilizador individual:
bq update \
--transfer_config \
--update_credentials \
--service_account_name=abcdef-test-sa@abcdef-test.iam.gserviceaccount.com projects/862514376110/locations/us/transferConfigs/5dd12f26-0000-262f-bc38-089e0820fe38 \
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Java BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no início rápido do BigQuery com bibliotecas cliente. Para mais informações, consulte a API Python BigQuery documentação de referência.
Para se autenticar no BigQuery, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.