AI Security Maturity Model·AWS v1.0.0

Arrastra para explorar · pellizca para ampliar

Fundacional Protección de datosCapa de defensa en profundidad: Identidad y datos Capacidad 1 · Inferencia de modelosCaso de uso: IA que responde 👤 ClienteModelo de Responsabilidad Compartida de AWS: quién implementa y opera este control. Cliente = es tuyo; AWS = lo opera AWS y tú lo heredas; Compartida = ambos tienen obligaciones.

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.

Fundacional
Mejorada
Avanzada
Esfuerzo: Bajo Impacto: Alto Scopes de IA generativaDe la AWS Generative AI Security Scoping Matrix.: 3 · Modelos preentrenados

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: reemplaza us-east-1 en el valor de kms:ViaService por tu región. Usa una CMK distinta (y una línea kms:ViaService separada) 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.

  1. 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.
    Cuenta de IA generativa AWS KMS Amazon Bedrock Amazon S3
  2. 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.
    Cuenta de IA generativa AWS KMS
  3. 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.
    Cuenta de IA generativa → Log archive AWS KMS

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.

OU de IA generativa (multi-cuenta) →

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.

  1. 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.
    Capa de IA generativa (rol IAM) AWS KMS Amazon Bedrock Amazon S3
  2. 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.
    Capa de IA generativa (rol IAM) AWS KMS
  3. 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.
    Capa de aplicación (rol IAM) AWS KMS IAM

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.

Cuenta única (punto de entrada) →

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

AWS KMS Amazon Bedrock

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