L'interfaccia a riga di comando gcloud e le chiavi dell'account di servizio p12

La CLI gcloud consente agli sviluppatori di utilizzare le chiavi private per autenticarsi 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/cryptography

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

Se sul tuo sistema è installato pip, l'interfaccia a riga di comando per l'Indice dei pacchetti Python, per installare pyca/cryptography, esegui il seguente comando. Per ulteriori informazioni, consulta le istruzioni di installazione.

python -m pip install cryptography

CLOUDSDK_PYTHON_SITEPACKAGES=1

Una volta installato pyca/cryptography, dovrai impostare la variabile di ambiente CLOUDSDK_PYTHON_SITEPACKAGES su 1. Questa impostazione della variabile di ambiente indica all'interfaccia a riga di comando gcloud di cercare le librerie da includere al di fuori della propria directory google-cloud-sdk/lib. In genere è sicuro impostare CLOUDSDK_PYTHON_SITEPACKAGES=1, ma se qualcosa smette di funzionare potrebbe essere necessario annullare l'impostazione.

Creazione di un account di servizio

Per creare un nuovo account di servizio e scaricare un file della chiave p12, segui i passaggi descritti in Creare le chiavi dell'account di servizio.

Questo file della chiave deve essere considerato segreto e devi adottare precauzioni per assicurarti che non sia accessibile da parti non attendibili. Sui sistemi Unix-like, puoi assicurarti che un file non sia visibile ad altri utenti connessi da remoto (diversi da un utente root) utilizzando il seguente comando.

chmod 0600 YOUR_KEY_FILE.p12

Utilizzare il service account con gcloud CLI

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

Per utilizzare il tuo account di servizio con gcloud CLI, esegui gcloud auth activate-service-account e passa il percorso del file della chiave con il flag --key-file richiesto e un account come argomento posizionale.

L'account che utilizzi deve essere l'indirizzo email dell'account di servizio elencato nella Google Cloud console, ma non verrà 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.

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

Ora che l'account di servizio è stato attivato, puoi visualizzarlo 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