Questa pagina spiega come elencare e modificare i service account utilizzando l'API Identity and Access Management (IAM), la console Google Cloud e lo strumento a riga di comando gcloud.
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 gestire i service account, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
-
Per visualizzare i service account:
Visualizza service account (
roles/iam.serviceAccountViewer) -
Per modificare i service account:
Amministratore service account (
roles/iam.serviceAccountAdmin)
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.
I ruoli di base IAM contengono anche le autorizzazioni per gestire i service account. Non devi concedere ruoli di base in un ambiente di produzione, ma puoi concederli in un ambiente di sviluppo o di test.
Elenco dei service account
Puoi elencare i service account gestiti dall'utente in un progetto per eseguire l'audit di service account e chiavi o come parte di uno strumento personalizzato per gestire i service account.
Non puoi elencare gli agenti di servizio che potrebbero essere visualizzati nei log di controllo e nella policy di autorizzazione del tuo progetto. Gli agenti di servizio non si trovano nel tuo progetto e non puoi accedervi direttamente.
Console
Nella Google Cloud console, vai alla pagina Service account.
Seleziona un progetto.
La pagina Service account elenca tutti i service account gestiti dall'utente nel progetto selezionato.
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.
-
Esegui il comando
gcloud iam service-accounts listper elencare tutti i service account in un progetto.Comando:
gcloud iam service-accounts list
L'output è l'elenco di tutti i service account gestiti dall'utente nel progetto:
NAME EMAIL SA_DISPLAY_NAME_1 SA_NAME_1@PROJECT_ID.iam.gserviceaccount.com SA_DISPLAY_NAME_2 SA_NAME_2@PROJECT_ID.iam.gserviceaccount.com
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.list
elenca tutti i account di servizio gestiti dall'utente nel tuo progetto.
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.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"accounts": [
{
"name": "projects/my-project/serviceAccounts/sa-1@my-project.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "123456789012345678901",
"email": "sa-1@my-project.iam.gserviceaccount.com",
"description": "My first service account",
"displayName": "Service account 1",
"etag": "BwUpTsLVUkQ=",
"oauth2ClientId": "987654321098765432109"
},
{
"name": "projects/my-project/serviceAccounts/sa-2@my-project.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "234567890123456789012",
"email": "sa-2@my-project.iam.gserviceaccount.com",
"description": "My second service account",
"displayName": "Service account 2",
"etag": "UkQpTwBVUsL=",
"oauth2ClientId": "876543210987654321098"
}
]
}
Modificare un account di servizio
Il nome visualizzato (nome descrittivo) e la descrizione di un account di servizio vengono comunemente utilizzati per acquisire informazioni aggiuntive sulaccount di serviziot, ad esempio lo scopo deaccount di serviziont o una persona di contatto per l'account.
Console
Nella Google Cloud console, vai alla pagina Service account.
Seleziona un progetto.
Fai clic sull'indirizzo email del account di servizio che vuoi rinominare.
Inserisci il nuovo nome nella casella Nome, quindi fai clic su Salva.
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.
-
Esegui il comando
gcloud iam service-accounts updateper aggiornare un account di servizio.Comando:
gcloud iam service-accounts update
SA_NAME@PROJECT_ID.iam.gserviceaccount.com
--description="UPDATED_SA_DESCRIPTION"
--display-name="UPDATED_DISPLAY_NAME"L'output è il account di servizio rinominato:
description: UPDATED_SA_DESCRIPTION displayName: UPDATED_DISPLAY_NAME name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com
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.patch
aggiorna 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_ID: l'ID del tuo account di servizio. Può trattarsi dell'indirizzo email del account di servizio nel formatoSA_NAME@PROJECT_ID.iam.gserviceaccount.como dell'ID numerico univoco del service account.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.- Sostituisci almeno uno dei seguenti elementi:
UPDATED_DISPLAY_NAME: un nuovo nome visualizzato per il tuo service account.UPDATED_DESCRIPTION: una nuova descrizione per il service account.
Metodo HTTP e URL:
PATCH https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
Corpo JSON della richiesta:
{
"serviceAccount": {
"email": "SA_NAME@PROJECT_ID.iam.gserviceaccount.com",
"displayName": "UPDATED_DISPLAY_NAME",
"description": "UPDATED_DESCRIPTION"
},
"updateMask": "displayName,description"
}
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",
"displayName": "My updated service account",
"description": "An updated description of my service account"
}
Passaggi successivi
- Scopri come disabilitare e abilitare i service account.
- Esamina la procedura per concedere ruoli IAM a tutti i tipi di entità, inclusi i service account.
- Scopri come utilizzare i suggerimenti per i ruoli per ridurre l'ambito delle autorizzazioni per tutte le 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