In questa pagina viene spiegato come elencare e ottenere le chiavi degli account di servizio utilizzando console Google Cloud, Google Cloud CLI, l'API Identity and Access Management, oppure uno delle librerie client di Google Cloud.
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, consulta 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 un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le 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, consulta 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 un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le 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, consulta 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 un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le 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 dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite 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.
Comprendere le credenziali degli account di servizio.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per elencare e ottenere le chiavi degli account di servizio, chiedi all'amministratore di concederti Visualizza il ruolo IAM degli account di servizio (
roles/iam.serviceAccountViewer
) sul progetto o sull'account di servizio di cui utilizzi le chiavi che vuoi gestire. 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 i ruoli personalizzati o altri ruoli predefiniti.
Per ulteriori informazioni, consulta Ruoli degli account di servizio.
I ruoli IAM di base contengono anche le autorizzazioni per gestire il servizio chiavi dell'account. Non dovresti concedere ruoli di base in un ambiente di produzione, ma puoi farlo in un ambiente di sviluppo o di test.
Elenca le chiavi degli account di servizio
Puoi elencare le chiavi dell'account di servizio per un account di servizio utilizzando la console Google Cloud, l'interfaccia a riga di comando gcloud, il metodo
serviceAccount.keys.list()
o una delle librerie client.Il metodo
serviceAccount.keys.list()
è comunemente utilizzato per controllare il servizio account e chiavi o per creare strumenti personalizzati per la gestione degli account di servizio.Per scoprire a quale progetto appartiene la chiave, puoi scaricarla come file JSON e esaminarla.
È possibile che siano elencate chiavi che non hai creato. Si tratta di chiavi create da Google e utilizzate dall'API Credenziali account di servizio. Per saperne di più, vedi Coppie di chiavi gestite da Google.
Console
- Nella console Google Cloud, vai alla pagina Account di servizio.
I passaggi rimanenti vengono visualizzati nella console Google Cloud.
- Seleziona un progetto.
- Nella pagina Account di servizio, fai clic sull'indirizzo email dell'account di servizio di cui vuoi elencare le chiavi.
- Fai clic su Chiavi. La console Google Cloud mostra un elenco di chiavi per l'account di servizio.
gcloud
Esegui il comando
gcloud iam service-accounts keys list
per elencare le chiavi degli account di servizio.Sostituisci i seguenti valori:
SA_NAME
: il nome dell'account di servizio per cui elencare le chiavi.PROJECT_ID
: l'ID del tuo progetto Google Cloud.
gcloud iam service-accounts keys list \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com
Output:
KEY_ID CREATED_AT EXPIRES_AT DISATTIVATO DISABLE_REASON EXTENDED_STATUS 8e6e3936d7024646f8ceb39792006c07f4a9760c 2021-01-01T21:01:42Z 9999-12-31T23:59:59Z 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z Vero AVVIATO DALL'UTENTE 937c98f870f5c8db970af527aa3c12fd88b1c20a 2021-01-01T20:55:40Z 9999-12-31T23:59:59Z Vero ESPOSTO ['key':'SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED' 'value':'{exposure URL}'] 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 autenticarti in 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 autenticarti in 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 autenticarti in 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 la documentazione di riferimento dell'API IAM Java.
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
projects.serviceAccounts.keys.list
elenca tutte le chiavi dell'account di servizio per 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
: il nome dell'account di servizio di cui vuoi elencare le chiavi.KEY_TYPES
: facoltativo. Un elenco separato da virgole di tipi di chiavi da includere nella risposta. Il tipo di chiave indica se una chiave è gestita dall'utente (USER_MANAGED
) o dal sistema (SYSTEM_MANAGED
). Se non viene specificato, vengono restituite tutte le chiavi.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys?keyTypes=KEY_TYPES
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "keys": [ { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/90c48f61c65cd56224a12ab18e6ee9ca9c3aee7c", "validAfterTime": "2020-03-04T17:39:47Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/e5e3800831ac1adc8a5849da7d827b4724b1fce8", "validAfterTime": "2020-03-31T23:50:09Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }, { "name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com/keys/b97699f042b8eee6a846f4f96259fbcd13e2682e", "validAfterTime": "2020-05-17T18:58:13Z", "validBeforeTime": "9999-12-31T23:59:59Z", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED", "disabled": true "disable_reason": "SERVICE_ACCOUNT_KEY_DISABLE_REASON_EXPOSED" "extended_status": "SERVICE_ACCOUNT_KEY_EXTENDED_STATUS_KEY_EXPOSED" "extended_status_message": "exposed at: https://www.github.com/SomePublicRepo" } ] }
Genera una chiave account di servizio
Puoi utilizzare gcloud CLI o l'API REST per ottenere i dati della chiave pubblica per una chiave dell'account di servizio. Inoltre, puoi utilizzare la console Google Cloud, gcloud CLI o l'API REST per ottenere i metadati per la chiave, ad esempio l'algoritmo utilizzato dalla chiave e se la chiave è gestita da te o in tutti i canali Google.
Console
Per ottenere i dati della chiave pubblica di una chiave dell'account di servizio:
Utilizza l'interfaccia a riga di comando gcloud o l'API REST. Questi dati non sono disponibili nella console Google Cloud.
Per ottenere i metadati per una chiave dell'account di servizio:
- Nella console Google Cloud, vai alla pagina Account di servizio.
I passaggi rimanenti vengono visualizzati nella console Google Cloud.
- Seleziona un progetto.
- Nella pagina Account di servizio, fai clic sull'indirizzo email dell'account di servizio di cui vuoi elencare le chiavi.
- Fai clic su Chiavi. Nella console Google Cloud viene visualizzato un elenco delle chiavi dell'account di servizio, inclusi i metadati di ciascuna chiave.
gcloud
Per ottenere i dati della chiave pubblica di una chiave dell'account di servizio:
Esegui l'
gcloud beta iam service-accounts keys get-public-key
:gcloud beta iam service-accounts keys get-public-key KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --output-file=FILENAME
Fornisci i seguenti valori:
KEY_ID
: l'ID della chiave pubblica che vuoi ottenere. Per trovare l'ID della chiave, elenca tutte le chiavi per l'account di servizio, identificate la chiave che vuoi ottenere e poi copia il relativo ID.SA_NAME
: il nome dell'account di servizio la cui posizione pubblica chiave che vuoi ottenere.PROJECT_ID
: l'ID del tuo progetto Google Cloud.FILENAME
: il file in cui salvare la chiave pubblica e i dati di Google Cloud.
Per impostazione predefinita, i dati della chiave pubblica vengono salvati in formato PEM X.509. Per ottenere la chiave pubblica non elaborata, esegui il comando con il flag aggiuntivo
--type=raw
.Ad esempio, il seguente comando recupera i dati della chiave pubblica per la chiave
c97cc34494c07c9b483701f28368f20145b9ef97
, che appartiene all'account di serviziomy-service-account@my-project.iam.gserviceaccount.com
, quindi salva i dati della chiave pubblica nel filepublic_key.pem
:gcloud beta iam service-accounts keys get-public-key \ c97cc34494c07c9b483701f28368f20145b9ef97 \ --iam-account=my-service-account@my-project.iam.gserviceaccount.com \ --output-file=public_key.pem
Per ottenere i metadati per una chiave dell'account di servizio:
Esegui il comando
gcloud iam service-accounts keys list
:gcloud iam service-accounts keys list --iam-account=SA_NAME \ --filter="name~KEY_ID" --format=json
Specifica i seguenti valori:
SA_NAME
: il nome dell'account di servizio per cui vuoi i metadati principali.KEY_ID
: l'ID della chiave di cui vuoi recuperare i metadati.
Ad esempio, il seguente comando recupera i metadati per la chiave
c97cc34494c07c9b483701f28368f20145b9ef97
, che appartiene all'account di serviziomy-service-account@my-project.iam.gserviceaccount.com
:gcloud iam service-accounts keys list \ --iam-account=my-service-account@my-project.iam.gserviceaccount.com \ --filter="name~c97cc34494c07c9b483701f28368f20145b9ef97" --format=json
REST
Il metodo
projects.serviceAccounts.keys.get
restituisce informazioni su una chiave pubblica per 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
: il nome dell'account di servizio di cui vuoi recuperare la chiave pubblica.-
KEY_ID
: l'ID della chiave pubblica che vuoi ottenere. Per trovare l'ID della chiave, elenca tutte le chiavi per l'account di servizio, identifica la chiave che vuoi recuperare e poi copia il relativo ID dalla fine del camponame
. L'ID della chiave è tutto dopokeys/
. KEY_TYPE
: il formato in cui restituire la chiave pubblica. Utilizza le funzionalità diTYPE_X509_PEM_FILE
per il formato X.509 PEM oTYPE_RAW_PUBLIC_KEY
per il formato una chiave pubblica non elaborata. Se ometti questo parametro di query, il metodo restituisce i metadati della chiave, ma non restituisce i dati della chiave pubblica.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com/keys/KEY_ID?publicKeyType=KEY_TYPE
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/keys/f4a83933ac07cf52bb74e0e66d99662a09f51a36", "validAfterTime": "2021-12-10T17:32:06Z", "validBeforeTime": "9999-12-31T23:59:59Z", "publicKeyData": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvRENDQWVTZ0F3SUJBZ0lJT2lCdm9hR09nV0F3RFFZSktvWklodmNOQVFFRkJRQXdJREVlTUJ3R0ExVUUKQXhNVk1UQXhNVGsxTlRFMk5UWXlPRGszTmpFek1qQXpNQ0FYRFRJeE1USXhNREUzTXpJd05sb1lEems1T1RreApNak14TWpNMU9UVTVXakFnTVI0d0hBWURWUVFERXhVeE1ERXhPVFUxTVRZMU5qSTRPVGMyTVRNeU1ETXdnZ0VpCk1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQzdzeDBFcXVUMGNwSXhlczl1SW0yRy9DS3EKdnc4YTl2a2JkaWZZbDZHSDh1ZUxEWDhGNHVUeEVQMkNzU3JLTHZtOFo2My9IVUxnWjBtQXByb0JlM08vaVR1ZwpmYVZ0NVNtakhvWm9YQ1lpbjR0MS93SkpvdDhrRFdPeDZhOEdieUdqZ215ak8yYk1XdEtaQ2dqeGZ3cUV0MmN3CklnajA5VzJKYTlHTWRsdVA0VGVubTRKSkJoaFpFbTJ1bVAwYVZZdkRnUWF5d0RCYnJuNG8yY0EzSWplRDZGM1gKK0VHRDNKU0s4VW02Sk5sM21adGp6VWNZSHBrYkF0U1A2ZDI5d1RmZkdIRFY0THJRWlM3bG15d3hsb3p5WnpaawpCOFpHckMzSkF1MVNVRTdQOTN6bWtFb1B6MlRUNWhaYXZMWFQ5TGM2SExiRklRVHFnVEJVWHlNMkpIcGZBZ01CCkFBR2pPREEyTUF3R0ExVWRFd0VCL3dRQ01BQXdEZ1lEVlIwUEFRSC9CQVFEQWdlQU1CWUdBMVVkSlFFQi93UU0KTUFvR0NDc0dBUVVGQndNQ01BMEdDU3FHU0liM0RRRUJCUVVBQTRJQkFRQkhPNXlpUDY3NkE4UEN2RjdRSzdFMApYZVljbzdsSStFZkowaGJrWVlmdUtnSENPcXcvd3FBbCtOSithanljT2FPWDFPMlRZN3ZOc05pR2t3eWc2QXdqCklhL1NHVjd3NkxpS2JldFRuSVp4UlhRY25lcnVvZEwycUR5eWphMDJJSXJVTmVKY1o0MVJBNXRTL3NkcTFGNm4KM0NjSXFoZTI1OTA4TUNna3cwaFB1K0VLbFF6R1B5T3pVRHBLdXg0cnRBaHJTYTBUVW1wbEMxdTJnUk1YRkF6aApWUjU0V2dNa2tabURyalBNeWdBS3JmNkd0bHo2VHRTYTVLb1BWdGpsWExUQkxaSnlhdk4zc1F2dFlBK1NFQWpWCnA1N1ZabFBYZmR0dWN4ekJaOC9zS25SOHNyYU5hVWFjamg1NEE1Nm1URTE3b0IyUWkrTHBJUTYvNnVqVnNXaUYKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=", "keyAlgorithm": "KEY_ALG_RSA_2048", "keyOrigin": "GOOGLE_PROVIDED", "keyType": "USER_MANAGED" }
Passaggi successivi
- Scopri come creare ed eliminare le chiavi degli account di servizio.
- Scopri come disattivare e attivare le chiavi dell'account di servizio.
- Informazioni su alternative alle chiavi degli account di servizio per l'autenticazione.
- Scopri come utilizzare le chiavi dell'account di servizio per autenticarti come account di servizio.
- Consulta le best practice per la gestione delle chiavi degli account di servizio.
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-10-15 UTC.