AWS Signer
Servicio que aplica firmas digitales a código e imágenes de contenedores, verificando firmas en el despliegue para garantizar la integridad de la cadena de suministro de software
Descripción general
AWS Signer es un servicio de firma de código que aplica firmas digitales a paquetes de despliegue de funciones Lambda, imágenes de contenedores y firmware de dispositivos IoT, realizando verificación de firmas en tiempo de ejecución. Define algoritmos de firma y períodos de validez en perfiles de firma, y al integrarse en pipelines CI/CD, garantiza que solo se despliegue código legítimo no alterado. Se integra con la configuración de firma de código de Lambda para bloquear automáticamente el despliegue de código sin firma o con firma inválida.
Perfiles de firma y ejecución de trabajos de firma
AWS Signer utiliza perfiles de firma para definir la configuración de firma incluyendo la plataforma de firma, el período de validez de la firma y el algoritmo de firma. Cada perfil está asociado a un caso de uso específico (despliegue Lambda, firma de imágenes de contenedor, actualizaciones de firmware IoT). Los trabajos de firma toman un artefacto sin firmar de S3, aplican la firma digital usando la configuración del perfil y generan el artefacto firmado. La clave de firma es gestionada por AWS y nunca se expone, eliminando la carga operativa de la gestión de claves. Los perfiles de firma soportan expiración de firma, invalidando automáticamente las firmas después de un período configurado para forzar la re-firma regular y prevenir el uso de artefactos obsoletos. Las capacidades de revocación permiten invalidar trabajos de firma específicos si se detecta un compromiso, previniendo inmediatamente el despliegue de artefactos afectados.
Firma de código Lambda y control de despliegue
La validación de firma de código de Lambda asegura que solo el código firmado por perfiles de firma confiables pueda desplegarse en funciones Lambda. Una Configuración de Firma de Código (CSC) especifica qué perfiles de firma son confiables y qué acción tomar ante un fallo de validación (advertir o aplicar). Cuando el modo de aplicación está activo, Lambda rechaza cualquier paquete de despliegue que no esté firmado por un perfil confiable o tenga una firma expirada/revocada. Esto previene que código no autorizado se ejecute incluso si un atacante obtiene permisos de despliegue. El flujo de firma se integra naturalmente con CI/CD: CodeBuild compila el código, Signer firma el paquete de despliegue y CodePipeline despliega en Lambda con validación CSC. El código no confiable se bloquea en el límite de despliegue independientemente de cómo entró al pipeline. Las organizaciones pueden exigir firma de código en todas las funciones Lambda usando SCPs que requieran la asociación de CSC.
Firma de imágenes de contenedor y seguridad de la cadena de suministro
Para cargas de trabajo de contenedores, Signer se integra con ECR para firmar imágenes de contenedor usando Notation (un estándar abierto para firma de contenedores). Las imágenes firmadas pueden verificarse en tiempo de despliegue usando controladores de admisión en EKS o validación de definición de tareas en ECS. Esto asegura que solo las imágenes construidas por su pipeline CI/CD y firmadas por el perfil de firma de su organización puedan ejecutarse en clústeres de producción. El flujo de firma encaja en el CI/CD de contenedores existente: construir la imagen, subir a ECR, firmar con Signer y desplegar con verificación de firma. Combinado con el escaneo de imágenes de ECR para detección de vulnerabilidades, esto crea una postura integral de seguridad de la cadena de suministro. Para arquitecturas multicuenta, la firma entre cuentas permite que una cuenta central de seguridad gestione los perfiles de firma mientras las cuentas de carga de trabajo consumen artefactos firmados, manteniendo la separación de responsabilidades.