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 impostarle durante il provisioning di un nuovo server o mentre eseguendo di nuovo l'imaging 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 chiave o la relativa versione.
Questa funzionalità è disponibile solo per Sistemi operativi Linux supportati dalla soluzione Bare Metal.
Prima di iniziare
Con Cloud KMS, crea una chiave di crittografia.
Per creare una chiave di crittografia:
Nel progetto in cui vuoi creare la chiave, abilitare l'API Cloud KMS.
Esegui questa operazione una sola volta per progetto.
Assegna i seguenti ruoli all'account di servizio Bare Metal Solution. Esegui questa operazione una sola volta per progetto.
roles/cloudkms.viewer
: verifica che Puoi utilizzareCryptoKeyVersion
.roles/cloudkms.publicKeyViewer
: recupera una chiave pubblica.
Per scoprire come concedere un ruolo, consulta Concessione di ruoli su 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 Chiave Cloud KMS
- PROJECT_NUMBER: il progetto che contiene Server Bare Metal Solution
Crea una chiave di decrittografia asimmetrica.
Puoi creare tutte le chiavi e versioni necessarie.
Configura le chiavi di crittografia durante il provisioning di un server
Puoi configurare una chiave di crittografia per un nuovo server Bare Metal Solution mentre mediante il modulo di accettazione della console Google Cloud.
Per configurare una chiave di crittografia durante il provisioning di un server, consulta Utilizza il modulo di accettazione della console Google Cloud per inserire le tue selezioni.
Configura le chiavi di crittografia durante la nuova immagine di un server
Per configurare le chiavi di crittografia durante la nuova immagine di un server, consulta Cambia il sistema operativo di un server.
Visualizza le chiavi di crittografia e le password di un server
Per visualizzare le chiavi di crittografia e le password di un server, segui questi passaggi:
Console
Vai alla pagina Server.
Fai clic sul nome del server.
Nella pagina Dettagli server, visualizza la chiave di crittografia in Chiave di crittografia della password.
Per visualizzare gli account utente e le password criptate corrispondenti, vai a nella sezione Account utente.
gcloud
Usa 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, procedi nel seguente modo:
Ottieni il testo crittografato. Usa
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 tuo progetto Bare Metal Solution
- REGION: la posizione del server Bare Metal Solution
- USERNAME: il nome utente dell'account associato al
la password che vuoi decriptare. Il valore è
root
ocustomeradmin
. - ENCRYPTED_PASSWORD_FILE: il file in cui hai salvato l'elemento criptato
password. 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 crittografato
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 crittografato della password copiata dalla console Google Cloud, utilizza questo comando:
cat ENCRYPTED_PASSWORD_FILE | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
Sostituisci quanto segue:
- ENCRYPTED_PASSWORD_FILE: il file in cui hai salvato
password criptata. Per evitare problemi con il formato della password dopo
copiandolo, rimuovi gli spazi e i caratteri di nuova riga (
'\n'
). - CIPHERTEXT_FILE: il nome del file di testo crittografato
Esempio:
cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
Decripta la password. Segui i passaggi descritti in Decriptare i dati.