Questa pagina spiega come elencare e ottenere le chiavi degli account di servizio utilizzando la console Google Cloud, Google Cloud CLI, l'API Identity and Access Management o una 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, 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.
Scopri di più sulle credenziali dell'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 la ruoli o altri ruoli predefiniti ruoli.
Per ulteriori informazioni, vedi Ruoli degli account di servizio.
I ruoli di base IAM contengono anche le autorizzazioni per gestire le chiavi degli account di servizio. Non è consigliabile concedere ruoli di base in un ambiente di produzione, ma puoi concederli in una di sviluppo o test.
Elenca le chiavi degli account di servizio
Puoi elencare le chiavi di un account di servizio utilizzando il metodo nella console Google Cloud, gcloud CLI,
serviceAccount.keys.list()
o una delle librerie client.Il metodo
serviceAccount.keys.list()
viene comunemente utilizzato per eseguire il controllo di chiavi e account di servizio o per creare strumenti personalizzati per la gestione degli account di servizio.Per sapere a quale progetto appartiene la tua chiave, puoi scaricarla come file JSON ed esaminare il file.
È possibile che siano elencate chiavi che non hai creato. Si tratta di chiavi create Google e utilizzato dall'API Service Account Credentials. 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
: nome dell'account di servizio per 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 INITIATED 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 eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi 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 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 API IAM Python documentazione di riferimento.
Per eseguire l'autenticazione su IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
REST
La
projects.serviceAccounts.keys.list
che elenca tutte le chiavi dell'account di servizio per un account di servizio.Prima di utilizzare i dati della richiesta, apporta 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 dei tipi di chiavi che ti interessano da includere nella risposta. Il tipo di chiave indica se una chiave è gestita dall'utente. (USER_MANAGED
) o gestita dal sistema (SYSTEM_MANAGED
). Se viene lasciato vuoto, vengono restituite.
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 recuperare 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 ricevere. Per trovare l'ID della chiave, elenca tutte le chiavi per l'account di servizio, identificare la chiave che vuoi ottenere e poi copiarne l'ID.SA_NAME
: il nome dell'account di servizio di cui vuoi recuperare la chiave pubblica.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 nel formato X.509 PEM. Per ottenere i dati non elaborati chiave pubblica, 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 il pubblico chiave al 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 il quale dei metadati della chiave.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
La
projects.serviceAccounts.keys.get
restituisce informazioni su una chiave pubblica per un account di servizio.Prima di utilizzare i dati della richiesta, apporta 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 modificare la chiave pubblica. ottenere.-
KEY_ID
: l'ID della chiave pubblica che vuoi ottenere. Per trovare l'ID della chiave, elencare tutte le chiavi per l'account di servizio, identifica la chiave che vuoi per ottenerne uno, quindi copia il relativo ID dalla fine del camponame
. L'ID della chiave è tutto ciò che seguekeys/
. 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 per la 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 degli account di servizio per autenticarsi come servizio Google Cloud.
- 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-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" }]