Questa pagina descrive come generare una chiave precondivisa (PSK) e utilizzarla per creare un segreto 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 correlate alla VPN. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore VPN (
vpn-admin
). - Visualizzatore VPN: dispone di autorizzazioni di lettura su tutte le risorse correlate alla VPN. Chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Visualizzatore VPN (
vpn-viewer
). - Per ulteriori informazioni, vedi Definizioni dei ruoli.
Generare una PSK
Utilizza i seguenti metodi per generare una chiave precondivisa efficace di 32 caratteri.
OpenSSL
Per saperne di più 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 | base64
Passa l'input casuale attraverso una funzione di hashing, ad esempio
sha256
:Su Linux:
head -c 4096 /dev/urandom | sha256sum | cut -b1-32
In 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 W3C Web Cryptography. Per ulteriori informazioni, visita 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 seguente codice crea un array di 24 byte casuali, quindi codifica in base64 questi byte 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 zonale. 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.