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 durante la creazione di una nuova immagine di un server 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 da Bare Metal Solution.
Prima di iniziare
Utilizzando Cloud KMS, crea 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 cheCryptoKeyVersionsia disponibile per l'uso.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 tua chiave Cloud KMS
- PROJECT_NUMBER: il progetto che contiene il server Bare Metal Solution
Crea una chiave di decriptazione 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 Google Cloud modulo di acquisizione della console.
Per configurare una chiave di crittografia durante il provisioning di un server, consulta Utilizzare il Google Cloud modulo di acquisizione della console per inserire le selezioni.
Configurare le chiavi di crittografia durante la creazione di una nuova immagine di un server
Per configurare le chiavi di crittografia durante la creazione di una nuova immagine di un server, consulta Modificare 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 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 crittografato. 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 località del server Bare Metal Solution
- USERNAME: il nome utente dell'account associato alla
password che vuoi decriptare. Il valore è
rootocustomeradmin. - 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 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 dalla password copiata dalla Google Cloud console, 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 crittografato
Esempio:
cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
Decripta la password. Segui i passaggi descritti in Decriptare i dati.