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