Qué está activo
Etiquetado inmutable de artefactos
Cada imagen de contenedor construida por la plataforma se etiqueta con el SHA del commit de git de origen. Esto crea un vínculo inmutable y uno a uno entre el código fuente y el binario desplegado:- Las imágenes se suben a Amazon ECR con etiquetas de commit-SHA (por ejemplo,
sha-a1b2c3d), asegurando que cada artefacto sea identificable de manera única. - Los repositorios ECR están configurados como registros privados limitados a la cuenta de AWS de la organización.
- Las políticas de ciclo de vida de ECR aplican una ventana de retención de 30 días para imágenes con commit-SHA, manteniendo solo la etiqueta
latestindefinidamente.
Pipeline CI/CD controlado
Todas las imágenes de contenedor se originan desde flujos de trabajo de GitHub Actions — no se permiten subidas manuales de imágenes:- Los flujos de despliegue se autentican con AWS mediante federación OIDC (sin credenciales de larga duración).
- GitHub Actions utiliza versiones fijadas de acciones para construcciones reproducibles y deterministas.
- Docker Buildx produce imágenes multiplataforma desde un entorno de construcción consistente.
- La integridad de dependencias se verifica durante las construcciones (por ejemplo,
go mod verifypara módulos de Go). - El acceso a módulos privados se controla mediante PATs de GitHub con alcance específico en lugar de credenciales amplias.
Aplicación de registros privados
Los despliegues de Kubernetes extraen imágenes exclusivamente de nuestros registros privados de Amazon ECR:- Todos los manifiestos de servicios hacen referencia a URIs de imagen ECR completamente calificadas dentro de la cuenta de AWS de la organización.
- No se hace referencia a registros públicos ni de terceros en cargas de trabajo de producción.
- El escaneo nativo de vulnerabilidades de ECR está habilitado, proporcionando una evaluación automatizada del contenido de las imágenes.
Gestión de secretos y llaves
- Todos los secretos están cifrados en reposo usando SOPS con una clave AWS KMS gestionada por el cliente.
- Los secretos nunca se almacenan en texto plano en el repositorio ni en los logs de CI.
- El acceso al clúster de Kubernetes está gobernado por RBAC integrado con IAM, restringiendo quién puede interactuar con las cargas de trabajo y los registros.