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 che controllano l'accesso alle tue risorse. Puoi richiedere un aumento della quota se necessario. Scopri di più su quote e limiti.
Prima di iniziare
Enable the IAM API.
Configurare l'autenticazione.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C++
Per utilizzare gli C++ esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
C#
Per utilizzare gli .NET esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Vai
Per utilizzare gli Go esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Java
Per utilizzare gli Java esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Google Cloud.
Python
Per utilizzare gli Python esempi in questa pagina in una località dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, vedi Configurare l'autenticazione 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Informazioni sugli account di servizio IAM
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare account di servizio, chiedi all'amministratore di concederti il ruolo IAM Crea account di servizio (
roles/iam.serviceAccountCreator
) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
Se vuoi concedere agli account di servizio appena creati l'accesso al tuo progetto, anche il 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 esempiomy-service-account
. L'ID deve essere compreso tra 6 e 30 caratteri e può contenere caratteri alfanumerici minuscoli e trattini. Dopo aver creato un 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
SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
.Ogni account di servizio ha anche un ID numerico univoco e 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 servizio .PROJECT_ID
è l'ID del tuo progetto Google Cloud.
Dopo aver creato un account di servizio, potresti dover attendere 60 o più secondi prima di utilizzare l'account di servizio. Questo comportamento si verifica perché le operazioni di lettura sono coerenti alla fine può volerci del tempo rendere visibile il nuovo account di servizio. Se provi a leggere o utilizzare un servizio subito dopo averlo creato e ricevi un messaggio di 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 vengono visualizzati 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 devono collegare l'account di servizio ad altre risorse.
- (Facoltativo) Nel campo Ruolo degli amministratori dell'account di servizio, aggiungi i membri che devono gestire l'account di servizio.
- Fai clic su Fine per completare la creazione dell'account di servizio.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Per creare l'account di servizio, esegui 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 dell'account di servizio -
DESCRIPTION
: una descrizione facoltativa del account di servizio -
DISPLAY_NAME
: un nome dell'account di servizio da visualizzare in la console Google Cloud
-
-
(Facoltativo) Per concedere al tuo account di servizio una ruolo IAM sul tuo progetto, esegui
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 dell'account di servizio -
ROLE_NAME
: un nome ruolo, comeroles/compute.osLogin
-
-
(Facoltativo) Per consentire agli utenti di collegare l'account di servizio ad altre risorse, 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 \ 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 per utente
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C++.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM C# documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Go documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta API IAM Java documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Prima di iniziare.
REST
Il metodo
serviceAccounts.create
crea un account di servizio.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_ID
: il tuo progetto Google Cloud ID. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.SA_NAME
: l'ID alfanumerico del tuo l'account di servizio. Questo nome deve essere compreso tra 6 e 30 caratteri e può contenere lettere minuscole caratteri alfanumerici e trattini.SA_DESCRIPTION
: facoltativo. Una descrizione per l'account di servizio.SA_DISPLAY_NAME
: un file leggibile del nome dell'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 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" }
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 di altri progetti, in genere devono abilitare le API per le risorse nel progetto in cui hai creato l'account di servizio.
Passaggi successivi
- Scopri come elencare e modificare gli account di servizio.
- Esamina il processo per concedere 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 gratuitamenteSalvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-09-25 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }]