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

gcloud CLI consente agli sviluppatori di utilizzare le chiavi private per l'autenticazione con i service account, 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 a gcloud CLI di decodificare i file della chiave in formato p12 che identificano un account di servizio. Poiché include routine crittografiche, pyca/cryptography non viene distribuito con lagcloud CLId.

Se sul tuo sistema è installata l'interfaccia a riga di comando di pip per l'indice dei pacchetti Python, per installare pyca/cryptography esegui il comando seguente. Per saperne di più, consulta le istruzioni di installazione.

python -m pip install cryptography

CLOUDSDK_PYTHON_SITEPACKAGES=1

Una volta installato pyca/cryptography, devi impostare la variabile di ambiente CLOUDSDK_PYTHON_SITEPACKAGES su 1. Questa impostazione della variabile di ambiente indica a gcloud CLI 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, potresti dover 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 Creazione account di servizio account.

Questo file di chiavi deve essere considerato un segreto e devi prendere precauzioni per assicurarti che non sia accessibile a terze parti non attendibili. Sui sistemi di tipo Unix, puoi assicurarti che un file non sia visibile ad altri utenti connessi in remoto (diversi da un utente root) utilizzando il seguente comando.

chmod 0600 YOUR_KEY_FILE.p12

Utilizzo del account di servizio con gcloud CLI

Le credenziali del service account possono essere abilitate utilizzando gcloud auth activate-service-account.

Per utilizzare il account di servizio con gcloud CLI, esegui gcloud auth activate-service-account e trasmetti il percorso del file della chiave con il flag --key-file richiesto e fornisci un account come argomento posizionale.

L'account che utilizzi deve essere l'email del account di servizio elencato nella console Cloud de Confiance , 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.

AVVISO:gcloud auth activate-service-account creerà 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 deve essere considerato già un segreto. 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 Cloud de Confiance è lasciata all'utente. In caso di dubbio, revoca la chiave nella console Cloud de Confiance .

Ora che il account di servizio è stato attivato, può essere visualizzato 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

Torna all'inizio