Utilizzo della crittografia dei secret basata su HSM

Crittografia dei secret basati su HSM

I cluster Anthos su VMware (GKE on-prem) versioni 1.6 e successive supportano la crittografia segreta dei cluster utente inattivi con Thales Luna Network Hardware Security Module (HSM). La chiave di crittografia del secret è archiviata in una partizione della tua appliance HSM. L'autenticazione dell'appliance HSM viene eseguita con TLS reciproco (mTLS).

Prerequisiti

Per utilizzare la crittografia segreta basata su HSM, devi disporre di quanto segue:

  • Un'appliance Thales Luna network HSM configurata con quanto segue:
    • Accesso di rete dai cluster utente.
    • Un driver PKCS#11 e dei certificati.
    • Una partizione disponibile su Luna HSM.
    • I ruoli Crypto Officer (CO) e Security Officer (SO) devono essere inizializzati. Questi utenti non devono richiedere una modifica del PIN o della password.
  • Sono disponibili i seguenti elementi di configurazione:
    • Un'immagine container che contiene il driver Thales HSM. Contatta il tuo rappresentante Thales per una copia. Questa immagine deve essere ospitata da un repository di container accessibile dal tuo cluster utente.
    • L'indirizzo dell'appliance Luna HSM e il certificato CA.
    • Un client di cui è stato eseguito il provisioning con una coppia di certificato/chiave.

Configurazione del HSM

Per configurare il tuo cluster utente in modo che utilizzi un HSM, crea un file delle credenziali e aggiungi i dettagli di configurazione al file di configurazione del cluster utente.

Creazione di un file delle credenziali

Fornisci il percorso delle tue credenziali PKCS#11 ai cluster Anthos su VMware con un file di configurazione YAML.

  1. Copia la seguente configurazione YAML in un file.

    apiVersion: v1
    kind: CredentialFile
    # list of credentials
    items:
    - name: "CREDENTIALS_NAME"
      username: "PKCS_USER"
      password: "PKCS_PASSWORD"
    

    Sostituisci quanto segue:

    • CREDENTIALS_NAME con un nome per fare riferimento alle tue credenziali. Ad esempio, pkcs-credentials.
    • PKCS_USER con il nome utente di un utente con il ruolo CO nella partizione in questione.
    • PKCS_PASSWORD con la password dell'utente.
  2. Salva il file e copia il percorso per i passaggi seguenti.

Configurazione dei cluster utente

  1. Prima di creare un cluster utente, devi generare un file di configurazione del cluster utente utilizzando gkectl create-config cluster.

  2. Configura la crittografia dei secret basata su HSM nel file di configurazione del cluster utente aggiungendo l'oggetto secretsEncryption. Apri il file di configurazione in un editor di testo e copia la sezione seguente nel file di configurazione.

    secretsEncryption:
      mode: ThalesLunaHSM
      thaleslunahsm:
        pkcs11DriverImage: "DRIVER_IMAGE_LOCATION"
        server: "APPLIANCE_ADDRESS"
        caCertificate: "CA_CERTIFICATE_PEM_PATH"
        clientCertificate: "CLIENT_CERTIFICATE_PEM_PATH"
            clientKey: "CLIENT_KEY_PEM_PATH"
        pkcs11Label: PARTITION_LABEL
        pkcs11Pin:
          fileRef:
            path: "CREDENTIALS_YAML_PATH"
            entry: "CREDENTIALS_NAME"
    

    Sostituisci quanto segue:

    • DRIVER_IMAGE_LOCATION con la posizione dell'immagine container del driver Thales HSM che hai ricevuto dal rappresentante Thales. Ad esempio, gcr.io/my-project/hsm-driver:latest.
    • APPLIANCE_ADDRESS con l'indirizzo IP o il nome DNS dell'appliance.
    • CA_CERTIFICATE_PEM_PATH con il percorso del certificato CA dell'appliance in formato PEM.
    • CLIENT_CERTIFICATE_PEM_PATH con il percorso del certificato client di trust link di rete (NTLS).
    • CLIENT_KEY_PEM_PATH con il percorso della chiave client NTLS.
    • PARTITION_LABEL con l'etichetta del token PKCS#11 applicata alla partizione della chiave.
    • CREDENTIALS_YAML_PATH con il percorso del file delle credenziali creato nella sezione precedente.
    • CREDENTIALS_NAME con il nome dell'oggetto credenziali nel file delle credenziali. Ad esempio, pkcs-credentials.

Passaggi successivi