Configurare le chiavi di crittografia per un server

Puoi configurare chiavi di crittografia per crittografare 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 reimaging 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 cambiare la chiave o la sua versione.

Questa funzionalità è disponibile solo per i OS Linux supportati da Bare Metal Solution.

Prima di iniziare

  1. Crea una chiave di crittografia con Cloud KMS.

    Per creare una chiave di crittografia:

    1. Nel progetto in cui vuoi creare la chiave, abilita l'API Cloud KMS.

      Esegui questa operazione solo una volta per progetto.

    2. Assegna i ruoli seguenti al tuo account di servizio Bare Metal Solution. Esegui questa operazione solo una volta per progetto.

      • roles/cloudkms.viewer: verifica che CryptoKeyVersion sia disponibile per l'uso.
      • roles/cloudkms.publicKeyViewer: recupera una chiave pubblica.

      Per scoprire come concedere un ruolo, consulta Concessione di ruoli in 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
    3. 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 della chiave tramite il modulo di accettazione della console Google Cloud.

Per configurare una chiave di crittografia durante il provisioning di un server, consulta Utilizzare il modulo di accettazione della console Google Cloud per inserire le selezioni.

Configurazione delle chiavi di crittografia durante la reimaging di un server

Per configurare le chiavi di crittografia durante la reimaging di un server, consulta Cambiare il sistema operativo di un server.

Visualizzare le chiavi e le password di crittografia di un server

Per visualizzare le chiavi e le password di crittografia di un server, procedi nel seguente modo:

Console

  1. Vai alla pagina Server.

    Vai a Server

  2. Fai clic sul nome del server.

    Nella pagina Dettagli server, visualizza la chiave di crittografia nel campo Chiave di crittografia della password.

  3. Per visualizzare gli account utente e le corrispondenti 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, procedi nel seguente modo:

  1. Recupera il testo crittografato. Usa 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 tuo 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 è root o customeradmin.
    • ENCRYPTED_PASSWORD_FILE: il file in cui hai salvato la password criptata. Per evitare problemi con il formato della password dopo la copia, 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 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 la copia, 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
    
  2. Decripta la password. Segui i passaggi descritti in Decriptare i dati.

Passaggi successivi