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