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

  1. Utilizza Cloud KMS per creare una chiave di crittografia.

    Per creare una chiave di crittografia:

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

      Esegui questa operazione una sola volta per progetto.

    2. 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 il CryptoKeyVersion 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
    3. 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

  1. Vai alla pagina Server.

    Vai a Server

  2. Fai clic sul nome del server.

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

  3. 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:

  1. 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 o customeradmin.
    • 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
    
  2. Decripta la password. Segui i passaggi descritti in Decriptare i dati.

Passaggi successivi