Autorize contas para a transferência de dados
Este documento apresenta uma vista geral da forma como o Serviço de transferência de dados do BigQuery interage com diferentes tipos de contas, os tipos de autorização de contas de que precisa para realizar tarefas de transferência gerais e passos de resolução de problemas para erros de autorização comuns.
Para começar a usar o Serviço de transferência de dados do BigQuery, certifique-se de que as contas associadas ao seu projeto, tanto as contas de utilizador como as contas de serviço, estão autenticadas e autorizadas com as autorizações corretas para realizar as suas necessidades de transferência. Para obter informações sobre as autorizações específicas da origem de dados, consulte o guia de transferência de cada origem de dados.
Conceitos-chave
O Serviço de transferência de dados do BigQuery automatiza as transferências de dados de várias origens de dados para o BigQuery. O modelo de autenticação e autorização funciona em duas fases diferentes, o plano de controlo e o plano de dados, e para dois tipos de utilizadores, um criador ou um proprietário da transferência.
Plano de controlo
O plano de controlo representa a fase no processo de autorização em que um utilizador autenticado pode controlar e gerir as configurações e as execuções de transferência. Um utilizador no plano de controlo tem de ter as autorizações de gestão de identidade e de acesso (IAM) adequadas para controlar e gerir as respetivas configurações e execuções de transferência:
- A autorização
bigquery.transfers.update
, que permite aos utilizadores fazer o seguinte:- Configure as configurações de transferência de dados.
- Administrar as transferências existentes, como atualizar, desativar ou eliminar uma transferência.
- A autorização
bigquery.transfers.get
, que permite aos utilizadores monitorizar execuções de transferência, como verificar o estado de execução de transferência ou ver o histórico e os registos de execução de transferência.
Se estiver a usar a Google Cloud consola ou a ferramenta de linha de comandos bq para criar uma transferência, também tem de ter a autorização bigquery.transfers.get
.
A autorização bigquery.transfers.update
não é necessária para configurar uma
consulta agendada. Para mais informações, consulte as autorizações necessárias para consultas agendadas.
Plano de dados
O plano de dados representa a fase fora do controlo direto de um utilizador. No plano de dados, o Serviço de transferência de dados do BigQuery pode operar transferências de dados num modo offline e pode acionar execuções de transferências automaticamente com base num horário especificado pelo utilizador. No plano de dados, a credencial do proprietário da transferência é usada para aceder aos dados de origem e (consoante a origem de dados) as credenciais do proprietário da transferência ou o agente de serviço do Serviço de transferência de dados do BigQuery são usadas para iniciar tarefas do BigQuery e escrever dados no conjunto de dados de destino.
Para mais detalhes sobre as autorizações necessárias, consulte as secções seguintes neste guia:
- Autorização de acesso de leitura para origens de dados externas
- Autorização para iniciar tarefas do BigQuery
- Autorização para executar tarefas do BigQuery e escrever dados no conjunto de dados de destino
Transferência de criador vs. transferência de proprietário
Um criador da transferência refere-se à identidade do utilizador que criou e configurou a configuração de transferência. Um utilizador do Serviço de transferência de dados do BigQuery e um criador de transferências podem ser uma conta de utilizador ou uma conta de serviço.
Um proprietário da transferência refere-se à identidade do utilizador que o Serviço de transferência de dados do BigQuery usa para autorizar a transferência de dados, especificamente, para extrair os dados de origem. Para as origens de dados que suportam contas de serviço, o proprietário da transferência pode ser uma conta de utilizador ou uma conta de serviço. Para outras origens de dados, o proprietário da transferência tem de ser uma conta de utilizador.
O proprietário da transferência e o criador da transferência podem ter a mesma identidade de utilizador, mas não é um requisito. Existem várias formas de definir o proprietário da transferência como um utilizador diferente do criador da transferência:
- Quando cria uma transferência, pode definir o proprietário como uma conta de serviço se a origem de dados suportar contas de serviço.
- Depois de criar uma transferência, pode transferir a propriedade para uma nova conta de utilizador (ou para uma conta de serviço, se a origem de dados suportar contas de serviço) que tenha as autorizações
bigquery.transfers.update
ebigquery.transfers.get
. Tem de ter sessão iniciada na nova conta quando atualizar as credenciais.
Autorização de acesso de leitura para origens de dados externas
As autorizações necessárias para ler os dados de origem podem variar de uma origem de dados para outra. Por exemplo, o acesso ao Google Ads requer autorizações de acesso de leitura ao ID de cliente do Google Ads. Da mesma forma, o Google Play requer acesso aos relatórios na Google Play Console. Para mais informações sobre autorizações específicas de uma origem de dados, consulte os guias de transferência de cada origem de dados.
Consoante o tipo de identidade do proprietário da transferência, é necessário um método de autorização diferente para obter o token de acesso aos dados de origem.
Transfira a propriedade como conta de serviço
Quando uma conta de serviço é usada como proprietário da transferência, as autorizações necessárias são concedidas automaticamente quando a API do Serviço de transferência de dados do BigQuery é ativada para o seu projeto. O Serviço de transferência de dados do BigQuery usa um agente de serviço para obter o token de acesso para a conta de serviço fornecida pelo utilizador (proprietário da transferência).
Quando ativa a API do Serviço de transferência de dados do BigQuery, é criado um agente de serviço
para o seu projeto. O sistema também concede ao agente de serviço a
função de agente do Serviço de transferência de dados do BigQuery (roles/bigquerydatatransfer.serviceAgent
),
que inclui a autorização iam.serviceAccounts.getAccessToken
. Essa autorização permite que o agente do serviço do Serviço de transferência de dados do BigQuery se faça passar pela conta de serviço do proprietário da transferência para obter o token de acesso.
Para mais informações acerca do agente de serviço do Serviço de transferência de dados do BigQuery, consulte Agente de serviço. Para mais informações sobre a utilização de contas de serviço e a lista atualizada de origens de dados que têm suporte de contas de serviço, consulte o artigo Use contas de serviço.
Transfira a propriedade como conta de utilizador
Se o proprietário da transferência que cria a configuração de transferência for uma conta de utilizador (e não uma conta de serviço), tem de conceder manualmente autorização ao Serviço de transferência de dados do BigQuery para obter o token de acesso da conta de utilizador e aceder aos dados de origem em nome do proprietário da transferência. Pode conceder aprovação manual com a interface da caixa de diálogo do OAuth.
Só tem de conceder autorização ao Serviço de transferência de dados do BigQuery pela primeira vez quando cria uma transferência para uma determinada origem de dados. Tem de conceder novamente a autorização quando criar a primeira transferência para uma região usada recentemente, mesmo que esteja a usar a mesma origem de dados. As transferências de dados de canais do YouTube são a exceção. Tem de conceder aprovação de autorizações manualmente sempre que criar uma transferência de dados de canais do YouTube.
A alteração do proprietário da transferência através da atualização das credenciais também requer aprovação manual se o novo proprietário nunca tiver criado uma transferência para a origem de dados nessa região.
A captura de ecrã seguinte mostra a interface da caixa de diálogo OAuth quando está a criar uma transferência do Google Ads. A caixa de diálogo apresenta as autorizações específicas da origem de dados a conceder:
Para revogar as autorizações concedidas, siga estes passos:
- Aceda à página da Conta Google.
- Clique em Serviço de transferência de dados do BigQuery.
- Para revogar as autorizações, clique em Remover acesso.
Autorização para iniciar tarefas do BigQuery
Quando migra a partir da maioria das origens de dados, exceto quando migra através de consultas agendadas
ou cópias de conjuntos de dados, o
Serviço de transferência de dados do BigQuery baseia-se em agentes de serviço
para iniciar tarefas do BigQuery para
o seu projeto. A autorização necessária bigquery.job.create
é concedida automaticamente ao agente de serviço quando ativa a API do Serviço de transferência de dados do BigQuery para o seu projeto. Para mais
informações, consulte o artigo Ative o Serviço de transferência de dados do BigQuery.
Quando migra através de consultas agendadas ou cópias de conjuntos de dados, o Serviço de transferência de dados do BigQuery usa as credenciais do proprietário da transferência para iniciar as tarefas do BigQuery.
Autorização para executar tarefas do BigQuery e escrever dados no conjunto de dados de destino
Quando migra a partir da maioria das origens de dados, exceto quando migra através de
consultas agendadas ou cópias de conjuntos de dados,
o Serviço de transferência de dados do BigQuery baseia-se no agente de serviço para escrever dados no
conjunto de dados de destino do BigQuery. A autorização necessária, roles/bigquery.dataEditor
, é concedida ao agente de serviço pelo Serviço de transferência de dados do BigQuery quando cria a transferência. Tem de ter autorização bigquery.datasets.update
no conjunto de dados de destino para conceder a autorização com êxito.
Quando migra através de consultas agendadas ou cópias de conjuntos de dados, o Serviço de transferência de dados do BigQuery usa as credenciais do proprietário da transferência para executar as tarefas do BigQuery e escrever os dados no conjunto de dados de destino do BigQuery.
Resolva problemas de erros de autorização
Se estiver a ter problemas relacionados com autorizações ou permissões para a sua transferência, consulte o artigo Problemas de autorização e permissão.