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