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

L'interfaccia a riga di comando 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 usare le chiavi p12 di per gli account di servizio per Google Cloud.

Installa pyca/cryptography

La libreria pyca/cryptography (versione >= 2.5) consente a gcloud CLI di decodificare il formato p12 che identificano un account di servizio. Poiché include routine crittografiche, pyca/cryptography non è distribuito con gcloud CLI.

Se nel sistema è installato pip, l'interfaccia a riga di comando Indice 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/crittografia, dovrai impostare CLOUDSDK_PYTHON_SITEPACKAGES variabile di ambiente in 1. Questa impostazione della variabile di ambiente indica a gcloud CLI che deve cercare le librerie all'esterno della directory google-cloud-sdk/lib, da includere. In genere è sicuro impostare CLOUDSDK_PYTHON_SITEPACKAGES=1, ma se se qualcosa smette di funzionare, potrebbe essere necessario annullare l'operazione.

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 tuo 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 passare il percorso a il tuo file di chiave con il flag --key-file richiesto e assegnagli un come argomento posizionale.

L'account che utilizzi dovrebbe essere l'indirizzo email dell'account di servizio elencato nella console Google Cloud, 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. Eliminare in modo affidabile e sicuro i dati di autenticazione archiviati da gcloud CLI, è sufficiente eliminarli $HOME/.config/gcloud. La gestione sicura del file della chiave scaricato dalla console Google Cloud è lasciata all'utente. Quando dubbio, revoca la chiave nella console Google Cloud.

Ora che l'account di servizio è stato attivato, è visibile nella dell'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