As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Proteger o Kubernetes com o CA privada da AWS
Contêineres e aplicações Kubernetes usam certificados digitais para fornecer autenticação e criptografia seguras via TLS. Uma solução amplamente adotada para gerenciar o ciclo de vida de certificados TLS no Kubernetes é o cert-manager
CA privada da AWSfornece um plug-in de código aberto para cert-manager, aws-privateca-issuer
O diagrama abaixo mostra algumas das opções disponíveis para usar o TLS em um cluster do Amazon EKS. Esse cluster de exemplo, contendo vários recursos, está atrás de um balanceador de carga. Os números identificam possíveis pontos finais para comunicações protegidas por TLS, incluindo o balanceador de carga externo, o controlador de entrada, um pod individual dentro de um serviço e um par de pods que se comunicam com segurança entre si.
![Topologia simplificada do Kubernetes](images/kubernetes-pca.png)
-
Término no balanceador de carga.
O Elastic Load Balancing (ELB) é um serviço integrado do AWS Certificate Manager, o que significa que você pode provisionar o ACM com uma CA privada, assinar um certificado com ela e instalá-la usando o console do ELB. Essa solução fornece comunicação criptografada entre um cliente remoto e o balanceador de carga. Os dados são transmitidos sem criptografia ao cluster do EKS. Como alternativa, é possível fornecer um certificado privado a um balanceador de carga que não seja da AWS para encerrar o TLS.
-
Término no controlador de entrada Kubernetes.
O controlador de entrada reside no cluster do EKS como um balanceador de carga e roteador nativos. Se você instalou o cert-manager e aws-privateca-issuerprovisionou o cluster com uma CA privada, o Kubernetes pode instalar um certificado TLS assinado no controlador, permitindo que ele sirva como ponto final do cluster para comunicações externas. As comunicações entre o balanceador de carga e o controlador de entrada são criptografadas e, após a entrada, os dados são transmitidos sem criptografia aos recursos do cluster.
-
Término em um pod.
Cada pod é um grupo de um ou mais contêineres que compartilham recursos de armazenamento e rede. Se você instalou o cert-manager e provisionou o cluster com uma CA privada aws-privateca-issuer, o Kubernetes pode instalar certificados TLS assinados em pods conforme necessário. Uma conexão TLS terminando em um pod não está disponível por padrão para outros pods no cluster.
-
Comunicações seguras entre pods.
Você também pode provisionar vários pods com certificados que permitem a comunicação deles entre si. Os cenários a seguir são possíveis:
-
Provisionamento com certificados autoassinados e gerados pelo Kubernetes. Isso protege as comunicações entre os pods, mas os certificados autoassinados não atendem aos requisitos da HIPAA ou do FIPS.
-
Provisionamento com certificados assinados por uma CA privada. Como nos números 2 e 3 acima, isso requer a instalação do cert-manager e aws-privateca-issuero provisionamento do cluster com uma CA privada. O Kubernetes pode então instalar certificados TLS assinados nos pods conforme necessário.
-
Uso entre contas do cert-manager
Administradores com acesso entre contas a uma CA podem usar o cert-manager para provisionar um cluster do Kubernetes. Para ter mais informações, consulte Práticas de segurança recomendadas para acesso entre contas a CAs privadas.
nota
Somente determinados modelos de certificados do CA privada da AWS podem ser usados em cenários entre contas. Consulte Modelos de certificados com suporte para obter uma lista de modelos disponíveis.
Modelos de certificados com suporte
A tabela a seguir lista os modelos do CA privada da AWS que podem ser usados com o cert-manager para provisionar um cluster do Kubernetes.
Modelos compatíveis com o Kubernetes | Suporte para uso entre contas |
---|---|
BlankEndEntityCertificateDefinição de _CSRPassthrough/v1 | |
CodeSigningCertificateDefinição de /V1 | |
EndEntityCertificateDefinição de /V1 | ✓ |
EndEntityClientAuthCertificateDefinição de /V1 | ✓ |
EndEntityServerAuthCertificateDefinição de /V1 | ✓ |
Definição de SigningCertificate OCSP/V1 |
Soluções de exemplo
As soluções de integração a seguir mostram como configurar o acesso ao CA privada da AWS em um cluster do Amazon EKS.