Configurare un account di servizio Google Cloud per Looker Studio

Un account di servizio è un tipo speciale di Account Google destinato a rappresentare un utente "non umano" che può eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API e nei prodotti Google. Anziché delegare l'accesso utilizzando le credenziali del proprietario o richiedere a singoli visualizzatori dei report di accedere ai dati utilizzando le credenziali del visualizzatore, Looker Studio può usare un account di servizio per accedere ai dati.

Nota: le credenziali dell'account di servizio sono disponibili solo per le origini dati BigQuery.

Scopri di più sugli account di servizio.

Vantaggi dell'utilizzo di un account di servizio con Looker Studio

L'utilizzo di un account di servizio invece delle credenziali di un singolo utente comporta i seguenti vantaggi:

  • Le origini dati che utilizzano le credenziali dell'account di servizio non subiranno interruzioni se il creatore lascia l'azienda.
  • Le credenziali dell'account di servizio supportano l'accesso ai dati situati dietro perimetri Controlli di servizio VPC che utilizzano criteri relativi ai dispositivi.
  • Le funzionalità automatizzate come le email pianificate e le estrazioni di dati pianificate funzionano con le origini dati che si trovano dietro un perimetro Controlli di servizio VPC. Per un avviso importante, consulta la sezione Limiti.
  • Puoi creare regole di entrata e uscita per consentire all'account di servizio di accedere alle risorse e ai client protetti dai perimetri di servizio e di uscire da questi.

Ruoli obbligatori

  • Per ottenere l'agente di servizio Looker Studio, devi essere un utente di Google Workspace o Cloud Identity.
  • Per configurare un account di servizio, devi disporre del ruolo Amministratore service account (roles/iam.serviceAccountAdmin) o Creazione service account (roles/iam.serviceAccountCreator) per il tuo progetto Google Cloud . Scopri di più sui ruoli degli account di servizio.
  • Per configurare il account di servizio in modo che acceda a una tabella o a un set di dati BigQuery, devi disporre del ruolo Proprietario dati BigQuery (roles/bigquery.dataOwner) nella tabella o nel set di dati oppure di un altro ruolo che ti conceda l'autorizzazione bigquery.datasets.setIamPolicy.

Istruzioni di configurazione

Per configurare un account di servizio che fornisca l'accesso ai dati BigQuery:

  1. Trovare l'agente di servizio Looker Studio. In questo passaggio, copierai l'indirizzo email dell'agente di servizio per poterlo utilizzare nel passaggio successivo. Questo indirizzo viene creato automaticamente da Looker Studio.
  2. Crea un account di servizio per Looker Studio. In questo passaggio, creerai l'utente non umano che accederà ai dati.
  3. Consenti all'agente di servizio Looker Studio di accedere al tuo service account. In questo passaggio, concedi all'agente di servizio il ruolo richiesto nell'account di servizio.
  4. Concedere ruoli utente. In questo passaggio, concederai agli utenti il ruolo richiesto in modo che possano creare origini dati che utilizzano le credenziali dell'account di servizio.
  5. Attiva l'account di servizio per accedere ai dati BigQuery. In questo passaggio, concederai all'account di servizio il ruolo richiesto in modo che possa accedere a una tabella o a un set di dati BigQuery.

Passaggio 1: ottieni l'agente di servizio Looker Studio

Per consentire all'account di servizio di accedere ai tuoi dati, devi fornire l'agente di servizio Looker Studio per la tua organizzazione. Puoi trovare l'agente di servizio in una pagina di assistenza di Looker Studio:

  1. Vai alla pagina di assistenza dell'agente di servizio Looker Studio.
  2. Copia l'indirizzo email dell'agente di servizio visualizzato nella pagina.

Passaggio 2: crea un account di servizio per Looker Studio

Per istruzioni sulla creazione di un account di servizio, consulta la Google Cloud documentazione IAM. Per creare l'account di servizio puoi utilizzare la Google Cloud console o la riga di comando di Cloud Shell.

Console

  1. Dalla console Google Cloud , vai alla pagina Crea service account.

    Vai a Crea service account

  2. Seleziona un progetto.
  3. Inserisci il nome di un service account da visualizzare nella Google Cloud console.

    La console Google Cloud genera un ID account di servizio basato su questo nome. Se necessario, modifica l'ID. Non potrai modificare l'ID in un secondo momento.

  4. (Facoltativo) Inserisci una descrizione per il account di servizio.
  5. Fai clic su CREA E CONTINUA.
  6. In Autorizzazioni, concedi all'account di servizio il ruolo IAM Utente job BigQuery nel progetto contenente i dati a cui vuoi connetterti in Looker Studio. Tieni presente che potrebbe essere diverso dal progetto in cui hai creato l'account di servizio.
  7. Fai clic su Continua.
  8. Nel campo Ruolo degli utenti dell'account di servizio, aggiungi gli utenti che possono utilizzare questo service account per fornire le credenziali per le loro origini dati. Se non vuoi aggiungere gli utenti ora, puoi farlo in un secondo momento seguendo le istruzioni riportate nella sezione Concedi i ruoli utente.
  9. Fai clic su FINE per salvare l'account di servizio e tornare alla pagina dell'elenco degli account di servizio per il progetto.

gcloud

Segui la procedura generale indicata in Cloud Shell in Creazione e gestione degli account di servizio.

  1. Apri Cloud Shell.
  2. Seleziona un progetto, se necessario.
  3. Per creare il account di servizio, esegui il comando gcloud iam service-accounts create. Puoi utilizzare qualsiasi nome, descrizione e nome visualizzato dell'account che preferisci.

Esempio:

gcloud iam service-accounts create looker-studio-service-account \
--description="Use for Looker Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. Per accedere ai dati BigQuery nel progetto Google Cloud che vuoi utilizzare con Looker Studio, assegna all'account di servizio l'autorizzazione bigquery.jobs.create nel progetto in questione. Per concedere questa autorizzazione, puoi assegnare il ruolo IAM Utente job BigQuery.

    Inoltre, concedi all'account di servizio le autorizzazioni bigquery.tables.getData e bigquery.tables.get nel progetto o nel set di dati che vuoi utilizzare con Looker Studio. Per concedere queste autorizzazioni, puoi assegnare il ruolo Visualizzatore dati BigQuery (roles/bigquery.dataViewer).

    Per concedere questi ruoli, esegui il comando gcloud projects add-iam-policy-binding. Negli esempi riportati di seguito, sostituisci PROJECT_ID con l'ID progetto.

    Esempio: concedere il ruolo Utente job BigQuery

    gcloud projects add-iam-policy-binding PROJECT_ID\
    --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/bigquery.jobUser"
    

    Esempio: concedere il ruolo Visualizzatore dati BigQuery

    gcloud projects add-iam-policy-bindingPROJECT_ID\
    --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/bigquery.dataViewer"
    

Passaggio 3: consenti all'agente di servizio Looker Studio di accedere al tuo account di servizio

Per consentire all'agente di servizio Looker Studio di accedere ai dati utilizzando l'account di servizio, concedi il ruolo Creatore token account di servizio (roles/iam.serviceAccountTokenCreator) all'agente di servizio.

Console

  1. Torna all'elenco degli account di servizio della consoleGoogle Cloud .
  2. Seleziona con un clic nell'elenco l'account di servizio di Looker Studio appena creato.
  3. Fai clic su Entità con accesso.
  4. Fai clic su person_add CONCEDI ACCESSO.
  5. In Aggiungi entità a PROJECT_ID, incolla l'indirizzo email dell'agente di servizio Looker Studio (copiato nel passaggio 1 in precedenza) nella casella Nuove entità. L'indirizzo dell'agente di servizio è il seguente: SERVICE_AGENT_NAME@PROJECT_ID.iam.gserviceaccount.com.
  6. Seleziona un ruolo che conceda all'agente di servizio l'autorizzazione iam.serviceAccounts.getAccessToken. Ad esempio, puoi utilizzare il ruolo Creatore token account di servizio, ma anche qualsiasi ruolo personalizzato che conceda questa autorizzazione.
  7. Fai clic su SALVA.

gcloud

Esegui il comando gcloud iam service-accounts add-iam-policy-binding. Nell'esempio seguente, sostituisci ORG_ID con l'ID della tua organizzazione.

Esempio:

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"

Passaggio 4: concedi i ruoli utente

Agli utenti di Looker Studio che creano o modificano le origini dati deve essere concesso un ruolo che includa l'autorizzazione iam.serviceAccounts.actAs, ad esempio il ruolo Utente account di servizio (roles/iam.serviceAccountUser). Puoi concedere questo ruolo al progetto o a un singolo service account, ma ti consigliamo di concederlo solo al service account. Per istruzioni, vedi Gestione dell'impersonificazione dell'account di servizio.

Ti consigliamo di non concedere agli utenti non agenti di servizio il ruolo Creatore token account di servizio perché non è necessario per Looker Studio.

Console

  1. Vai all'elenco degli account di servizio della console.
  2. Seleziona con un clic nell'elenco l'account di servizio di Looker Studio.
  3. Fai clic su Entità con accesso.
  4. Fai clic su person_add CONCEDI ACCESSO.
  5. In Aggiungi entità e ruoli per l'account di servizio, inserisci gli indirizzi email degli utenti nella casella Nuove entità.
  6. Seleziona il ruolo Utente account di servizio.
  7. Fai clic su SALVA.

gcloud

Per concedere il ruolo Utente service account, esegui il comando gcloud projects add-iam-policy-binding. Negli esempi riportati di seguito, sostituisci PROJECT_ID con il tuo ID progetto e USER_EMAIL con uno o più indirizzi email validi (separa le voci multiple con una virgola).

Esempio:

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"

Passaggio 5: attiva l'account di servizio per accedere ai dati BigQuery

Per consentire a Looker Studio di accedere ai tuoi dati, concedi il ruolo Visualizzatore dati BigQuery all'account di servizio a livello di tabella o set di dati. Non è consigliabile concedere all'account di servizio l'accesso a livello di progetto.

Console

Per concedere l'accesso a una tabella:

  1. Copia l'indirizzo email dell'agente di servizio di Looker Studio, come descritto in precedenza nel passaggio 1. Trovare l'agente di servizio Looker Studio.
  2. Vai all'elenco degli account di servizio della consoleGoogle Cloud .
  3. Vai a BigQuery e apri un progetto.
  4. Espandi un set di dati facendo clic sulla freccia di espansione .
  5. Seleziona una tabella.
  6. Nella barra degli strumenti, fai clic su person_add CONDIVIDI.
  7. Nel riquadro che si apre a destra, fai clic su person_add AGGIUNGI ENTITÀ.
  8. Nella casella Nuove entità, incolla l'indirizzo email dell'agente di servizio di Looker Studio.
  9. Seleziona il ruolo Visualizzatore dati BigQuery.
  10. Fai clic su SALVA.

Per concedere l'accesso a un set di dati:

  1. Copia l'indirizzo email dell'agente di servizio di Looker Studio, come descritto in precedenza nel passaggio 1. Trovare l'agente di servizio Looker Studio.
  2. Vai all'elenco degli account di servizio della consoleGoogle Cloud .
  3. Vai a BigQuery, apri un progetto e individua il set di dati.
  4. Fai clic sul menu delle opzioni .
  5. Fai clic su Apri.
  6. Nella barra degli strumenti, fai clic su person_add Autorizzazioni di condivisione.
  7. Nel riquadro che si apre a destra, fai clic su person_add AGGIUNGI ENTITÀ.
  8. Nella casella Nuove entità, incolla l'indirizzo email dell'agente di servizio di Looker Studio.
  9. Seleziona il ruolo Visualizzatore dati BigQuery.
  10. Fai clic su SALVA.

gcloud

Ti consigliamo di utilizzare le istruzioni della console Google Cloud per concedere l'accesso ai dati. Per concedere l'accesso ai dati utilizzando lo strumento a riga di comando bq, consulta la sezione Controllo dell'accesso ai set di dati nella documentazione di BigQuery.

Fornire gli account di servizio di Looker Studio agli utenti di Looker Studio

Gli utenti di Looker Studio devono sapere quale account di servizio utilizzare per la creazione delle origini dati. Poiché non esiste un modo per visualizzare l'elenco degli account di servizio disponibili in Looker Studio, devi rendere accessibili queste informazioni tramite la documentazione, il sito web interno o le email della tua organizzazione.

Creare un'origine dati che utilizza le credenziali del account di servizio

Per creare origini dati che utilizzano le credenziali dell'account di servizio, gli utenti di Looker Studio possono seguire la stessa procedura di base prevista per gli altri tipi di credenziali dei dati:

  1. Crea o modifica un'origine dati BigQuery.
  2. Nella barra degli strumenti, fai clic su Credenziali dei dati.
  3. Seleziona Credenziali dell'account di servizio.
  4. Inserisci l'indirizzo email dell'account di servizio nella casella.
  5. Fai clic su Aggiorna.

Modificare un'origine dati che utilizza le credenziali dell'account di servizio

Quando un utente modifica un'origine dati che utilizza le credenziali dell'account di servizio, Looker Studio controlla se possiede l'autorizzazione all'uso dell'account di servizio. In caso contrario, l'origine dati passa all'uso delle credenziali di questa persona.

Vedere chi utilizza l'account di servizio per accedere ai dati

Puoi controllare i log di controllo per i service account nella console Google Cloud . Per ricevere i log di controllo per gli account di servizio, devi attivare i log di controllo IAM per l'attività di accesso ai dati.

Scenario di esempio dell'account di servizio

Supponiamo che tu voglia assicurarti che gli utenti di Looker Studio della tua azienda abbiano accesso solo ai dati della società controllata del loro paese. Una soluzione consiste nel creare un account di servizio per ogni paese e concedere solo agli utenti di Looker Studio in quel paese l'autorizzazione ad agire come account di servizio.

Configurazione di esempio

In questo esempio, creerai tre service account: uno per il Regno Unito, uno per la Francia e uno per la Germania. Poi, assegnerai come entità l'agente di servizio e tutti gli utenti ai quali vuoi concedere l'autorizzazione a creare origini dati che utilizzano l'account di servizio. Assegnerai anche i ruoli appropriati a ciascuno.

Account di servizio nel Regno Unito

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

Entità per il Regno Unito

Entità Ruoli

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

Questo è l'agente di servizio.

Service Account Token Creator
Utente 1 Service Account User
Utente 2 Service Account User

Account di servizio per la Francia

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

Entità per la Francia

Entità Ruoli

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

Questo è l'agente di servizio.

Service Account Token Creator
Utente 3 Service Account User
Utente 4 Service Account User

Account di servizio per la Germania

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

Entità per la Germania

Entità Ruoli

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

Questo è l'agente di servizio.

Service Account Token Creator
Utente 5 Service Account User
Utente 6 Service Account User

Errori

Questa sezione spiega i messaggi di errore che i creatori delle origini dati e i visualizzatori dei report di Looker Studio potrebbero ricevere quando tentano di utilizzare un account di servizio. Nella maggior parte dei casi, questi errori hanno la stessa causa principale: configurazione errata o incompleta dell'account di servizio.

Ruolo agente di servizio mancante

Messaggi

  • L'agente di servizio Looker Studio non dispone dell'autorizzazione iam.serviceAccounts.getAccessToken per questo servizio.
  • All'agente di servizio utilizzato dall'account di servizio di questa origine dati manca il ruolo "Creatore token account di servizio".

Causa

All'agente di servizio non è stato concesso il ruolo Creatore token account di servizio (o un altro ruolo che include l'autorizzazione iam.serviceAccounts.getAccessToken).

Soluzione

Concedi il ruolo Creatore token account di servizio all'agente di servizio.

Nessun accesso ai dati

Messaggio

Questo account di servizio non può accedere al set di dati sottostante.

Cause

  • All'account di servizio non è stato concesso l'accesso ai dati del progetto.
  • Il progetto di fatturazione è collegato a un progetto a cui l'account di servizio non ha accesso.

Soluzione

Concedi al tuo account di servizio almeno il ruolo Visualizzatore dati BigQuery nella tabella, nel set di dati o nel progetto sottostante.

Ruolo utente mancante

Messaggio

Non hai l'autorizzazione per utilizzare questo account di servizio.

Causa

L'utente non è stato aggiunto come entità all'account di servizio con il ruolo Utente account di servizio.

Soluzione

Concedi all'utente il ruolo Utente account di servizio nell'account di servizio.

Agente di servizio non disponibile per l'account

Messaggi

  • Non è possibile generare gli agenti di servizio per questo account. Riprova con un account gestito Google Workspace o Cloud Identity.
  • Le credenziali dell'agente di servizio sono disponibili solo per le organizzazioni gestite di Google Workspace o Cloud Identity. Utilizza un altro account per usare questa funzionalità.

Causa

L'utente sta tentando di utilizzare un Account Google standard (utente consumatore) per accedere ai dati controllati da un account di servizio.

Soluzione

Utilizza un account Google Workspace o Cloud Identity per accedere ai dati.

Impossibile utilizzare l'agente di servizio nella finestra di dialogo delle credenziali

Messaggio

Non è possibile utilizzare gli agenti di servizio Looker Studio per collegarsi direttamente ai dati. Utilizza un account di servizio.

Soluzione

Gli agenti di servizio e i service account sono diversi. Inserisci un account di servizio nella finestra di dialogo delle credenziali. Puoi trovare l'elenco degli account di servizio disponibili utilizzando la console Google Cloud o Cloud Shell:

Console

  1. Vai alla pagina Google Cloud Platform > IAM e amministrazione > Service account.
  2. Seleziona un progetto, se necessario.
  3. Nella pagina Account di servizio per il progetto, individua l'account di servizio che Looker Studio utilizzerà per accedere ai dati di BigQuery.
  4. Copia l'indirizzo email di quell'account.

gcloud

  1. Apri Cloud Shell.
  2. Seleziona un progetto, se necessario.
  3. Per visualizzare un elenco degli account di servizio a cui hai accesso, esegui il comando gcloud iam service-accounts list.

Esempio:

gcloud iam service-accounts list

Limiti

  • Le credenziali dell'account di servizio sono disponibili solo per le origini dati BigQuery. I limiti IAM si applicano agli account di servizio.
  • Potrebbero essere necessari alcuni minuti prima che le modifiche alle autorizzazioni degli account di servizio vengano applicate in Looker Studio.
  • La distribuzione delle email pianificata non funziona con i dati protetti utilizzando livelli di accesso basati su IP con Controlli di servizio VPC. Ciò accade perché Looker Studio non trasmette l'indirizzo IP del destinatario dell'email quando quest'ultimo visualizza il report.