Questa pagina spiega come creare account di servizio utilizzando l'API Identity and Access Management (IAM), la console Google Cloud e lo strumento a riga di comando gcloud
.
Per impostazione predefinita, ogni progetto può avere fino a 100 account di servizio che controllano l'accesso alle risorse. Se necessario, puoi richiedere un aumento della quota. Scopri di più su quote e limiti.
Prima di iniziare
Attiva IAM API.
Informazioni sugli account di servizio IAM
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare gli account di servizio, chiedi al tuo amministratore di concederti il ruolo IAM Crea account di servizio (roles/iam.serviceAccountCreator
) nel progetto.
Per maggiori informazioni sulla concessione dei ruoli, vedi Gestire l'accesso.
Potresti anche ottenere le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.
Se vuoi concedere agli account di servizio appena creati l'accesso al progetto, devi disporre anche del ruolo di amministratore IAM del progetto (roles/resourcemanager.projectIamAdmin
).
Crea un account di servizio
Quando crei un account di servizio, devi fornire un ID alfanumerico (SA_NAME
negli esempi riportati di seguito), come my-service-account
. L'ID deve essere compreso tra 6 e 30 caratteri e può
contenere caratteri alfanumerici minuscoli e trattini. Dopo aver creato un account di servizio, non puoi modificarne il nome.
Il nome dell'account di servizio viene visualizzato nell'indirizzo email di cui è stato eseguito il provisioning durante la creazione, nel formato SA_NAME@PROJECT_ID.iam.gserviceaccount.com
.
Ogni account di servizio ha anche un ID numerico univoco e permanente che viene generato automaticamente.
Inoltre, quando crei un account di servizio fornisci le seguenti informazioni:
SA_DESCRIPTION
è una descrizione facoltativa dell'account di servizio.SA_DISPLAY_NAME
è un nome semplice per l'account di servizio.PROJECT_ID
è l'ID del tuo progetto Google Cloud.
Dopo aver creato un account di servizio, potrebbe essere necessario attendere almeno 60 secondi prima di utilizzare l'account di servizio. Questo comportamento si verifica perché le operazioni di lettura sono coerenti; può trascorrere del tempo prima che il nuovo account di servizio diventi visibile. Se provi a leggere o utilizzare un account di servizio subito dopo averlo creato e ricevi un errore, puoi ritentare la richiesta con backoff esponenziale.
Console
- Nella console Google Cloud, vai alla pagina Crea account di servizio.
Vai a Crea account di servizio
I passaggi rimanenti verranno visualizzati automaticamente nella console Google Cloud.
- Seleziona un progetto Google Cloud.
- Inserisci il nome di un account di servizio da visualizzare nella console Google Cloud.
La console Google Cloud genera un ID account di servizio in base a questo nome. Modifica l'ID, se necessario. Non potrai modificare l'ID in un secondo momento.
- (Facoltativo) Inserisci una descrizione dell'account di servizio.
- Se non vuoi impostare i controlli dell'accesso, fai clic su Fine per completare la creazione dell'account di servizio. Per impostare i controlli dell'accesso ora, fai clic su Crea e continua e vai al passaggio successivo.
- (Facoltativo) Scegli uno o più ruoli IAM da concedere all'account di servizio nel progetto.
- Quando hai finito di aggiungere i ruoli, fai clic su Continua.
- (Facoltativo) Nel campo Ruolo degli utenti dell'account di servizio, aggiungi i membri che possono simulare l'identità dell'account di servizio.
- (Facoltativo) Nel campo Ruolo degli amministratori dell'account di servizio, aggiungi i membri che possono gestire l'account di servizio.
- Fai clic su Fine per completare la creazione dell'account di servizio.
gcloud
-
In Google Cloud Console, attiva Cloud Shell.
Nella parte inferiore di Google Cloud Console, viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
-
Per creare l'account di servizio, esegui il comando
gcloud iam service-accounts create
:gcloud iam service-accounts create SA_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
Sostituisci i seguenti valori:
-
SA_NAME
: il nome dell'account di servizio. -
DESCRIPTION
: una descrizione facoltativa dell'account di servizio -
DISPLAY_NAME
: il nome di un account di servizio da visualizzare nella console Google Cloud
-
-
(Facoltativo) Per concedere al tuo account di servizio un ruolo IAM sul progetto, esegui il comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SA_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Sostituisci i seguenti valori:
-
PROJECT_ID
: l'ID progetto -
SA_NAME
: il nome dell'account di servizio. -
ROLE_NAME
: un nome di ruolo, ad esempioroles/compute.osLogin
-
-
Facoltativo: per consentire agli utenti di rubare l'identità all'account di servizio, esegui il comando
gcloud iam service-accounts add-iam-policy-binding
per concedere a un utente il ruolo Utente account di servizio (roles/iam.serviceAccountUser
) nell'account di servizio:gcloud iam service-accounts add-iam-policy-binding \ SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Sostituisci i seguenti valori:
-
PROJECT_ID
: l'ID progetto -
SA_NAME
: il nome dell'account di servizio. -
USER_EMAIL
: l'indirizzo email dell'utente
-
REST
Il metodo
serviceAccounts.create
crea un account di servizio.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.SA_NAME
: l'ID alfanumerico del tuo account di servizio. Questo nome deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici e trattini minuscoli.SA_DESCRIPTION
: facoltativo. Una descrizione per l'account di servizio.SA_DISPLAY_NAME
: un nome leggibile per l'account di servizio.
Metodo e URL HTTP:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
Corpo JSON richiesta:
{ "accountId": "SA_NAME", "serviceAccount": { "description": "SA_DESCRIPTION", "displayName": "SA_DISPLAY_NAME" } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com", "projectId": "my-project", "uniqueId": "123456789012345678901", "email": "my-service-account@my-project.iam.gserviceaccount.com", "displayName": "My service account", "etag": "BwUp3rVlzes=", "description": "A service account for running jobs in my project", "oauth2ClientId": "987654321098765432109" }
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per scoprire di più, consulta la documentazione di riferimento dell'API IAM C++.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per scoprire di più, consulta la documentazione di riferimento dell'API IAM C#.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per scoprire di più, consulta la documentazione di riferimento dell'API IAM Go.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per scoprire di più, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per scoprire di più, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Dopo aver creato un account di servizio, concedi uno o più ruoli all'account di servizio in modo che possa agire per tuo conto.
Inoltre, se l'account di servizio deve accedere alle risorse in altri progetti, in genere devi abilitare le API per quelle risorse nel progetto in cui hai creato l'account di servizio.
Passaggi successivi
- Scopri come elencare e modificare gli account di servizio.
- Rivedi la procedura per concedere i ruoli IAM a tutti i tipi di entità, inclusi gli account di servizio.
- Scopri come collegare gli account di servizio alle risorse.
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