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.
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.
- CREDENTIALS_NAME con un nome per fare riferimento alle tue credenziali.
Ad esempio,
Salva il file e copia il percorso per i passaggi seguenti.
Configurazione dei cluster utente
Prima di creare un cluster utente, devi generare un file di configurazione del cluster utente utilizzando
gkectl create-config cluster
.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
.
- DRIVER_IMAGE_LOCATION con la posizione dell'immagine container del driver Thales HSM
che hai ricevuto dal rappresentante Thales. Ad
esempio,
Passaggi successivi
- Continua a configurare il file di configurazione del cluster utente