Proteger o Kubernetes com o CA privada da AWS - AWS Private Certificate Authority

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, um complemento do Kubernetes que solicita certificados, os distribui para contêineres Kubernetes e automatiza a renovação desses certificados.

CA privada da AWSfornece um plug-in de código aberto para cert-manager, aws-privateca-issuer, para usuários do cert-manager que desejam configurar uma CA sem armazenar chaves privadas no cluster. Usuários com exigências normativas para controlar o acesso e auditar operações de CA podem usar essa solução para melhorar a capacidade de auditoria e apoiar a conformidade. É possível usar o plug-in AWS Private CA Issuer com o Amazon Elastic Kubernetes Service (Amazon EKS), um Kubernetes autogerenciado na AWS, ou no Kubernetes on-premises.

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

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

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

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

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.