Configure uma conta de serviço do Google Cloud para o Looker Studio

Uma conta de serviço é um tipo especial de Conta Google destinada a representar um utilizador não humano que pode autenticar-se e receber autorização para aceder a dados nas APIs e nos produtos Google. Em vez de delegar o acesso através das credenciais do proprietário ou exigir que os leitores de relatórios individuais tenham acesso aos dados através das credenciais do leitor, o Looker Studio pode usar uma conta de serviço para aceder aos dados.

Nota: as credenciais da conta de serviço só estão disponíveis para origens de dados do BigQuery.

Saiba mais sobre as contas de serviço.

Vantagens da utilização de uma conta de serviço com o Looker Studio

A utilização de uma conta de serviço em vez das credenciais de um utilizador individual oferece as seguintes vantagens:

  • As origens de dados que usam credenciais de contas de serviço não deixam de funcionar se o criador sair da sua empresa.
  • As credenciais da conta de serviço suportam o acesso a dados localizados atrás de perímetros do VPC Service Controls que usam políticas de dispositivos.
  • As funcionalidades automáticas, como o envio de emails agendado e as extrações de dados agendadas, funcionam com origens de dados que estão atrás de um perímetro do VPC Service Controls. (Consulte a secção sobre limites para ver uma ressalva importante.)
  • Pode criar regras de entrada e saída para permitir o acesso da conta de serviço aos recursos e clientes protegidos por perímetros de serviço e a partir destes.

Funções necessárias

  • Para obter o agente do serviço do Looker Studio, tem de ser um utilizador do Google Workspace ou do Cloud ID.
  • Para configurar uma conta de serviço, tem de ter a função Administrador da conta de serviço (roles/iam.serviceAccountAdmin) ou Criar contas de serviço (roles/iam.serviceAccountCreator) no seu Google Cloud projeto. Saiba mais sobre as funções da conta de serviço.
  • Para configurar a conta de serviço de modo a aceder a uma tabela ou a um conjunto de dados do BigQuery, tem de ter a função de proprietário de dados do BigQuery (roles/bigquery.dataOwner) na tabela ou no conjunto de dados, ou outra função que lhe conceda a autorização bigquery.datasets.setIamPolicy.

Instruções de configuração

Para configurar uma conta de serviço que faculte acesso aos dados do BigQuery, siga estes passos:

  1. Obtenha o agente de serviço do Looker Studio. Neste passo, vai copiar o endereço de email do agente de serviço para o poder usar no passo seguinte. Este endereço é criado automaticamente para si pelo Looker Studio.
  2. Crie uma conta de serviço para o Looker Studio. Neste passo, vai criar o utilizador não humano que vai aceder aos dados.
  3. Permita que o agente de serviço do Looker Studio aceda à sua conta de serviço. Neste passo, vai conceder ao agente de serviço a função necessária na conta de serviço.
  4. Conceda funções de utilizador. Neste passo, vai conceder aos seus utilizadores a função necessária para que possam criar origens de dados que usam credenciais de contas de serviço.
  5. Ative a conta de serviço para aceder aos seus dados do BigQuery. Neste passo, vai conceder à conta de serviço a função necessária para que possa aceder a uma tabela ou um conjunto de dados do BigQuery.

Passo 1: obtenha o agente de serviço do Looker Studio

Para permitir que a conta de serviço aceda aos seus dados, tem de fornecer o agente de serviço do Looker Studio para a sua organização. Pode obter o agente de serviço a partir de uma página de ajuda no Looker Studio:

  1. Navegue para a página de ajuda do agente de serviço do Looker Studio.
  2. Copie o endereço de email do agente do serviço apresentado nessa página.

Passo 2: crie uma conta de serviço para o Looker Studio

Consulte a Google Cloud documentação do IAM para ver instruções sobre como criar uma conta de serviço. Pode usar a Google Cloud consola ou a linha de comandos da Cloud Shell para criar a conta de serviço.

Consola

  1. Na Google Cloud consola, aceda à página Criar conta de serviço.

    Aceda a Criar conta de serviço

  2. Selecione um projeto.
  3. Introduza um nome da conta de serviço a apresentar na Google Cloud consola.

    A Google Cloud consola gera um ID da conta de serviço com base neste nome. Edite o ID agora, se necessário. Não pode alterar o ID posteriormente.

  4. Opcional: introduza uma descrição para a conta de serviço.
  5. Clique em CRIAR E CONTINUAR.
  6. Em Autorizações, conceda à conta de serviço a função de IAM de utilizador da tarefa do BigQuery no projeto que contém os dados aos quais quer estabelecer ligação no Looker Studio. Tenha em atenção que este pode ser diferente do projeto no qual criou a conta de serviço.
  7. Clique em Continuar.
  8. No campo Função de utilizadores da conta de serviço, adicione os utilizadores que podem usar esta conta de serviço para fornecer credenciais para as respetivas origens de dados. Se não quiser adicionar utilizadores agora, pode fazê-lo mais tarde seguindo as instruções em Atribua funções de utilizador.
  9. Clique em CONCLUÍDO para guardar a conta de serviço e voltar à página da lista de contas de serviço do seu projeto.

gcloud

Siga os passos gerais indicados em Cloud Shell no artigo Criar e gerir contas de serviço.

  1. Abra o Cloud Shell.
  2. Se necessário, selecione um projeto.
  3. Para criar a conta de serviço, execute o comando gcloud iam service-accounts create. Pode usar o nome da conta, a descrição e o nome a apresentar que quiser.

Exemplo:

gcloud iam service-accounts create looker-studio-service-account \
--description="Use for Looker Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. Para aceder aos dados do BigQuery no Google Cloud projeto que quer usar com o Looker Studio, conceda à conta de serviço a autorização bigquery.jobs.create nesse projeto. Pode conceder a função de IAM de utilizador da tarefa do BigQuery para conceder esta autorização.

    Além disso, conceda à conta de serviço as autorizações bigquery.tables.getData e bigquery.tables.get no projeto ou conjunto de dados que quer usar com o Looker Studio. Pode conceder a função Visualizador de dados do BigQuery (roles/bigquery.dataViewer) para conceder estas autorizações.

    Para conceder estas funções, execute o comando gcloud projects add-iam-policy-binding. Nos exemplos seguintes, substitua PROJECT_ID pelo ID do seu projeto.

    Exemplo: conceda a função de utilizador da tarefa 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: conceda a função de visualizador 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"
    

Passo 3: permita que o agente de serviço do Looker Studio aceda à sua conta de serviço

Para permitir que o agente do serviço do Looker Studio aceda aos dados através da conta de serviço, conceda a função Criador de tokens de contas de serviço (roles/iam.serviceAccountTokenCreator) ao agente do serviço.

Consola

  1. Volte à Google Cloud lista de contas de serviço da consola.
  2. Selecione a conta de serviço do Looker Studio que acabou de criar clicando nela na lista.
  3. Clique em Principais com acesso.
  4. Clique em person_add CONCEDER ACESSO.
  5. Em Adicionar membros a PROJECT_ID, cole o endereço de email do agente de serviço do Looker Studio (que copiou anteriormente no passo 1) na caixa Novos membros. A morada do seu agente de serviço tem o seguinte aspeto:
        service-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com
    
    Substitua ORG-ID pelo seu Google Cloud ID da organização.
  6. Selecione uma função que conceda ao agente do serviço a iam.serviceAccounts.getAccessTokenautorização. Por exemplo, pode usar a função Criador de tokens de contas de serviço, mas também pode usar qualquer função personalizada que conceda esta autorização.
  7. Clique em GUARDAR.

gcloud

Execute o comando gcloud iam service-accounts add-iam-policy-binding. No exemplo seguinte, 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"

Passo 4: conceda funções de utilizador

Os utilizadores do Looker Studio que criarem ou editarem origens de dados têm de ter uma função que inclua a autorização iam.serviceAccounts.actAs, como a função Utilizador da conta de serviço (roles/iam.serviceAccountUser). Pode conceder esta função no projeto ou numa conta de serviço individual, mas recomendamos que conceda a função apenas na conta de serviço. Para ver instruções, consulte o artigo Gerir a simulação da conta de serviço.

Recomendamos que não conceda aos utilizadores que não sejam agentes de serviço a função Criador de tokens de contas de serviço, uma vez que não é necessária para o Looker Studio.

Consola

  1. Navegue para a lista de contas de serviço da consola.
  2. Selecione a sua conta de serviço do Looker Studio clicando nela na lista.
  3. Clique em Principais com acesso.
  4. Clique em person_add CONCEDER ACESSO.
  5. Em Adicionar responsáveis e funções para a conta de serviço, introduza os endereços de email dos seus utilizadores na caixa Novos responsáveis.
  6. Selecione a função Utilizador da conta de serviço.
  7. Clique em GUARDAR.

gcloud

Para conceder a função utilizador da conta de serviço, execute o comando gcloud projects add-iam-policy-binding. Nos exemplos seguintes, substitua PROJECT_ID pelo ID do seu projeto e substitua USER_EMAIL por um ou mais endereços de email válidos (separe várias entradas com 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"

Passo 5: permita que a conta de serviço aceda aos seus dados do BigQuery

Para permitir que o Looker Studio aceda aos seus dados, conceda a função de leitor de dados do BigQuery à conta de serviço ao nível da tabela ou do conjunto de dados. Não recomendamos conceder acesso à conta de serviço ao nível do projeto.

Consola

Para conceder acesso a uma tabela:

  1. Copie o endereço de email do agente de serviço do Looker Studio, conforme descrito anteriormente no Passo 1. Obtenha o agente do serviço do Looker Studio.
  2. Navegue para a Google Cloud lista de contas de serviço da consola.
  3. Navegue para o BigQuery e abra um projeto.
  4. Expanda um conjunto de dados clicando na seta para expandir .
  5. Selecione uma tabela.
  6. Na barra de ferramentas, clique em person_add PARTILHAR.
  7. No painel apresentado à direita, clique em person_add ADICIONAR RESPONSÁVEL.
  8. Na caixa Novos membros, cole o endereço de email do agente de serviço do Looker Studio.
  9. Selecione a função Visualizador de dados do BigQuery.
  10. Clique em GUARDAR.

Para conceder acesso a um conjunto de dados:

  1. Copie o endereço de email do agente de serviço do Looker Studio, conforme descrito anteriormente no Passo 1. Obtenha o agente do serviço do Looker Studio.
  2. Navegue para a Google Cloud lista de contas de serviço da consola.
  3. Navegue para o BigQuery, abra um projeto e, de seguida, localize o conjunto de dados.
  4. Clique no menu de opções .
  5. Clique em Abrir.
  6. Na barra de ferramentas, clique em person_add Autorizações de partilha.
  7. No painel apresentado à direita, clique em person_add ADICIONAR RESPONSÁVEL.
  8. Na caixa Novos membros, cole o endereço de email do agente de serviço do Looker Studio.
  9. Selecione a função Visualizador de dados do BigQuery.
  10. Clique em GUARDAR.

gcloud

Recomendamos que use as Google Cloud instruções da consola para conceder acesso aos dados. Para conceder acesso a dados através da ferramenta de linha de comandos, consulte a secção Controlar o acesso a conjuntos de dados na documentação do BigQuery.bq

Forneça as contas de serviço do Looker Studio aos seus utilizadores do Looker Studio

Os utilizadores do Looker Studio têm de saber que conta de serviço usar quando criam origens de dados. Como não existe forma de ver a lista de contas de serviço disponíveis no Looker Studio, deve disponibilizar estas informações através da documentação, do Website interno ou do email da sua organização.

Crie uma origem de dados que use credenciais de contas de serviço

Para criar origens de dados que usam credenciais de contas de serviço, os utilizadores do Looker Studio podem seguir os mesmos passos básicos que para outros tipos de credenciais de dados:

  1. Crie ou edite uma origem de dados do BigQuery.
  2. Na barra de ferramentas, clique em Credenciais de dados.
  3. Selecione Credenciais da conta de serviço.
  4. Introduza o endereço de email da conta de serviço na caixa.
  5. Clique em Atualizar.

Edite uma origem de dados que use credenciais de conta de serviço

Quando alguém edita uma origem de dados que usa credenciais de contas de serviço, o Looker Studio verifica se essa pessoa tem autorização para usar a conta de serviço. Caso contrário, a origem de dados passa a usar as credenciais dessa pessoa.

Veja quem está a usar a conta de serviço para aceder aos dados

Pode consultar os registos de auditoria das contas de serviço na Google Cloud consola. Tem de ativar os registos de auditoria da IAM para a atividade de acesso a dados se quiser receber registos de auditoria para contas de serviço.

Cenário de exemplo de conta de serviço

Suponhamos que quer garantir que os utilizadores do Looker Studio na sua empresa só têm acesso aos dados da filial do respetivo país. Uma solução é criar uma conta de serviço para cada país e conceder apenas aos utilizadores do Looker Studio nesse país autorização para atuarem como a conta de serviço.

Exemplo de configuração

Neste exemplo, vai criar três contas de serviço: uma para o Reino Unido, uma para França e uma para a Alemanha. Em seguida, atribua como principais o seu agente de serviço e todos os utilizadores que quer que possam criar origens de dados que usem a conta de serviço. Também atribui 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

Diretores do Reino Unido

Diretores Funções

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Este é o agente do serviço.

Service Account Token Creator
Utilizador 1 Service Account User
Utilizador 2 Service Account User

Conta de serviço de França

service-account-1@example-org-fr-example-project.iam.gserviceaccount.com

Diretores de França

Diretores Funções

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Este é o agente do serviço.

Service Account Token Creator
Utilizador 3 Service Account User
Utilizador 4 Service Account User

Conta de serviço da Alemanha

service-account-1@example-org-de-example-project.iam.gserviceaccount.com

Diretores da Alemanha

Diretores Funções

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Este é o agente do serviço.

Service Account Token Creator
Utilizador 5 Service Account User
Utilizador 6 Service Account User

Erros

Esta secção explica os erros que os criadores de origens de dados e os visitantes de relatórios do Looker Studio podem ver quando tentam usar uma conta de serviço. Na maioria dos casos, estes erros têm a mesma causa principal: configuração incorreta ou incompleta da conta de serviço.

Função do agente do serviço em falta

Mensagens

  • O agente do serviço do Looker Studio não tem autorização do iam.serviceAccounts.getAccessToken para este serviço.
  • O agente do serviço usado pela conta de serviço desta origem de dados não tem a função "Criador de tokens de contas de serviço".

Causa

O agente do serviço não tem a função criador de tokens de contas de serviço (ou outra função que inclua a autorização iam.serviceAccounts.getAccessToken).

Solução

Conceda a função criador de tokens da conta de serviço ao agente de serviço.

Sem acesso aos dados

Mensagem

Esta conta de serviço não consegue aceder ao conjunto de dados subjacente.

Causas

  • Não foi concedido acesso aos dados do projeto à conta de serviço.
  • O projeto de faturação está associado a um projeto ao qual a conta de serviço não tem acesso.

Solução

No mínimo, conceda a função de visualizador de dados do BigQuery à sua conta de serviço na tabela, no conjunto de dados ou no projeto subjacente.

Função de utilizador em falta

Mensagem

Não tem autorização para usar esta conta de serviço.

Causa

O utilizador não foi adicionado como principal à conta de serviço com a função Utilizador da conta de serviço.

Solução

Conceda a função Utilizador da conta de serviço ao utilizador na conta de serviço.

Agente do serviço não disponível para a conta

Mensagens

  • Não é possível gerar agentes do serviço para esta conta. Tente novamente com uma conta gerida do Google Workspace ou Cloud ID.
  • As credenciais do agente do serviço só estão disponíveis para organizações geridas do Google Workspace ou Cloud ID. Use uma conta diferente para usar esta funcionalidade.

Causa

O utilizador está a tentar usar uma Conta Google padrão (utilizador consumidor) para aceder a dados controlados por uma conta de serviço.

Solução

Use uma conta do Google Workspace ou do Cloud ID para aceder aos dados.

Não é possível usar o agente de serviço na caixa de diálogo de credenciais

Mensagem

Não é possível usar os agentes de serviço do Looker Studio para a ligação direta a dados. Em alternativa, use uma conta de serviço.

Solução

Os agentes de serviço e as contas de serviço são diferentes. Introduza uma conta de serviço na caixa de diálogo de credenciais. Pode encontrar a lista de contas de serviço disponíveis através da Google Cloud consola ou do Cloud Shell:

Consola

  1. Navegue para a página Google Cloud Platform > IAM e administrador > Contas de serviço.
  2. Se necessário, selecione um projeto.
  3. Na página Contas de serviço para o projeto, localize a conta de serviço que o Looker Studio vai usar para aceder aos seus dados do BigQuery.
  4. Copie o endereço de email dessa conta.

gcloud

  1. Abra o Cloud Shell.
  2. Se necessário, selecione um projeto.
  3. Para listar as contas de serviço às quais tem acesso, execute o comando gcloud iam service-accounts list.

Exemplo:

gcloud iam service-accounts list

Limites

  • As credenciais da conta de serviço só estão disponíveis para origens de dados do BigQuery. Os limites do IAM aplicam-se às contas de serviço.
  • As alterações às autorizações da conta de serviço podem demorar alguns minutos a serem refletidas no Looker Studio.
  • A entrega de emails agendada não funciona com dados protegidos através de níveis de acesso baseados em IP com os VPC Service Controls. (Isto acontece porque o Looker Studio não transmite o endereço IP do destinatário do email quando este vê o relatório.)