I service account possono essere suddivisi nelle seguenti categorie:
- Service account gestiti dall'utente, che crei e gestisci personalmente
- Agenti di servizio, che Google Cloud crea e gestisce
Questa pagina descrive come viene creato e utilizzato ogni tipo di account di servizio.
Service account gestiti dall'utente
I service account gestiti dall'utente sono service account che crei nei tuoi progetti. Puoi aggiornare, disattivare, attivare ed eliminare questi service account a tua discrezione. Puoi anche gestire l'accesso di altre entità a questi service account.
Puoi creare service account gestiti dall'utente nel tuo progetto utilizzando l' API IAM, la Google Cloud console o Google Cloud CLI.
Il numero di service account che puoi avere in ogni progetto dipende dal progetto stesso. Per visualizzare la quota di un progetto, visualizza le quote del progetto nella Google Cloud console e cerca Conteggio service account.
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 il account di servizio, che utilizza il seguente formato:
service-account-name@project-id.iam.gserviceaccount.com
Per scoprire come creare un account di servizio, consulta Creazione di service account.
Service account predefiniti
I service account predefiniti sono service account gestiti dall'utente che vengono creati automaticamente quando abiliti o utilizzi determinati Google Cloud servizi. Questi service account consentono al servizio di eseguire il deployment di job che accedono ad altre Google Cloud risorse. Sei responsabile della gestione dei service account predefiniti dopo la loro creazione.
Se la tua applicazione viene eseguita in un Google Cloud ambiente con un account di servizio predefinito, può utilizzare le credenziali del account di servizio predefinito per chiamare le Google Cloud API. In alternativa, puoi creare il tuo account di servizio gestito dall'utente e utilizzarlo per l'autenticazione. Per i dettagli, consulta Configurare le credenziali predefinite dell'applicazione.
A seconda della configurazione della policy dell'organizzazione, al account di servizio 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 account di servizio predefinito dispone già del ruolo Editor, ti consigliamo di sostituire il ruolo Editor con ruoli meno permissivi.Per modificare in sicurezza i ruoli del account di servizio, 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 Google Cloud servizio che utilizza App Engine | Account di servizio predefinito di App Engine | project-id@appspot.gserviceaccount.com |
| Compute Engine e qualsiasi Google Cloud servizio che utilizza Compute Engine | Account di servizio predefinito di Compute Engine |
project-number-compute@developer.gserviceaccount.com
|
Agenti di servizio
Alcuni Google Cloud servizi 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 Google Cloud servizi. Questi service account sono noti come agenti di servizio. Potresti visualizzare gli agenti di servizio nella policy di autorizzazione del tuo progetto, negli audit log o nella pagina IAM della Google Cloud console. Per un elenco completo degli agenti di servizio, consulta Agenti di servizio.
Gli agenti di servizio non vengono creati nei tuoi progetti, quindi non li vedrai quando visualizzi i service account dei tuoi progetti. Non puoi accedervi direttamente.
Per impostazione predefinita, gli agenti di servizio non sono elencati nella pagina IAM della Google Cloud console, 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 ha i seguenti tipi di agenti di servizio:
- Agenti di servizio specifici per il servizio
- Google APIs Service Agent
- Gestore dei ruoli per gli agenti di servizio
Agenti di servizio specifici per il servizio
La maggior parte degli agenti di servizio sono specifici per il servizio: 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 service agent è associato a una risorsa. In genere si tratta di un progetto, una cartella o un'organizzazione, ma può anche essere 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 agente di servizio è associato a un progetto, agirà per conto di un servizio per il progetto e le relative risorse discendenti.
Puoi determinare il tipo di risorsa a cui è associato un agente di servizio esaminando il suo indirizzo email:
- Se l'agente di servizio è 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 il service agent è 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 Google APIs Service Agent, con un indirizzo email nel seguente formato:
project-number@cloudservices.gserviceaccount.com.
Questo account di servizio esegueprocessi interni per tuo conto. Google Cloud
Dispone automaticamente del ruolo Editor (roles/editor) sul progetto.
Gestore dei ruoli per gli agenti di servizio
I tuoi audit log per IAM potrebbero fare riferimento al service
account service-agent-manager@system.gserviceaccount.com.
Questo account di servizio gestisce i ruoli concessi ad altri agenti di servizio. È visibile solo negli audit log.
Ad esempio, se utilizzi una nuova API, Google Cloud potrebbe creare automaticamente
un nuovo service agent e concedergli i ruoli nel tuo progetto. La concessione di questi ruoli genera una voce di log di controllo che indica che service-agent-manager@system.gserviceaccount.com ha impostato la policy di autorizzazione per il progetto.
Creazione di service agent
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 ulteriori informazioni 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 Google Cloud di creare agenti di servizio per un servizio prima di utilizzarlo. Per ulteriori informazioni, consulta Creare e concedere ruoli agli agenti di servizio.
Ruoli IAM per gli agenti di servizio
Alcune azioni in Google Cloud richiedono che gli agenti di servizio creino e accedano alle risorse per tuo conto. Ad esempio, quando crei un cluster Managed Service for Apache Spark, l'agente di servizio Managed Service for Apache Spark deve avere l'autorizzazione per creare istanze Compute Engine nel tuo progetto per creare il cluster.
Per ottenere questo accesso, gli agenti di servizio hanno bisogno di ruoli IAM specifici. A molti agenti di servizio 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 altri agenti di servizio, devi concedere i ruoli in modo che il servizio funzioni correttamente. Per scoprire a quali agenti di servizio vengono concessi
ruoli automaticamente, consulta il riferimento agli agenti di servizio.
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. In questo modo, i tuoi servizi continueranno a funzionare correttamente.
Quando aggiungi agenti di servizio come eccezioni, utilizza l'
insieme di entità dell'agente di servizio
del progetto, della cartella o dell'organizzazione.
Se chiedi 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é i ruoli non vengono concessi automaticamente agli agenti di servizio creati su richiesta di un utente. 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.
Agenti di servizio principali
Nel riferimento agli agenti 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.
Audit log degli agenti di servizio
A volte, quando un'entità avvia un'operazione, un agente di servizio esegue un'azione per conto dell'entità. Tuttavia, quando esamini gli audit log di un service agent, può essere difficile capire per conto di chi e perché il service agent ha agito.
Per aiutarti a comprendere il contesto delle azioni di un agente di servizio, alcuni agenti di servizio includono dettagli aggiuntivi negli audit log, 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 negli audit log:
Questi dettagli aggiuntivi si trovano nel campo serviceDelegationHistory dell'audit log,
che è nidificato nel campo authenticationInfo. Questo campo contiene le seguenti
informazioni:
- L'entità originale che ha creato il job
- L'agente di servizio 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 che uno degli agenti di servizio dell'API BigQuery Connection
esegua un'azione. In questo caso, l'audit log dell'azione del service agent conterrebbe 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 account di servizio account.
Provalo
Se non hai mai utilizzato Google Cloud, crea un account per valutare il rendimento dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $in crediti senza costi per l'esecuzione, il test e il deployment dei workload.
Inizia senza costi