Configurare le chiavi di crittografia per un server
Puoi configurare le chiavi di crittografia per criptare le password del server. Queste chiavi sono chiavi di crittografia gestite dal cliente (CMEK) che puoi gestire utilizzando Cloud Key Management Service (Cloud KMS). Puoi impostarli durante il provisioning di un nuovo server o la reimpostazione dell'immagine di uno esistente. Puoi utilizzare una chiave di crittografia con più server.
L'utilizzo di una chiave di crittografia è facoltativo. Tuttavia, una volta configurata una chiave di crittografia, devi utilizzarla. Non puoi modificare questa impostazione. Tuttavia, puoi modificare la chiave o la relativa versione.
Questa funzionalità è disponibile solo per i sistemi operativi Linux supportati dalla soluzione Bare Metal.
Prima di iniziare
Utilizza Cloud KMS per creare una chiave di crittografia.
Per creare una chiave di crittografia:
Nel progetto in cui vuoi creare la chiave, abilita l'API Cloud KMS.
Esegui questa operazione una sola volta per progetto.
Assegna i seguenti ruoli al tuo account di servizio Bare Metal Solution. Esegui questa operazione una sola volta per progetto.
roles/cloudkms.viewer
: verifica che ilCryptoKeyVersion
sia disponibile per l'utilizzo.roles/cloudkms.publicKeyViewer
: recupera una chiave pubblica.
Per scoprire come concedere un ruolo, consulta Concedere ruoli a una risorsa.
Per assegnare questi ruoli, utilizza il comando
gcloud projects add-iam-policy-binding
.gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \ --role roles/cloudkms.publicKeyViewer
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \ --role roles/cloudkms.viewer
Sostituisci quanto segue:
- KMS_PROJECT_ID: il progetto che contiene la chiave Cloud KMS
- PROJECT_NUMBER: il progetto che contiene il server Bare Metal Solution
Crea una chiave di decrittografia asimmetrica.
Puoi creare tutte le chiavi e le versioni necessarie.
Configurare le chiavi di crittografia durante il provisioning di un server
Puoi configurare una chiave di crittografia per un nuovo server Bare Metal Solution durante il provisioning tramite il modulo di acquisizione della console Google Cloud.
Per configurare una chiave di crittografia durante il provisioning di un server, consulta Utilizzare il modulo di inserimento della console Google Cloud per inserire le selezioni.
Configurare le chiavi di crittografia durante la reimpostazione dell'immagine di un server
Per configurare le chiavi di crittografia durante la reimpostazione dell'immagine di un server, consulta Cambiare il sistema operativo di un server.
Visualizzare le chiavi di crittografia e le password di un server
Per visualizzare le chiavi di crittografia e le password di un server:
Console
Vai alla pagina Server.
Fai clic sul nome del server.
Nella pagina Dettagli del server, visualizza la chiave di crittografia nel campo Chiave di crittografia della password.
Per visualizzare gli account utente e le relative password criptate, vai alla sezione Account utente.
gcloud
Utilizza il comando gcloud alpha bms instances auth-info
:
gcloud alpha bms instances auth-info SERVER_NAME --project=PROJECT_ID --region=REGION
Sostituisci quanto segue:
- SERVER_NAME: il nome del server Bare Metal Solution
- PROJECT_ID: l'ID del progetto
- REGION: la regione del server Bare Metal Solution
Decriptare una password
Per ottenere la password non elaborata:
Ottieni il testo cifrato. Utilizza il comando
gcloud alpha bms instances auth-info
.gcloud alpha bms instances auth-info SERVER_NAME \ --project=PROJECT_ID \ --region=REGION \ --format='value(userAccounts.USERNAME.ENCRYPTED_PASSWORD_FILE)' | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
Sostituisci quanto segue:
- SERVER_NAME: il nome del server Bare Metal Solution
- PROJECT_ID: l'ID del progetto Bare Metal Solution
- REGION: la posizione del server Bare Metal Solution
- USERNAME: il nome utente dell'account associato alla password che vuoi decriptare. Il valore è
root
ocustomeradmin
. - ENCRYPTED_PASSWORD_FILE: il file in cui hai salvato la password criptata. Per evitare problemi con il formato della password dopo averla copiata,rimuovi gli spazi e i caratteri di nuova riga (
'\n'
). - CIPHERTEXT_FILE: il nome del file di testo criptato
Esempio:
gcloud alpha bms instances auth-info my-instance \ --region=europe-west3 \ --project=project-testing \ --format='value(userAccounts.customeradmin.encryptedPassword)' | tr -d ' \n' | base64 -d > ciphertext
Per ottenere il testo cifrato dalla password copiata dalla console Google Cloud, utilizza il seguente comando:
cat ENCRYPTED_PASSWORD_FILE | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
Sostituisci quanto segue:
- ENCRYPTED_PASSWORD_FILE: il file in cui hai salvato la password criptata. Per evitare problemi con il formato della password dopo averla copiata, rimuovi gli spazi e i caratteri di nuova riga (
'\n'
). - CIPHERTEXT_FILE: il nome del file di testo criptato
Esempio:
cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
Decripta la password. Segui i passaggi descritti in Decriptare i dati.