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