Le chiavi dell'account di servizio gcloud CLI e p12

gcloud CLI consente agli sviluppatori di utilizzare chiavi private per eseguire l'autenticazione con gli account di servizio, noti anche come account robot. Questa pagina descrive come creare e utilizzare le chiavi p12 degli account di servizio per Google Cloud.

Installa pyca/crittografia

La libreria pyca/cryptography (versione >= 2.5) consente a gcloud CLI di decodificare i file chiave in formato p12 che identificano un account di servizio. Poiché include routine crittografiche, pyca/crittografia non viene distribuita con gcloud CLI.

Se il sistema ha pip, l'interfaccia a riga di comando con l'indice dei pacchetti Python installato. Per installare pyca/cryptography, esegui questo comando. Per ulteriori informazioni, consulta le Istruzioni di installazione.

python -m pip install cryptography

CLOUDSDK_PYTHON_SITEPACKAGES=1

Dopo aver installato pyca/cryptography, devi impostare la variabile di ambiente CLOUDSDK_PYTHON_SITEPACKAGES su 1. Questa impostazione della variabile di ambiente indica a gcloud CLI che deve cercare le librerie da includere all'esterno della sua directory google-cloud-sdk/lib. In genere è sicuro impostare CLOUDSDK_PYTHON_SITEPACKAGES=1, ma se qualcosa smette di funzionare, potresti dover annullare l'operazione.

Creazione di un account di servizio

Per creare un nuovo account di servizio e scaricare un file delle chiavi p12, segui i passaggi descritti in Creare le chiavi degli account di servizio.

Questo file della chiave deve essere considerato un segreto ed è necessario prendere precauzioni per assicurarsi che non sia accessibile a parti non attendibili. Nei sistemi unix-like, puoi assicurarti che un file non sia visibile ad altri utenti connessi in remoto (diversi da un utente root) utilizzando il comando riportato di seguito.

chmod 0600 YOUR_KEY_FILE.p12

Utilizzo dell'account di servizio con gcloud CLI

Le credenziali dell'account di servizio possono essere abilitate utilizzando gcloud auth activate-service-account.

Per utilizzare il tuo account di servizio con gcloud CLI, esegui gcloud auth activate-service-account e trasmetti il percorso al file di chiave con il flag --key-file richiesto, quindi assegnagli un account come argomento di posizionamento.

L'account che utilizzi deve essere l'indirizzo email dell'account di servizio elencato nella console Google Cloud, ma non sarà verificato; ti aiuta solo a ricordare quale account stai utilizzando.

gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.gserviceaccount.com
Activated service account credentials for my_service_account@developer.gserviceaccount.com.

AVVISO: gcloud auth activate-service-account creerà una copia della tua chiave privata e la archivierà in $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.gserviceaccount.com/private_key.p12 e $HOME/.config/gcloud/credentials.db. Verrà creato con autorizzazioni 0600 (lettura/scrittura solo per il tuo utente) e tutto ciò che è archiviato in $HOME/.config/gcloud dovrebbe essere già considerato un secret. Per eliminare in modo affidabile e sicuro tutti i dati di autenticazione archiviati da gcloud CLI, è sufficiente eliminare $HOME/.config/gcloud. La gestione sicura del file della chiave scaricato dalla console Google Cloud viene lasciata all'utente. In caso di dubbi, revoca la chiave nella console Google Cloud.

Ora che l'account di servizio è stato attivato, può essere visualizzato nell'elenco delle credenziali.

gcloud auth list
        Credentialed Accounts
ACTIVE    ACCOUNT
*         my_service_account@developer.gserviceaccount.com

To set the active account, run:
    $ gcloud config set account my_service_account@developer.gserviceaccount.com

Torna all'inizio