Per impostazione predefinita, i seguenti dati vengono archiviati criptati nel piano di runtime ibrido:
- Dati del sistema di gestione delle chiavi (KMS)
- Dati mappa chiave-valore (KVM)
- Memorizzare i dati nella cache
La crittografia dei dati non richiede alcuna configurazione speciale da parte tua. Tuttavia, se per qualche motivo vuoi utilizzare le tue chiavi di crittografia (sostituendo quelle predefinite), puoi farlo, come spiegato in questo argomento.
Ambito della chiave di crittografia
Le chiavi di crittografia per KMS, KVM e cache hanno un ambito. Ad esempio, le chiavi KMS hanno organizzazione l'ambito di attività. Ciò significa che la chiave viene utilizzata per criptare i dati KMS per l'intera organizzazione. La tabella seguente elenca l'ambito per ciascun tipo di chiave:
Chiave di crittografia | Ambito |
---|---|
KMS | Solo organizzazione |
KVM |
Organizzazione o ambiente
Se un regolamento KVM
specifica l'ambito |
Cache | Solo ambiente |
Informazioni sulle chiavi di crittografia predefinite
Per impostazione predefinita, Apigee hybrid fornisce un set di chiavi con codifica Base64 che vengono utilizzate per criptare i dati di KVM, KMS e della cache. Il programma di installazione ibrido di Apigee archivia le chiavi un piano di runtime Kubernetes Secret e li utilizza per criptare i tuoi dati con la crittografia standard AES-128. Le chiavi sono sotto il tuo controllo; il piano di gestione ibrida non ne è mai a conoscenza.
Modifica delle chiavi di crittografia predefinite
Sebbene non sia obbligatorio, puoi modificare una delle chiavi di crittografia predefinite, se vuoi. Per sostituire una o più chiavi predefinite:
- Copia le seguenti stanza nel file degli override.
Questa configurazione ti consente di modificare le chiavi di crittografia KMS e KVM per il livello dell'organizzazione e le chiavi di crittografia KVM e della cache per il livello dell'ambiente:
defaults: org: kmsEncryptionKey: base64-encoded-key kvmEncryptionKey: base64-encoded-key env: kvmEncryptionKey: base64-encoded-key cacheEncryptionKey: base64-encoded-key
- Genera una nuova chiave per ogni chiave che vuoi sostituire. Ogni chiave deve essere una stringa con codifica Base64 di esattamente 16, 24 o 32 byte. Consulta anche Come creare una chiave codificata.
- Sostituisci le chiavi predefinite con altre nuove. In questo esempio, tutte le chiavi predefinite vengono sostituite con le chiavi:
defaults: org: kmsEncryptionKey: "JVpTb1FwI0otUHo2RUdRN3pnVyQqVGlMSEFAJXYmb1c=" kvmEncryptionKey: "T3VkRGM1U3cpOFgtNk9fMnNZU2NaSVA3I1BtZWxkaUU=" env: kvmEncryptionKey: "Q3h6M3R6OWdBeipxTURfKjQwQVdtTng2dU5mODFHcyE=" cacheEncryptionKey: "b2NTVXdKKjBzN0NORF9XSm9tWFlYKGJ6NUhpNystJVI="
- Applica il file degli override al cluster come segue:
- Se cambi le chiavi KVM o cache, aggiorna solo l'ambiente:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --env env_name
- Se modifichi le chiavi KMS, aggiorna sia l'organizzazione che l'ambiente:
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --env env_name --org org_name
- Se cambi le chiavi KVM o cache, aggiorna solo l'ambiente:
- Riavvia i pod
apigee-runtime
eapigee-mart
.
Una nota sulla compatibilità con le versioni precedenti
Quando installi per la prima volta Apigee hybrid, vengono utilizzate le chiavi di crittografia predefinite. Se rimuovi le chiavi di crittografia, disattivi effettivamente la crittografia e i valori successivi verranno memorizzati non criptati. Se in un secondo momento abilitare la crittografia fornendo le chiavi, eventuali dati non criptati esistenti rimarranno non criptati; Tuttavia, eventuali dati aggiunti in futuro essere criptati. Il sistema continuerà a funzionare normalmente con i dati non criptati e i nuovi e i dati di Google Cloud.
Inoltre, tieni presente che non puoi modificare le chiavi di crittografia in un secondo momento dopo la crittografia dei dati del runtime.
Come creare una chiave codificata
Per la crittografia KVM, KMS e della cache è necessaria una chiave con codifica Base64 formattata correttamente. La chiave utilizzata per una di queste finalità deve essere codificata in Base-64 da una stringa di 16, 24 o 32 byte, come spiegato di seguito:
Il seguente comando di esempio genera una stringa codificata in Base64 di 32 caratteri, generata in modo casuale, adatta:
head -c 32 /dev/random | openssl base64