Questa pagina spiega come creare service account 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 service account che controllano l'accesso alle tue risorse. Se necessario, puoi richiedere un aumento della quota. Scopri di più su quote e limiti.
Prima di iniziare
Abilita l'API IAM.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.Configurare l'autenticazione.
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud 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à installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
C#
Per utilizzare gli esempi di .NET in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud .
C++
Per utilizzare gli esempi di C++ in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud .
Go
Per utilizzare gli esempi di Go in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud .
Java
Per utilizzare gli esempi Java in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud .
Python
Per utilizzare gli esempi di Python in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud .
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
-
Informazioni sui service account IAM
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per creare service account,
chiedi all'amministratore di concederti il
ruolo IAM Creazione service account (roles/iam.serviceAccountCreator) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Se vuoi concedere agli account di servizio appena creati l'accesso al tuo progetto, devi disporre anche del ruolo Amministratore IAM progetto (roles/resourcemanager.projectIamAdmin).
Crea un account di servizio
Quando crei un account di servizio, devi fornire un ID alfanumerico
(SERVICE_ACCOUNT_NAME negli esempi riportati di seguito), ad esempio
my-service-account. L'ID deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini. Una volta creato un account di servizio, non puoi modificarne il nome.
Il nome del account di servizio viene visualizzato nell'indirizzo email di cui viene eseguito il provisioning
durante la creazione, nel formato
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com.
Ogni account di servizio ha anche un ID numerico univoco permanente, generato automaticamente.
Quando crei un account di servizio, fornisci anche le seguenti informazioni:
DESCRIPTIONè una descrizione facoltativa per l'account di servizio.DISPLAY_NAMEè un nome intuitivo per il service account.PROJECT_IDè l'ID del tuo progetto Google Cloud .
Dopo aver creato un account di servizio, potresti dover attendere 60 secondi o più prima di utilizzarlo. Questo comportamento si verifica perché le operazioni di lettura sono coerenti nel tempo; potrebbe essere necessario del tempo prima che il nuovaccount di serviziont diventi visibile. Se provi a leggere o utilizzare un account di servizio subito dopo averlo creato e ricevi un errore, puoi riprovare a inviare la richiesta con il backoff esponenziale.
Console
- Nella console Google Cloud vai a Crea service account.
I passaggi rimanenti vengono visualizzati nella console Google Cloud .
- Seleziona un Google Cloud progetto.
- Inserisci il nome di un service account da visualizzare nella Google Cloud console.
La Google Cloud console genera un ID service account in base a questo nome. Modifica l'ID, se necessario. Non potrai modificare l'ID in un secondo momento.
- (Facoltativo) Inserisci una descrizione del service account.
- Se non vuoi impostare i controlli dell'accesso, fai clic su Fine per completare la creazione del service account. 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 al service account nel progetto.
- Quando hai finito di aggiungere i ruoli, fai clic su Continua.
- (Facoltativo) Nel campo Ruolo degli utenti del service account, aggiungi i membri che devono collegare il service account ad altre risorse.
- (Facoltativo) Nel campo Ruolo degli amministratori del service account, aggiungi i membri che devono gestire il service account.
- Fai clic su Fine per completare la creazione del service account.
gcloud
-
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud 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à installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
-
Per creare il account di servizio, esegui il comando
gcloud iam service-accounts create:gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
Sostituisci i seguenti valori:
-
SERVICE_ACCOUNT_NAME: il nome del account di servizio -
DESCRIPTION: una descrizione facoltativa del account di servizio -
DISPLAY_NAME: un nome del account di servizio da visualizzare nella console Google Cloud
-
-
(Facoltativo) Per concedere al account di servizio un ruolo IAM nel tuo progetto, esegui il comando
gcloud projects add-iam-policy-binding:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="ROLE_NAME"
Sostituisci i seguenti valori:
-
PROJECT_ID: l'ID progetto -
SERVICE_ACCOUNT_NAME: il nome del account di servizio -
ROLE_NAME: un nome di ruolo, ad esempioroles/compute.osLogin
-
-
(Facoltativo) Per consentire agli utenti di collegare il account di servizio ad altre risorse, esegui il comando
gcloud iam service-accounts add-iam-policy-bindingper concedere a un utente il ruolo Service Account User (roles/iam.serviceAccountUser) nel account di servizio:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
Sostituisci i seguenti valori:
PROJECT_ID: l'ID progettoSERVICE_ACCOUNT_NAME: il nome del account di servizioUSER_EMAIL: l'indirizzo email dell'utente
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM C++.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM C#.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Prima di iniziare.
REST
Il metodo
serviceAccounts.create
crea un account di servizio.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
PROJECT_ID: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project.SA_NAME: l'ID alfanumerico del tuo account di servizio. Il nome deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini.SA_DESCRIPTION: (Facoltativo) Una descrizione per ilaccount di serviziot.SA_DISPLAY_NAME: un nome leggibile per il account di servizio.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
Corpo JSON della richiesta:
{
"accountId": "SA_NAME",
"serviceAccount": {
"description": "SA_DESCRIPTION",
"displayName": "SA_DISPLAY_NAME"
}
}
Per inviare la richiesta, espandi una di queste 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"
}
Dopo aver creato un account di servizio, assegnagli uno o più ruoli in modo che possa agire per tuo conto.
Inoltre, se il account di servizio deve accedere alle risorse in altri progetti, in genere devi abilitare le API per queste risorse nel progetto in cui hai creato il account di servizio.
Passaggi successivi
- Scopri come elencare e modificare i service account.
- Esamina la procedura per concedere ruoli IAM a tutti i tipi di entità, inclusi i service account.
- Scopri come collegare i service account alle risorse.
- Scopri le best practice per l'utilizzo dei service account.
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 senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
Inizia senza costi