O que está ativo
Etiquetagem imutável de artefatos
Cada imagem de contêiner construída pela plataforma é etiquetada com o SHA do commit de origem. Isso cria um vínculo imutável e biunívoco entre o código-fonte e o binário implantado:- As imagens são enviadas ao Amazon ECR com tags de commit-SHA (ex.:
sha-a1b2c3d), garantindo que cada artefato seja identificável de forma única. - Os repositórios ECR são configurados como registros privados restritos à conta AWS da organização.
- Políticas de ciclo de vida do ECR aplicam uma janela de retenção de 30 dias para imagens com tag de commit-SHA, mantendo apenas a tag
latestindefinidamente.
Pipeline de CI/CD controlado
Todas as imagens de contêiner se originam de workflows do GitHub Actions — nenhum push manual de imagem é permitido:- Os workflows de implantação autenticam com a AWS via federação OIDC (sem credenciais de longa duração).
- As GitHub Actions utilizam versões fixas de actions para builds reprodutíveis e determinísticos.
- O Docker Buildx produz imagens multiplataforma a partir de um ambiente de build consistente.
- A integridade das dependências é verificada durante os builds (ex.:
go mod verifypara módulos Go). - O acesso a módulos privados é controlado por PATs do GitHub com escopo restrito, em vez de credenciais amplas.
Aplicação de registro privado
As implantações do Kubernetes baixam imagens exclusivamente dos nossos registros privados do Amazon ECR:- Todos os manifests de serviço referenciam URIs de imagem ECR totalmente qualificadas dentro da conta AWS da organização.
- Nenhum registro público ou de terceiros é referenciado em cargas de trabalho de produção.
- A verificação nativa de vulnerabilidades do ECR está habilitada, fornecendo avaliação automatizada do conteúdo das imagens.
Segredos e gerenciamento de chaves
- Todos os segredos são criptografados em repouso usando SOPS com uma chave AWS KMS gerenciada pelo cliente.
- Segredos nunca são armazenados em texto claro no repositório ou nos logs de CI.
- O acesso ao cluster Kubernetes é governado por RBAC integrado ao IAM, restringindo quem pode interagir com cargas de trabalho e registros.