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 Cloud de Confiance by S3NS.
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 Cloud de Confiance 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.s3ns-system.iam.gserviceaccount.com Activated service account credentials for my_service_account@developer.s3ns-system.iam.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.s3ns-system.iam.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 Cloud de Confiance console è lasciata all'utente. In caso di dubbi, revoca la chiave nella Cloud de Confiance 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.s3ns-system.iam.gserviceaccount.com To set the active account, run: $ gcloud config set account my_service_account@developer.s3ns-system.iam.gserviceaccount.com