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 di Google 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, Data 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ù sui service account.
Vantaggi dell'utilizzo di un account di servizio con Data 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 che si trovano dietro i perimetri Controlli di servizio VPC che utilizzano criteri relativi ai dispositivi.
- Le funzionalità automatizzate come le email pianificate, gli avvisi 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 in entrata e in uscita per consentire all'account di servizio di accedere alle risorse e ai client protetti dai perimetri di servizio e viceversa.
Ruoli obbligatori
Per gli amministratori
- Per ottenere l'agente di servizio Data 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) nel tuo progetto Google Cloud . Scopri di più sui ruoli del service account. - Per configurare il account di servizio in modo che acceda a una tabella BigQuery o a un set di dati, 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'autorizzazionebigquery.datasets.setIamPolicy.
Per il account di servizio
- Come minimo, all'account di servizio deve essere concesso il ruolo Visualizzatore dati BigQuery (
roles/bigquery.dataViewer) nelle tabelle o nei set di dati specifici a cui deve accedere. - Query personalizzate:se l'origine dati utilizza una query personalizzata, al account di servizio deve essere concesso anche il ruolo Utente job BigQuery (
roles/bigquery.jobUser) nel progetto Google Cloud che contiene i dati.
Istruzioni di configurazione
Per configurare un account di servizio che fornisca l'accesso ai dati BigQuery:
- Recupera l'agente di servizio Data Studio. In questo passaggio, copierai l'indirizzo email dell'agente di servizio in modo da poterlo utilizzare nel passaggio successivo. Questo indirizzo viene creato automaticamente da Data Studio.
- Crea un account di servizio per Data Studio. In questo passaggio creerai l'utente non umano che accederà ai dati.
- Consenti all'agente di servizio Data Studio di accedere al tuo service account. In questo passaggio, concederai all'agente di servizio il ruolo richiesto nel account di servizio.
- Concedi 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.
- 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 Data Studio
Per consentire all'account di servizio di accedere ai tuoi dati, devi fornire l'agente di servizio Data Studio per la tua organizzazione. Puoi trovare l'agente di servizio in una pagina della guida di Data Studio:
- Vai alla pagina di assistenza dell'agente di servizio Data Studio.
- Copia l'indirizzo email del service agent visualizzato nella pagina.
Passaggio 2: crea un account di servizio per Data Studio
Per istruzioni sulla creazione di un account di servizio, consulta la Google Cloud documentazione IAM. Per creare il account di servizio puoi utilizzare la console Google Cloud o la riga di comando di Cloud Shell.
Console
- Dalla console Google Cloud , vai alla pagina Crea service account.
- Seleziona un progetto.
- 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.
- (Facoltativo) Inserisci una descrizione per il account di servizio.
- Fai clic su CREA E CONTINUA.
- In Autorizzazioni, concedi all'account di servizio il ruolo IAM Utente job BigQuery nel progetto contenente i dati a cui vuoi connetterti in Data Studio. Tieni presente che questo progetto potrebbe essere diverso da quello in cui hai creato l'account di servizio.
- Fai clic su Continua.
- 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.
- 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.
- Apri Cloud Shell.
- Seleziona un progetto, se necessario.
- 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 Data Studio access to BigQuery" \ --display-name="LS_BQ"
-
Per accedere ai dati BigQuery nel progetto Google Cloud che vuoi utilizzare con Data Studio, assegna all'account di servizio l'autorizzazione
bigquery.jobs.createnel progetto in questione. Per concedere questa autorizzazione, puoi assegnare il ruolo IAM Utente job BigQuery.Inoltre, concedi all'account di servizio
bigquery.tables.getDataebigquery.tables.getle autorizzazioni nel progetto o nel set di dati che vuoi utilizzare con Data 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 il tuo 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-binding PROJECT_ID \ --member="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/bigquery.dataViewer"
Passaggio 3: consenti all'agente di servizio Data Studio di accedere al tuo account di servizio
Per consentire all'agente di servizio Data Studio di accedere ai dati utilizzando
il account di servizio, concedi il ruolo Creatore token service account
(roles/iam.serviceAccountTokenCreator) all'agente di servizio.
Console
- Torna all'elenco degli account di servizio della consoleGoogle Cloud .
- Seleziona con un clic nell'elenco l'account di servizio di Data Studio appena creato.
- Fai clic su Entità con accesso.
- Fai clic su person_addCONCEDI ACCESSO.
- In Aggiungi entità a
PROJECT_ID, incolla l'indirizzo email dell'agente di servizio Data Studio (copiato nel passaggio 1 in precedenza) nella casella Nuove entità. L'indirizzo dell'agente di servizio ha il seguente aspetto: Sostituisci ORG-ID con l'ID organizzazione Google Cloud .service-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com - 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. - 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="serviceAccount:service-org-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \ --role="roles/iam.serviceAccountTokenCreator"
Passaggio 4: concedi i ruoli utente
Agli utenti di Data 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 nel progetto o in un service account singolo, ma ti consigliamo di concederlo solo nel service account. Per
le istruzioni, vedi Gestioneaccount di servizioe account.
Ti consigliamo di NON concedere agli utenti non service agent il ruolo Creatore token account di servizio perché non è necessario per Data Studio.
Console
- Vai all'elenco degli account di servizio della console.
- Seleziona con un clic nell'elenco l'account di servizio di Data Studio.
- Fai clic su Entità con accesso.
- Fai clic su person_add CONCEDI ACCESSO.
- In Aggiungi entità e ruoli per il service account, inserisci gli indirizzi email degli utenti nella casella Nuove entità.
- Seleziona il ruolo Service Account User.
- 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 Data 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.
Per completare questo passaggio, copia l'indirizzo email dell'agente di servizio Data Studio, come descritto in precedenza nel passaggio 1. Ottieni l'agente di servizio Data Studio in modo da poterlo incollare nella finestra di dialogo Aggiungi entità quando ti viene chiesto di farlo.
Console
Per concedere l'accesso a una tabella:
- Copia l'account di servizio Data Studio, come descritto in precedenza nel passaggio 2: crea un service account per Data Studio.
- Vai all'elenco degli account di servizio della consoleGoogle Cloud .
- Vai a BigQuery e seleziona un progetto.
- Fai clic su set di dati Set di dati, quindi seleziona un set di dati.
- Seleziona una tabella.
- Nella barra degli strumenti, fai clic sul menu person_add CONDIVIDI e poi su Condividi.
- Nel riquadro Autorizzazioni di condivisione, fai clic su person_add AGGIUNGI ENTITÀ.
- Nella casella Nuove entità, incolla l'indirizzo email dell'agente di servizio Data Studio.
- Seleziona il ruolo Visualizzatore dati BigQuery.
- Fai clic su SALVA.
Per concedere l'accesso a un set di dati:
- Copia l'account di servizio Data Studio, come descritto in precedenza nel passaggio 2: crea un service account per Data Studio.
- Vai all'elenco degli account di servizio della consoleGoogle Cloud .
- Vai a BigQuery e seleziona un progetto.
- Fai clic su set di dati Set di dati e poi seleziona un set di dati.
- Fai clic su more_vert Azioni chevron_forward Condividi chevron_forward Gestisci autorizzazioni.
- Nel riquadro Autorizzazioni di condivisione, fai clic su person_add AGGIUNGI ENTITÀ.
- Nella casella Nuove entità, incolla l'indirizzo email dell'agente di servizio Data Studio.
- Seleziona il ruolo Visualizzatore dati BigQuery.
- 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
Controllo dell'accesso ai set di dati nella documentazione di BigQuery.
Fornire gli account di servizio di Data Studio agli utenti di Data Studio
Gli utenti di Data Studio devono sapere quale account di servizio utilizzare quando creano origini dati. Poiché non esiste un modo per visualizzare l'elenco degli account di servizio disponibili in Data 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 Data Studio possono seguire la stessa procedura di base prevista per gli altri tipi di credenziali dei dati:
- Crea o modifica un'origine dati BigQuery.
- Nella barra degli strumenti, fai clic su Credenziali dati.
- Seleziona Credenziali dell'account di servizio.
- Inserisci l'indirizzo email dell'account di servizio nella casella.
- 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, Data 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 Data 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 Data 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à il tuo service agent 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 |
|
Questo è il service agent. |
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 |
|
Questo è il service agent. |
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 |
|
Questo è il service agent. |
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 Data 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
|
CausaAll'agente di servizio non è stato concesso il ruolo Creatore token account di servizio (o un altro ruolo che include l'autorizzazione |
SoluzioneConcedi il ruolo Creatore token account di servizio all'agente di servizio. |
Nessun accesso ai dati
MessaggioQuesto account di servizio non può accedere al set di dati sottostante. |
Cause
|
Soluzione
|
Ruolo utente mancante
MessaggioNon hai l'autorizzazione per utilizzare questo account di servizio. |
CausaL'utente non è stato aggiunto come entità all'account di servizio con il ruolo Utente account di servizio. |
SoluzioneConcedi all'utente il ruolo Utente account di servizio nell'account di servizio. |
Agente di servizio non disponibile per l'account
Messaggi
|
CausaL'utente sta tentando di utilizzare un Account Google standard (utente consumatore) per accedere ai dati controllati da un account di servizio. |
SoluzioneUtilizza un account Google Workspace o Cloud Identity per accedere ai dati. |
Impossibile utilizzare l'agente di servizio nella finestra di dialogo delle credenziali
MessaggioNon è possibile utilizzare gli agenti di servizio Data Studio per collegarsi direttamente ai dati. Utilizza un account di servizio. |
SoluzioneGli agenti e i service account sono diversi. Inserisci un account di servizio nella finestra di dialogo delle credenziali. Puoi trovare l'elenco dei service account disponibili utilizzando la console Google Cloud o Cloud Shell: Console
gcloud
Esempio: |
Limiti
- Le credenziali dell'account di servizio sono disponibili solo per le origini dati BigQuery. I limiti IAM si applicano ai service account.
- Potrebbero essere necessari alcuni minuti prima che le modifiche alle autorizzazioni degli account di servizio vengano applicate in Data Studio.
- L'invio di email programmate e gli avvisi non funzionano con i dati protetti utilizzando livelli di accesso basati su IP con Controlli di servizio VPC. (Data Studio non trasmette l'indirizzo IP del destinatario dell'email quando il destinatario visualizza il report.)
Risorse correlate
- Informazioni sugli account di servizio
- Regole in entrata e in uscita
- Collegarsi a BigQuery: supporto per i Controlli di servizio VPC
- Avvio di Cloud Shell