Proteggere Kubernetes con CA privata AWS - AWS Private Certificate Authority

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à.

Proteggere Kubernetes con CA privata AWS

I contenitori e le applicazioni Kubernetes utilizzano certificati digitali per fornire autenticazione e crittografia sicure tramite TLS. Una soluzione ampiamente adottata per la gestione del ciclo di vita dei certificati TLS in Kubernetes è cert-manager, un componente aggiuntivo di Kubernetes che richiede i certificati, li distribuisce nei contenitori Kubernetes e automatizza il rinnovo dei certificati.

CA privata AWSfornisce un plug-in open source per cert-manager, per gli utenti di cert-manager che desiderano configurare una CA senza archiviare chiavi private nel cluster. aws-privateca-issuer Gli utenti con requisiti normativi per il controllo dell'accesso e la verifica delle operazioni della CA possono utilizzare questa soluzione per migliorare la verificabilità e supportare la conformità. Puoi utilizzare il plug-in AWS Private CA Issuer con Amazon Elastic Kubernetes Service (Amazon EKS), un Kubernetes AWS autogestito su o in Kubernetes locale.

Il diagramma seguente mostra alcune delle opzioni disponibili per l'utilizzo di TLS in un cluster Amazon EKS. Questo cluster di esempio, contenente varie risorse, si trova dietro un sistema di bilanciamento del carico. I numeri identificano i possibili endpoint per le comunicazioni protette da TLS, tra cui il sistema di bilanciamento del carico esterno, il controller di ingresso, un singolo pod all'interno di un servizio e un paio di pod che comunicano in modo sicuro tra loro.

Topologia Kubernetes semplificata
  1. Interruzione presso il sistema di bilanciamento del carico.

    Elastic Load Balancing (ELB) è un servizio AWS Certificate Manager integrato, il che significa che puoi fornire ad ACM una CA privata, firmare un certificato con essa e installarlo utilizzando la console ELB. Questa soluzione fornisce comunicazioni crittografate tra un client remoto e il sistema di bilanciamento del carico. I dati vengono passati non crittografati al cluster EKS. In alternativa, è possibile fornire un certificato privato a un sistema diverso dal sistema di AWS bilanciamento del carico per terminare TLS.

  2. Terminazione presso il controller di ingresso Kubernetes.

    Il controller di ingresso risiede all'interno del cluster EKS come sistema di bilanciamento del carico e router nativi. Se hai installato sia cert-manager che e hai fornito al cluster una CA privata aws-privateca-issuer, Kubernetes può installare un certificato TLS firmato sul controller, consentendogli di fungere da endpoint del cluster per le comunicazioni esterne. Le comunicazioni tra il load balancer e il controller di ingresso sono crittografate e, dopo l'ingresso, i dati passano non crittografati alle risorse del cluster.

  3. Terminazione presso un pod.

    Ogni pod è un gruppo di uno o più contenitori che condividono risorse di archiviazione e di rete. Se hai installato sia cert-manager che e hai fornito al cluster una CA privata aws-privateca-issuer, Kubernetes può installare certificati TLS firmati sui pod, se necessario. Per impostazione predefinita, una connessione TLS che termina su un pod non è disponibile per gli altri pod del cluster.

  4. Comunicazioni sicure tra i pod.

    Puoi anche fornire a più pod certificati che consentano loro di comunicare tra loro. Gli scenari possibili sono i seguenti:

    • Fornitura con certificati autofirmati generati da Kubernetes. Ciò protegge le comunicazioni tra i pod, ma i certificati autofirmati non soddisfano i requisiti HIPAA o FIPS.

    • Fornitura con certificati firmati da una CA privata. Come nei numeri 2 e 3 precedenti, ciò richiede l'installazione sia di cert-manager che di una aws-privateca-issuerCA privata e il provisioning del cluster. Kubernetes può quindi installare certificati TLS firmati sui pod, se necessario.

Utilizzo del cert-manager su più account

Gli amministratori con accesso a una CA su più account possono utilizzare cert-manager per effettuare il provisioning di un cluster Kubernetes. Per ulteriori informazioni, consulta Procedure consigliate di sicurezza per l'accesso tra più account alle CA private.

Nota

Solo alcuni modelli di CA privata AWS certificato possono essere utilizzati in scenari tra più account. Modelli di certificato supportati Per un elenco dei modelli disponibili, consulta.

Modelli di certificato supportati

La tabella seguente elenca i CA privata AWS modelli che possono essere utilizzati con cert-manager per effettuare il provisioning di un cluster Kubernetes.

Soluzioni di esempio

Le seguenti soluzioni di integrazione mostrano come configurare l'accesso CA privata AWS a un cluster Amazon EKS.