Questa pagina descrive come generare una chiave precondivisa (PSK) e utilizzarla per creare un secret di autenticazione.
Una PSK è una password segreta condivisa che viene utilizzata per autenticare e criptare la comunicazione tra due dispositivi. È una forma di crittografia simmetrica.
Prima di iniziare
Per creare un secret, devi disporre dei ruoli di identità e accesso necessari:
- Amministratore VPN: dispone delle autorizzazioni di lettura e scrittura su tutte le risorse relative alla VPN. Chiedi all'amministratore dell'organizzazione IAM di concederti il ruolo VPN Admin (
vpn-admin). - Visualizzatore VPN: dispone di autorizzazioni in lettura su tutte le risorse relative alla VPN. Chiedi all'amministratore dell'organizzazione IAM di concederti il ruolo Visualizzatore VPN (
vpn-viewer). - Per saperne di più, consulta Definizioni dei ruoli.
Genera una PSK
Utilizza i seguenti metodi per generare una chiave precondivisa efficace di 32 caratteri.
OpenSSL
Per ulteriori informazioni su OpenSSL, visita la pagina https://www.openssl.org/. Su un sistema Linux o macOS, esegui il seguente comando OpenSSL:
openssl rand -base64 24
/dev/urandom
Su un sistema Linux o macOS, puoi anche utilizzare /dev/urandom come origine pseudocasuale per generare una chiave precondivisa:
Su Linux o macOS, invia l'input casuale a
base64:head -c 24 /dev/urandom | base64Passa l'input casuale tramite una funzione di hashing, ad esempio
sha256:Su Linux:
head -c 4096 /dev/urandom | sha256sum | cut -b1-32In macOS:
head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
JavaScript
Genera la chiave precondivisa direttamente in un documento utilizzando JavaScript con l'API Web Cryptography del W3C. Per saperne di più, consulta la pagina https://www.w3.org/TR/WebCryptoAPI/#Crypto-method-getRandomValues
Questa API utilizza il metodo Crypto.getRandomValues() descritto qui: https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues, che fornisce un modo crittograficamente valido per generare una chiave precondivisa.
Il codice seguente crea un array di 24 byte casuali, quindi codifica questi byte in base64 per produrre una stringa casuale di 32 caratteri:
var a = new Uint8Array(24);
window.crypto.getRandomValues(a);
console.log(btoa(String.fromCharCode.apply(null, a)));
Crea il secret
Crea un secret con una chiave PSK nello spazio dei nomi della piattaforma:
kubectl --kubeconfig MANAGEMENT_API_SERVER create secret -n platform generic PSK_NAME --from-literal=psk=PSK
Sostituisci quanto segue:
MANAGEMENT_API_SERVER: il percorso kubeconfig del server API di zona. Se non hai ancora generato un file kubeconfig per il server API nella zona di destinazione, consulta Accedi per i dettagli.PSK_NAME: il nome della chiave PSK.PSK: il valore della chiave PSK.