Gli account di servizio possono essere suddivisi nelle seguenti categorie:
- Service account gestiti dall'utente, che crei e gestisci autonomamente
- Agenti di servizio, che Google Cloud crea e gestisce
Questa pagina descrive come vengono creati e utilizzati i vari tipi di account di servizio.
Account di servizio gestiti dall'utente
I service account gestiti dall'utente sono service account che crei nei tuoi progetti. Puoi aggiornare, disabilitare, abilitare ed eliminare questi service account a tua discrezione. Puoi anche gestire l'accesso di altri principal a questi service account.
Puoi creare service account gestiti dagli utenti nel tuo progetto utilizzando l'API IAM, la console Google Cloud o Google Cloud CLI.
Per impostazione predefinita, puoi creare fino a 100 account di servizio gestiti dall'utente in un progetto. Se questa quota non soddisfa le tue esigenze, puoi utilizzare la consoleGoogle Cloud per richiedere un aggiustamento della quota. Ai fini di questa quota vengono conteggiati solo gli account di servizio creati dall'utente. Gli account di servizio predefiniti e gli agenti di servizio non vengono conteggiati ai fini della quota.
Quando crei un account di servizio gestito dall'utente nel tuo progetto, scegli un nome per il account di servizio. Questo nome viene visualizzato nell'indirizzo email che identifica ilaccount di serviziot, che utilizza il seguente formato:
service-account-name@project-id.iam.gserviceaccount.com
Per scoprire come creare un account di servizio, vedi Creare service account.
Service account predefiniti
I service account predefiniti sono service account gestiti dall'utente che vengono creati automaticamente quando abiliti o utilizzi determinati servizi Google Cloud . Questi service account consentono al servizio di eseguire il deployment di job che accedono ad altre risorseGoogle Cloud . Sei responsabile della gestione degli account di servizio predefiniti dopo la loro creazione.
Se la tua applicazione viene eseguita in un ambiente Google Cloud con un account di servizio predefinito, può utilizzare le credenziali del account di servizio predefinito per chiamare le API Google Cloud . In alternativa, puoi creare unaccount di serviziot gestito dall'utente e utilizzarlo per l'autenticazione. Per maggiori dettagli, consulta Configurare le credenziali predefinite dell'applicazione.
A seconda della configurazione della policy dell'organizzazione, al service account predefinito potrebbe
essere assegnato automaticamente il ruolo Editor nel
progetto. Ti consigliamo vivamente di disattivare la concessione automatica dei ruoli
forzando l'applicazione del vincolo iam.automaticIamGrantsForDefaultServiceAccounts della policy
dell'organizzazione. Se hai creato la tua organizzazione dopo il 3 maggio 2024, questo
vincolo viene imposto per impostazione predefinita.
Se disattivi la concessione automatica dei ruoli, devi decidere quali ruoli concedere ai service account predefiniti, quindi concedere personalmente questi ruoli.
Se il service account predefinito dispone già del ruolo Editor, ti consigliamo di sostituire il ruolo Editor con ruoli meno permissivi.Per modificare in sicurezza i ruoli del service account, utilizza Policy Simulator per vedere l'impatto della modifica, quindi concedi e revoca i ruoli appropriati.
La tabella seguente elenca i servizi che creano service account predefiniti:
| Servizio | Nome account di servizio | Indirizzo email |
|---|---|---|
| App Engine e qualsiasi servizio Google Cloud che utilizza App Engine | Service account predefinito di App Engine | project-id@appspot.gserviceaccount.com |
| Compute Engine e qualsiasi servizio Google Cloud che utilizza Compute Engine | Account di servizio predefinito Compute Engine |
project-number-compute@developer.gserviceaccount.com
|
Agenti di servizio
Alcuni servizi Google Cloud hanno bisogno di accedere alle tue risorse per poter agire per tuo conto. Ad esempio, quando utilizzi Cloud Run per eseguire un container, il servizio deve accedere a tutti gli argomenti Pub/Sub che possono attivare il container.
Per soddisfare questa esigenza, Google Cloud crea e gestisce service account per molti servizi Google Cloud . Questi service account sono noti come agenti di servizio. Potresti visualizzare gli agenti di servizio nella policy di autorizzazione del tuo progetto, nei log di controllo o nella pagina IAM della console Google Cloud . Per un elenco completo dei service agent, consulta Service agent.
Gli agenti di servizio non vengono creati nei tuoi progetti, quindi non li vedrai quando visualizzi gli account di servizio dei tuoi progetti. Non puoi accedervi direttamente.
Per impostazione predefinita, gli agenti di servizio non sono elencati nella pagina IAM della consoleGoogle Cloud , anche se è stato concesso loro un ruolo nel tuo progetto. Per visualizzare le concessioni di ruoli per gli agenti di servizio, seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.

Google Cloud dispone dei seguenti tipi di agenti di servizio:
- Agenti di servizio specifici per il servizio
- Agente di servizio API di Google
- Gestore dei ruoli per gli agenti di servizio
Service agent specifici per i servizi
La maggior parte degli agenti di servizio sono specifici per il servizio, ovvero agiscono per conto di singoli servizi. In molti casi, questi agenti di servizio sono necessari per il corretto funzionamento dei servizi. Ad esempio, gli agenti di servizio consentono ai sink di Cloud Logging di scrivere i log nei bucket Cloud Storage.
Ogni agente di servizio è associato a una risorsa. Questa risorsa è in genere un progetto, una cartella o un'organizzazione, anche se può essere anche una risorsa specifica del servizio, ad esempio un'istanza Cloud SQL. Questa risorsa definisce l'ambito delle azioni dell'agente di servizio. Ad esempio, se un service agent è associato a un progetto, agirà per conto di un servizio per il progetto e le relative risorse discendenti.
Puoi determinare a quale tipo di risorsa è associato un service agent esaminando il suo indirizzo email:
- Se il service agent è associato a un progetto, una cartella o un'organizzazione, il suo indirizzo email contiene l'ID numerico del progetto, della cartella o dell'organizzazione.
- Se l'agente di servizio è associato a una risorsa specifica del servizio, il suo indirizzo email contiene un ID progetto numerico e un identificatore univoco. L'ID progetto numerico indica il progetto proprietario della risorsa a cui è associato l'agente di servizio. L'identificatore univoco distingue l'agente di servizio da altri agenti di servizio simili nello stesso progetto.
Agente di servizio API di Google
È probabile che la policy di autorizzazione del tuo progetto faccia riferimento a un account di servizio denominato
agente di servizio delle API di Google, con un indirizzo email che utilizza il seguente formato:
project-number@cloudservices.gserviceaccount.com.
Questo account di servizio esegue processi interni di Google Cloud per tuo conto.
A questo account viene automaticamente concesso il ruolo Editor (roles/editor) sul progetto.
Gestore dei ruoli per i service agent
I log di controllo per IAM potrebbero fare riferimento al service account service-agent-manager@system.gserviceaccount.com.
Questo account di servizio gestisce i ruoli concessi ad altri service agent. È visibile solo negli audit log.
Ad esempio, se utilizzi una nuova API, Google Cloud potrebbe creare automaticamente
un nuovo service agent e concedergli ruoli nel tuo progetto. La concessione di questi ruoli
genera una voce di audit log, che mostra che service-agent-manager@system.gserviceaccount.com ha impostato la
policy di autorizzazione per il progetto.
Creazione dell'agente di servizio
L'ora esatta in cui viene creato un agente di servizio dipende dal tipo di risorsa a cui è associato.
Gli agenti di servizio associati a una risorsa specifica del servizio vengono creati quando crei la risorsa. Per saperne di più su come identificare e configurare questi agenti di servizio, consulta la documentazione della risorsa associata.
Gli agenti di servizio associati a progetti, cartelle e organizzazioni vengono creati in base alle tue esigenze, in genere quando utilizzi un servizio per la prima volta. Se necessario, puoi anche chiedere a Google Cloud di creare service agent per un servizio prima di utilizzarlo. Per saperne di più, consulta Creare e concedere ruoli agli agenti di servizio.
Ruoli IAM per i service agent
Alcune azioni in Google Cloud richiedono agli agenti di servizio di creare e accedere alle risorse per tuo conto. Ad esempio, quando crei un cluster Dataproc, l'agente di servizio Dataproc ha bisogno dell'autorizzazione per creare istanze Compute Engine nel tuo progetto per creare il cluster.
Per ottenere questo accesso, i service agent hanno bisogno di ruoli IAM specifici. A molti service agent a livello di progetto vengono concessi automaticamente i ruoli di cui hanno bisogno.
I nomi di questi ruoli concessi automaticamente in genere terminano con serviceAgent
o ServiceAgent. Per gli altri service agent, devi concedere loro i ruoli in modo che il servizio funzioni correttamente. Per scoprire a quali service agent vengono concessi
i ruoli automaticamente, consulta il riferimento al service agent.
Se devi negare determinate autorizzazioni a insiemi di entità che includono
agenti di servizio, ad esempio l'insieme di entità
principalSet://goog/public:all, ti consigliamo di aggiungere gli agenti di servizio
come eccezioni nella regola di negazione. Ciò consente di garantire che i tuoi servizi
continuino a funzionare correttamente. Quando aggiungi agenti di servizio come eccezioni, utilizza il set di entità agente di servizio del progetto, della cartella o dell'organizzazione.
Se chiedi a Google Cloud di creare service agent prima di utilizzare un servizio, devi concedere ai service agent i ruoli che in genere vengono concessi automaticamente. Questo perché agli agenti di servizio creati su richiesta di un utente non vengono concessi automaticamente ruoli. Se non concedi questi ruoli agli agenti di servizio, alcuni servizi potrebbero non funzionare correttamente. Per scoprire come concedere questi ruoli agli agenti di servizio, consulta Creare e concedere ruoli agli agenti di servizio.
Service agent principali
Nel riferimento all'agente di servizio, alcuni agenti di servizio sono identificati come agenti di servizio principali. Gli agenti di servizio principali sono agenti di servizio il cui indirizzo email viene restituito quando attivi la creazione di agenti di servizio per un servizio.
Log di controllo dell'agente di servizio
A volte, quando un principal avvia un'operazione, un agente di servizio esegue un'azione per conto del principal. Tuttavia, quando esamini i log di controllo per un agente di servizio, può essere difficile capire per conto di chi agiva l'agente di servizio e perché.
Per aiutarti a comprendere il contesto delle azioni di un agente di servizio, alcuni agenti di servizio includono dettagli aggiuntivi nei log di controllo, come il job a cui è associata l'azione e l'entità che ha creato il job.I seguenti agenti di servizio includono questi dettagli aggiuntivi nei log di controllo:
Questi dettagli aggiuntivi si trovano nel campo serviceDelegationHistory del log di controllo,
che è nidificato nel campo authenticationInfo. Questo campo contiene le seguenti
informazioni:
- Il preside originale che ha creato il lavoro
- Il service agent che ha eseguito l'azione
- Il servizio a cui appartiene il service agent
- L'ID job
Ad esempio, supponiamo che
example-user@example.com
crei un job utilizzando l'API BigQuery Connection. Questo job richiede a uno degli agenti di servizio dell'API BigQuery Connection di eseguire un'azione. In questo caso, l'audit log dell'azione dell'agente di servizio
conterrà un campo serviceDelegationHistory simile al seguente:
{ "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "authenticationInfo": { "principalEmail": "bqcx-442188550395-jujw@gcp-sa-bigquery-condel.iam.gserviceaccount.com", "serviceDelegationHistory": { "originalPrincipal": "user:my-user@example.com", "serviceMetadata": [ { "principalSubject": "serviceAccount:bqcx-442188550395-jujw@gcp-sa-bigquery-condel.iam.gserviceaccount.com", "serviceDomain": "bigquery.googleapis.com", } ] } } } }
Passaggi successivi
- Scopri come creare e gestire i service account.
- Scopri come creare e gestire le account di servizio account.
- Scopri le best practice per l'utilizzo dei service account.
- Consulta le best practice per la gestione delle chiavi degli account di servizio.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Inizia gratuitamente