Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crittografia dei dati e gestione dei segreti
Crittografia a riposo
Esistono tre diverse opzioni di storage AWS native che puoi utilizzare con Kubernetes: EBS, EFS e for Lustre. FSx Tutti e tre offrono la crittografia di dati a riposo utilizzando una chiave gestita dal servizio o una chiave cliente principale (CMK). Per EBS puoi utilizzare il driver di storage in-tree o il driver EBS CSI.tls
parametro a mountOptions
nel tuo PV come in questo esempio:
apiVersion: v1 kind: PersistentVolume metadata: name: efs-pv spec: capacity: storage: 5Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: efs-sc mountOptions: - tls csi: driver: efs.csi.aws.com volumeHandle: <file_system_id>
Il driver FSx CSI supporta il
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: fsx-sc provisioner: fsx.csi.aws.com parameters: subnetId: subnet-056da83524edbe641 securityGroupIds: sg-086f61ea73388fb6b deploymentType: PERSISTENT_1 kmsKeyId: <kms_arn>
Importante
A partire dal 28 maggio 2020, tutti i dati scritti nel volume temporaneo dei pod EKS Fargate sono crittografati per impostazione predefinita utilizzando un algoritmo crittografico AES-256 standard del settore. Non sono necessarie modifiche all'applicazione poiché la crittografia e la decrittografia vengono gestite senza problemi dal servizio.
Crittografa i dati inattivi
La crittografia dei dati inattivi è considerata una best practice. Se non sei sicuro che la crittografia sia necessaria, crittografa i tuoi dati.
Ruota periodicamente il CMKs
Configura KMS per ruotare automaticamente il tuo. CMKs In questo modo le chiavi verranno ruotate una volta all'anno, salvando quelle vecchie a tempo indeterminato, in modo che i dati possano ancora essere decifrati. Per ulteriori informazioni, consulta Rotazione delle chiavi master del cliente.
Usa i punti di accesso EFS per semplificare l'accesso ai set di dati condivisi
Se disponi di set di dati condivisi con permessi di file POSIX diversi o desideri limitare l'accesso a parte del file system condiviso creando punti di montaggio diversi, prendi in considerazione l'utilizzo di punti di accesso EFS. Per ulteriori informazioni sull'utilizzo dei punti di accesso, consulta -access-points.html. https://docs.aws.amazon.com/efs/ latest/ug/efs Oggi, se si desidera utilizzare un punto di accesso (AP), è necessario fare riferimento all'AP nel volumeHandle
parametro del PV.
Importante
A partire dal 23 marzo 2021, il driver EFS CSI supporta il provisioning dinamico degli Access Point EFS. Gli access point sono punti di ingresso specifici dell'applicazione in un file system EFS che semplificano la condivisione di un file system tra più pod. Ogni file system EFS può avere fino a 120 file system PVs. Per ulteriori informazioni, consulta Introduzione al provisioning dinamico CSI di Amazon EFS
Gestione dei segreti
I segreti di Kubernetes vengono utilizzati per archiviare informazioni sensibili, come certificati utente, password o chiavi API. Vengono mantenute in etcd come stringhe codificate in base64. Su EKS, i volumi EBS per i nodi etcd sono crittografati con la crittografia EBS. Un pod può recuperare un oggetto segreto di Kubernetes facendo riferimento al segreto in. podSpec
Questi segreti possono essere mappati su una variabile di ambiente o montati come volume. Per ulteriori informazioni sulla creazione di segreti, vedere https://kubernetes. io/docs/concepts/configuration/secret
avvertimento
I segreti in un particolare namespace possono essere referenziati da tutti i pod nello spazio dei nomi del segreto.
avvertimento
L'autorizzatore del nodo consente a Kubelet di leggere tutti i segreti montati sul nodo.
Usa AWS KMS per la crittografia in busta dei segreti di Kubernetes
Ciò ti consente di crittografare i tuoi segreti con una chiave di crittografia dei dati unica (DEK). Il DEK viene quindi crittografato utilizzando una chiave di crittografia (KEK) di AWS KMS che può essere ruotata automaticamente in base a una pianificazione ricorrente. Con il plug-in KMS per Kubernetes, tutti i segreti di Kubernetes vengono archiviati in etcd in testo cifrato anziché in testo semplice e possono essere decrittografati solo dal server API Kubernetes. Per ulteriori dettagli, consulta Utilizzo del supporto
Verifica l'uso di Kubernetes Secrets
Su EKS, attiva la registrazione degli audit e crea un filtro CloudWatch metrico e un allarme per avvisarti quando viene utilizzato un segreto (opzionale). Di seguito è riportato un esempio di filtro metrico per il registro di controllo di Kubernetes,. {($.verb="get") && ($.objectRef.resource="secret")}
Puoi anche utilizzare le seguenti query con Log Insights: CloudWatch
fields @timestamp, @message | sort @timestamp desc | limit 100 | stats count(*) by objectRef.name as secret | filter verb="get" and objectRef.resource="secrets"
La query precedente mostrerà il numero di volte in cui è stato effettuato l'accesso a un segreto entro un periodo di tempo specifico.
fields @timestamp, @message | sort @timestamp desc | limit 100 | filter verb="get" and objectRef.resource="secrets" | display objectRef.namespace, objectRef.name, user.username, responseStatus.code
Questa query mostrerà il segreto, insieme allo spazio dei nomi e al nome utente dell'utente che ha tentato di accedere al segreto e al codice di risposta.
Ruota periodicamente i tuoi segreti
Kubernetes non ruota automaticamente i segreti. Se devi ruotare i segreti, prendi in considerazione l'utilizzo di un archivio segreto esterno, ad esempio Vault o AWS Secrets Manager.
Usa namespace separati per isolare i segreti da diverse applicazioni
Se disponi di segreti che non possono essere condivisi tra le applicazioni in uno spazio dei nomi, crea uno spazio dei nomi separato per tali applicazioni.
Utilizzate i montaggi di volume anziché le variabili di ambiente
I valori delle variabili di ambiente possono apparire involontariamente nei log. I segreti montati come volumi vengono istanziati come volumi tmpfs (un file system basato su RAM) che vengono rimossi automaticamente dal nodo quando il pod viene eliminato.
Utilizza un provider di segreti esterno
Esistono diverse alternative valide all'utilizzo dei segreti di Kubernetes, tra cui AWS Secrets Manager
Con l'aumento dell'uso di archivi segreti esterni, è cresciuta anche la necessità di integrarli con Kubernetes. Secret Store CSI Driver è
Nota
Quando il driver CSI dell'archivio segreto deve recuperare un segreto, assume il ruolo IRSA assegnato al pod che fa riferimento a un segreto. Il codice per questa operazione può essere trovato qui.
Per ulteriori informazioni su AWS Secrets & Configuration Provider (ASCP), fai riferimento alle seguenti risorse:
external-secrets