Uma conta de serviço é um tipo especial de Conta do Google destinada a representar um usuário não humano que pode ser autenticado e autorizado a acessar dados em APIs e produtos do Google. Em vez de delegar o acesso usando Credenciais do proprietário ou exigir que os leitores de relatórios individuais tenham acesso aos dados usando credenciais de leitor, o Looker Studio pode usar uma conta de serviço para acessar as informações.
Observação: as credenciais da conta de serviço estão disponíveis apenas para fontes de dados do BigQuery.
Saiba mais sobre as contas de serviço.
Benefícios de usar uma conta de serviço com o Looker Studio
O uso de uma conta de serviço em vez das credenciais de um usuário individual oferece estes benefícios:
- As fontes de dados que usam credenciais de conta de serviço não vão ser interrompidas se o criador sair da empresa.
- As credenciais da conta de serviço permitem o acesso aos dados protegidos por perímetros do VPC Service Controls que usam políticas de dispositivo.
- Recursos automatizados, como extrações de dados e e-mails programados, funcionam com as fontes de dados que estão por trás de um perímetro do VPC Service Controls. Consulte a seção de limites para uma observação importante.
- É possível criar regras de entrada e saída para permitir que a conta de serviço acesse e saia dos recursos e clientes protegidos por perímetros de serviço.
Funções exigidas
- Para receber o agente de serviço do Looker Studio, você precisa ser um usuário do Google Workspace ou do Cloud Identity.
- Para configurar uma conta de serviço, você precisa ter o papel de Administrador da conta de serviço (
roles/iam.serviceAccountAdmin
) ou Criar contas de serviço (roles/iam.serviceAccountCreator
) no seu projeto Google Cloud . Saiba mais sobre papéis de conta de serviço. - Para configurar a conta de serviço e acessar uma tabela ou um conjunto de dados do BigQuery, você precisa ter o papel Proprietário de dados do BigQuery (
roles/bigquery.dataOwner
) na tabela ou no conjunto de dados, ou outro papel que conceda a permissãobigquery.datasets.setIamPolicy
.
Instruções de configuração
Para configurar uma conta de serviço que forneça acesso aos dados do BigQuery, siga estas etapas:
- Acessar o agente de serviço do Looker Studio. Nesta etapa, você vai copiar o endereço de e-mail do agente de serviço para usar na próxima etapa. Esse endereço é criado automaticamente para você pelo Looker Studio.
- Crie uma conta de serviço para o Looker Studio. Nesta etapa, você vai criar o usuário não humano que vai acessar os dados.
- Permita que o agente de serviço do Looker Studio acesse sua conta de serviço. Nesta etapa, você vai conceder ao agente de serviço o papel necessário na conta de serviço.
- Conceda funções do usuário. Nesta etapa, você vai conceder aos usuários a função necessária para que eles possam criar fontes de dados que usam credenciais de conta de serviço.
- Permita que a conta de serviço acesse seus dados do BigQuery. Nesta etapa, você vai conceder à conta de serviço o papel necessário para que ela possa acessar uma tabela ou um conjunto de dados do BigQuery.
Etapa 1: acessar o agente de serviço do Looker Studio
Para permitir que a conta de serviço acesse seus dados, você precisa fornecer o agente de serviço do Looker Studio da sua organização. Você pode encontrar o agente de serviço em uma página de ajuda no Looker Studio:
- Navegue até a página de ajuda do agente de serviço do Looker Studio.
- Copie o endereço de e-mail do agente de serviço exibido nessa página.
Etapa 2: criar uma conta de serviço para o Looker Studio
Consulte a documentação do IAM para instruções sobre como criar uma conta de serviço.Google Cloud Use o console Google Cloud ou a linha de comando do Cloud Shell para criar a conta de serviço.
Console
- No console Google Cloud , acesse a página Criar conta de serviço.
- Selecione um projeto.
- Insira um nome de conta de serviço a ser exibido no console Google Cloud .
O console Google Cloud gera um ID de conta de serviço com base nesse nome. Edite o ID agora, se necessário. Não será possível alterar o ID depois.
- Opcional: digite uma descrição da conta de serviço.
- Clique em CRIAR E CONTINUAR.
- Em Permissões, conceda à conta de serviço o papel do IAM Usuário de jobs do BigQuery no projeto que contém os dados que você quer conectar ao Looker Studio. Ele pode ser diferente do projeto em que você criou a conta de serviço.
- Clique em Continuar.
- No campo Papel de usuários da conta de serviço, adicione os usuários que podem usar essa conta de serviço para fornecer credenciais às fontes de dados deles. Se você não quiser adicionar usuários agora, faça isso depois seguindo as instruções em Conceder papéis de usuário.
- Clique em CONCLUÍDO para salvar a conta de serviço e voltar à página da lista de contas do seu projeto.
gcloud
Siga as etapas gerais listadas em Cloud Shell em Como criar e gerenciar contas de serviço.
- Abra o Cloud Shell.
- Se necessário, selecione um projeto.
- Para criar a conta de serviço, execute o comando gcloud iam service-accounts create. Você pode usar qualquer nome, descrição e nome de exibição na conta.
Exemplo:
gcloud iam service-accounts create looker-studio-service-account \ --description="Use for Looker Studio access to BigQuery" \ --display-name="LS_BQ"
-
Para acessar os dados do BigQuery no projeto Google Cloud que você quer usar com o Looker Studio, conceda à conta de serviço a permissão
bigquery.jobs.create
nesse projeto. Você pode conceder o papel do IAM chamado Usuário de jobs do BigQuery para dar essa permissão.Além disso, conceda à conta de serviço as permissões
bigquery.tables.getData
ebigquery.tables.get
no projeto ou conjunto de dados que você quer usar com o Looker Studio. Você pode conceder o papel de Leitor de dados do BigQuery (roles/bigquery.dataViewer
) para dar essas permissões.Para conceder esses papéis, execute o comando gcloud projects add-iam-policy-binding. Nos exemplos a seguir, substitua PROJECT_ID pelo ID do projeto.
Exemplo: conceder o papel de usuário de jobs do BigQuery
gcloud projects add-iam-policy-binding PROJECT_ID\ --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/bigquery.jobUser"
Exemplo: conceder o papel de Leitor de dados do BigQuery
gcloud projects add-iam-policy-bindingPROJECT_ID\ --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/bigquery.dataViewer"
Etapa 3: permitir que o agente de serviço do Looker Studio acesse sua conta de serviço
Para permitir que o agente de serviço do Looker Studio acesse dados usando a
conta de serviço, conceda a ele o papel de Criador do token da conta de serviço
(roles/iam.serviceAccountTokenCreator
).
Console
- Volte para a lista de contas de serviço do consoleGoogle Cloud .
- Selecione a conta de serviço do Looker Studio que você acabou de criar clicando nela na lista.
- Clique em Principais com acesso.
- Clique em person_add CONCEDER ACESSO.
- Em Adicionar principais a
PROJECT_ID
, cole o e-mail do agente de serviço do Looker Studio (que você copiou na etapa 1) na caixa Novos principais. O endereço do seu agente de serviço é parecido com este:SERVICE_AGENT_NAME@PROJECT_ID.iam.gserviceaccount.com
. - Selecione um papel que conceda ao agente de serviço a permissão
iam.serviceAccounts.getAccessToken
. Por exemplo, você pode usar o papel Criador de token de conta de serviço, mas também pode usar qualquer papel personalizado que conceda essa permissão. - Clique em SALVAR.
gcloud
Execute o comando gcloud iam service-accounts add-iam-policy-binding. No exemplo a seguir, substitua ORG_ID pelo ID da sua organização.
Exemplo:
gcloud iam service-accounts add-iam-policy-binding looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \ --member="service-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountTokenCreator"
Etapa 4: conceder funções de usuário
Os usuários do Looker Studio que criam ou editam fontes de dados precisam receber um papel que inclua a permissão iam.serviceAccounts.actAs
, como o papel de Usuário da conta de serviço (roles/iam.serviceAccountUser
). É possível conceder esse papel no projeto ou em uma conta de serviço individual, mas recomendamos que você conceda o papel apenas na conta de serviço. Para instruções, consulte Como gerenciar a representação de uma conta de serviço.
Recomendamos que você não conceda aos usuários que não são agente de serviço o papel de Criador do token da conta de serviço porque isso não é necessário para o Looker Studio.
Console
- Navegue até a lista de contas de serviço do console.
- Selecione sua conta de serviço do Looker Studio clicando nela na lista.
- Clique em Principais com acesso.
- Clique em person_add CONCEDER ACESSO.
- Em Adicionar principais e papéis da conta de serviço, insira os endereços de e-mail dos seus usuários na caixa Novos principais.
- Selecione o papel Usuário da conta de serviço.
- Clique em SALVAR.
gcloud
Para conceder o papel de Usuário da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Nos exemplos a seguir, substitua PROJECT_ID pelo ID do projeto e USER_EMAIL por um ou mais endereços de e-mail válidos (separe várias entradas por vírgulas).
Exemplo:
gcloud iam service-accounts add-iam-policy-binding looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Etapa 5: permitir que a conta de serviço acesse seus dados do BigQuery
Para permitir que o Looker Studio acesse seus dados, conceda o papel de Leitor de dados do BigQuery à conta de serviço no nível da tabela ou do conjunto de dados. Não recomendamos conceder acesso à conta de serviço no nível do projeto.
Console
Para conceder acesso a uma tabela:
- Copie o endereço de e-mail do agente de serviço do Looker Studio, conforme descrito na Etapa 1. Acessar o agente de serviço do Looker Studio.
- Navegue até a lista de contas de serviço do consoleGoogle Cloud .
- Acesse o BigQuery e abra um projeto.
- Clique na seta de expansão
para abrir um conjunto de dados.
- Selecione uma tabela.
- Na barra de ferramentas, clique em person_add COMPARTILHAR.
- No painel que aparece à direita, clique em person_add ADICIONAR PARTICIPANTE.
- Na caixa Novos principais, cole o endereço de e-mail do agente de serviço do Looker Studio.
- Selecione o papel Leitor de dados do BigQuery.
- Clique em SALVAR.
Para conceder acesso a um conjunto de dados:
- Copie o endereço de e-mail do agente de serviço do Looker Studio, conforme descrito na Etapa 1. Acessar o agente de serviço do Looker Studio.
- Navegue até a lista de contas de serviço do consoleGoogle Cloud .
- Acesse o BigQuery, abra um projeto e localize o conjunto de dados.
- Clique no menu de opções
.
- Clique em Abrir.
- Na barra de ferramentas, clique em person_add Permissões de compartilhamento.
- No painel que aparece à direita, clique em person_add ADICIONAR PARTICIPANTE.
- Na caixa Novos principais, cole o endereço de e-mail do agente de serviço do Looker Studio.
- Selecione o papel Leitor de dados do BigQuery.
- Clique em SALVAR.
gcloud
Recomendamos usar as instruções do console Google Cloud para conceder acesso aos dados. Para conceder acesso aos dados usando a ferramenta de linha de comando bq
, consulte
Como controlar o acesso a conjuntos de dados na documentação do BigQuery.
Fornecer as conta de serviço do Looker Studio aos usuários do Looker Studio
Os usuários do Looker Studio precisam saber qual conta de serviço usar ao criar fontes de dados. Como não é possível ver a lista de contas de serviço disponíveis no Looker Studio, você precisa disponibilizar essas informações pela documentação da sua organização, pelo site interno ou por e-mail.
Criar uma fonte de dados que usa as credenciais da conta de serviço
Para criar fontes de dados que usam credenciais de conta de serviço, os usuários do Looker Studio podem seguir as mesmas etapas básicas aplicáveis a outros tipos de credenciais de dados:
- Crie ou edite uma fonte de dados do BigQuery.
- Na barra de ferramentas, clique em Credenciais de dados.
- Selecione Serviço Credenciais da conta.
- Insira o endereço de e-mail da conta de serviço na caixa.
- Clique em Atualizar.
Editar uma fonte de dados que usa credenciais de conta de serviço
Quando alguém edita uma fonte de dados que usa credenciais de conta de serviço, o Looker Studio verifica se a pessoa tem permissão para utilizar a conta. Se não tiver, a fonte de dados passará a usar as credenciais dela.
Ver quem está usando a conta de serviço para acessar dados
É possível verificar os registros de auditoria das contas de serviço no console Google Cloud . É necessário ativar os registros de auditoria do IAM para a atividade de acesso a dados se você quiser receber registros de auditoria das contas de serviço.
Exemplo de cenário de conta de serviço
Você quer que os usuários do Looker Studio na sua empresa tenham acesso apenas aos dados da subsidiária do país deles. Uma solução é criar uma conta de serviço para cada país e permitir que apenas os usuários do Looker Studio naquele país atuem como a conta de serviço.
Exemplo de configuração
Neste exemplo, você vai criar três contas de serviço: uma para o Reino Unido, outra para a França e mais uma para a Alemanha. Em seguida, atribua como principais o agente de serviço e os usuários que poderão criar fontes de dados que usam a conta de serviço. Você também vai atribuir as funções adequadas a cada um.
Conta de serviço do Reino Unido
service-account-1@example-org-uk-example-project.iam.gserviceaccount.com
Principais do Reino Unido
Principais | Papéis |
Esse é o agente de serviço. |
Service Account Token Creator |
Usuário 1 | Service Account User |
Usuário 2 | Service Account User |
Conta de serviço da França
service-account-1@example-org-fr-example-project.iam.gserviceaccount.com
Principais da França
Principais | Papéis |
Esse é o agente de serviço. |
Service Account Token Creator |
Usuário 3 | Service Account User |
Usuário 4 | Service Account User |
Conta de serviço da Alemanha
service-account-1@example-org-de-example-project.iam.gserviceaccount.com
Principais da Alemanha
Principais | Papéis |
Esse é o agente de serviço. |
Service Account Token Creator |
Usuário 5 | Service Account User |
Usuário 6 | Service Account User |
Erros
Nesta seção, explicamos os erros que podem ocorrer quando os criadores de fontes de dados do Looker Studio e os leitores de relatório tentam usar uma conta de serviço. Na maioria dos casos, esses erros têm a mesma causa: configuração incorreta ou incompleta da conta de serviço.
A função do agente de serviço não foi informada
Mensagens
|
CausaO agente de serviço não recebeu o papel de Criador de token da conta de serviço (ou outro papel que inclua a permissão |
SoluçãoConceda o papel Criador de token da conta de serviço ao agente de serviço. |
Sem acesso aos dados
MensagemEssa conta de serviço não pode acessar o conjunto de dados relacionado. |
Causas
|
SoluçãoConceda pelo menos o papel de Leitor de dados do BigQuery à sua conta de serviço na tabela, conjunto de dados ou projeto relacionado. |
Função do usuário ausente
MensagemVocê não tem permissão para usar esta conta de serviço. |
CausaO usuário não foi adicionado como principal à conta de serviço com o papel de Usuário da conta de serviço. |
SoluçãoConceda o papel Usuário da conta de serviço ao usuário na conta de serviço. |
O agente de serviço não está disponível para a conta
Mensagens
|
CausaO usuário está tentando usar uma Conta do Google padrão (usuário consumidor) para acessar dados controlados por uma conta de serviço. |
SoluçãoUse uma conta do Google Workspace ou do Cloud Identity para acessar os dados. |
Não é possível usar o agente de serviço na caixa de diálogo de credenciais
MensagemOs agentes de serviço do Looker Studio não podem ser usados para fazer uma conexão direta com os dados. Use uma conta de serviço. |
SoluçãoAgentes e contas de serviço são diferentes. Insira uma conta de serviço na caixa de diálogo de credenciais. Você encontra a lista de contas de serviço disponíveis no console Google Cloud ou no Cloud Shell: Console
gcloud
Exemplo:
|
Limites
- As credenciais da conta de serviço estão disponíveis apenas para fontes de dados do BigQuery. Os limites do IAM se aplicam às contas de serviço.
- Pode levar alguns minutos para que as mudanças nas permissões da conta de serviço apareçam no Looker Studio.
- A entrega de e-mails programada não funciona com dados protegidos usando níveis de acesso baseados em IP com o VPC Service Controls. Isso acontece porque o Looker Studio não transmite o endereço IP do destinatário do e-mail quando ele visualiza o relatório.
Recursos relacionados
- Como entender as contas de serviço
- Regras de entrada e saída
- Conectar-se ao BigQuery: suporte para VPC Service Controls
- Como iniciar o Cloud Shell