c1.2 Cifra los datos de inferencia con claves KMS gestionadas por el cliente
Cifra prompts, respuestas y cualquier dato de inferencia almacenado con una clave gestionada por ti, en vez de depender solo de las claves gestionadas por AWS por defecto.
Guía de implementación
Cómo implementarlo en AWS
Crea una clave KMS gestionada por el cliente para los datos de inferencia y referénciala al configurar Bedrock, los guardrails y cualquier almacenamiento S3 de prompts/logs. Usa políticas de clave más IAM para restringir el descifrado y habilita la rotación.
Por qué una clave administrada por el cliente
De forma predeterminada, Amazon Bedrock cifra los datos con una clave administrada por AWS, que no puedes inspeccionar, restringir ni auditar a nivel de política. Una clave administrada por el cliente (CMK) te permite decidir exactamente qué principales y qué servicios pueden usar la clave, rotarla según tu calendario y ver cada uso en CloudTrail. Para cargas de inferencia reguladas, este control sobre la clave —no solo sobre los datos— suele ser el requisito.
Acota la clave a Bedrock con una política de clave
La política de clave es la raíz de confianza de una clave de KMS. Concede al principal de servicio de Bedrock solo las operaciones que necesita y restríngelas a Bedrock con la condición kms:ViaService, para que la clave no pueda usarse a través de otros servicios:
{
"Sid": "AllowBedrockToUseTheKey",
"Effect": "Allow",
"Principal": { "Service": "bedrock.amazonaws.com" },
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": { "kms:ViaService": "bedrock.us-east-1.amazonaws.com" }
}
}
Bedrock crea un grant sobre la clave (mediante kms:CreateGrant) para poder usar la CMK en trabajos de larga duración como la personalización de modelos; mantén ese permiso en la política anterior.
Cifra también los datos que salen del modelo
Los prompts y las respuestas también se escriben allí donde envíes los registros de invocación del modelo. Dirige ese registro a un bucket de S3 o a un grupo de CloudWatch Logs cifrado con la misma CMK, para que la copia almacenada de los datos de inferencia quede protegida con la clave que controlas, no con la clave predeterminada aws/s3. Consulta Monitor model invocation using CloudWatch Logs and Amazon S3.
Activa la rotación y el descifrado con mínimo privilegio
- Habilita la rotación automática anual de la CMK.
- En la política de clave, separa a los administradores de la clave (que la gestionan) de los usuarios de la clave (que pueden hacer
Decrypt); el rol en ejecución debe poder descifrar, no administrar. - Vigila el uso de KMS por parte de Bedrock con CloudTrail; consulta Monitoring your encryption keys for the Amazon Bedrock service.
Nota de nomenclatura: reemplazaus-east-1en el valor dekms:ViaServicepor tu región. Usa una CMK distinta (y una líneakms:ViaServiceseparada) por región en lugar de una sola clave compartida.
Criterios de aceptación
Los datos de inferencia en reposo se cifran con una clave gestionada por el cliente; la política de clave limita el descifrado a roles aprobados; la rotación está habilitada.
Implementación práctica
Cómo se implementa este control en cada arquitectura de referencia:
Una clave gestionada por el cliente vive en la cuenta de IA generativa y cifra guardrails, logs de invocación y el almacenamiento de prompts/respuestas; su política de clave otorga descifrado solo a roles aprobados.
- Crea una clave KMS gestionada por el cliente en la cuenta de IA generativa y referénciala al configurar guardrails de Bedrock, el registro de invocación de modelos y cualquier bucket S3 que almacene prompts o respuestas.
- Redacta una política de clave que otorgue kms:Decrypt solo a los roles específicos de invocación y de registro, y habilita la rotación anual automática de la clave.
- Otorga al rol lector de la cuenta de Log archive el permiso mínimo de descifrado que necesita para procesar los logs centralizados, mediante un grant o una sentencia de la política de clave.
Cómo validar: Todo el almacenamiento relacionado con inferencia muestra la clave gestionada por el cliente (no la clave por defecto aws/bedrock); la política de clave lista solo los principales de descifrado aprobados; la rotación está habilitada.
Evita: Depender de la clave gestionada por AWS por defecto de modo que el cifrado está 'activado' pero no puedes restringir ni auditar quién descifra. Usa una clave gestionada por el cliente con una política de clave estricta.
Una clave gestionada por el cliente en la cuenta cifra todos los datos de inferencia, con una política de clave acotada solo a los roles de ejecución y de registro.
- Crea una clave KMS dedicada gestionada por el cliente y aplícala a los guardrails de Bedrock, al registro de invocación de modelos y a los buckets S3 que guardan prompts/respuestas/logs.
- Restringe kms:Decrypt en la política de clave al rol de invocación de modelo y al rol de registro; deniégalo a principales amplios; habilita la rotación de la clave.
- Mantén separados a los administradores de la clave KMS de los roles en ejecución para que la app no pueda cambiar ni deshabilitar la clave.
Cómo validar: El almacenamiento de inferencia se cifra con la clave gestionada por el cliente; solo los roles de invocación/registro pueden descifrar; la rotación está habilitada; el rol de la app en ejecución no puede administrar la clave.
Evita: Una sola clave compartida entre cargas no relacionadas con una política de clave abierta. Usa una clave dedicada y acota el descifrado a los roles que realmente procesan datos de inferencia.
Amenazas que atiende
- Datos de prompt o respuesta legibles si una clave por defecto o el almacenamiento se compromete.
- Modificación no autorizada de la configuración del guardrail o del modelo.
Servicios AWS
Precios
Cada clave administrada por el cliente tiene una pequeña tarifa mensual, más un cargo por solicitud por las llamadas a la API de KMS durante las operaciones de cifrado/descifrado. No hay cargo por las claves administradas por AWS, así que el costo de la CMK es el precio del control y la auditabilidad adicionales.
Mapeos de frameworks
OWASP GenAI/LLM Top 10 (2026)
- LLM02 Sensitive Information Disclosure
NIST AI Risk Management Framework (AI 100-1)
- MANAGE.1 AI risks are prioritized, responded to and managed
AWS Security Hub — AI Security Best Practices
- Bedrock.1 Amazon Bedrock data sources should be encrypted with customer managed AWS KMS keys
AWS Well-Architected Generative AI Lens (Security)
- GENSEC01-BP03 Implement least privilege access to data stores
Recursos de aprendizaje
Referencias
- AWS SRA para IA — Capacidad 1, Seguridad de datos
AI Security Maturity Model