View a markdown version of this page

Cifrado en reposo para AgentCore evaluaciones - Amazon Bedrock AgentCore

Cifrado en reposo para AgentCore evaluaciones

nota

Esta página trata sobre el cifrado de claves gestionado por el cliente para evaluadores personalizados. Para el cifrado de conjuntos de datos, consulte Cifrado de conjuntos de datos.

Opciones de cifrado

Amazon Bedrock AgentCore Evaluations cifra todos los datos en reposo de forma predeterminada mediante una AWS clave propia sin coste adicional. No puede ver, gestionar ni auditar el uso de esta clave.

Si lo desea, puede cifrar los datos confidenciales del evaluador con una clave gestionada por el cliente. Al especificar una clave AWS KMS gestionada por el cliente en un evaluador personalizado, el servicio cifra las instrucciones del evaluador y la escala de valoración mediante el cifrado por sobres con el SDK de cifrado. AWS Todos los demás metadatos del evaluador (nombre, nivel, configuración del modelo, estado) permanecen cifrados con la clave propia. AWS

El uso de una clave gestionada por el cliente le proporciona un mayor control sobre el proceso de cifrado, incluida la posibilidad de:

  • Crear y administrar la clave, incluida la configuración de las políticas clave

  • Gire la llave según su propio horario

  • Desactive o elimine la clave para controlar el acceso a los datos cifrados

  • Audite el uso de la clave mediante AWS CloudTrail

Para obtener más información, consulte las claves administradas por el cliente en la Guía AWS para desarrolladores del Servicio de administración de claves.

Cómo utiliza AgentCore Evaluations una clave KMS gestionada por el cliente

Al especificar una clave gestionada por el cliente en un evaluador personalizado, el servicio utiliza las credenciales de la persona que llama (mediante Forward Access Sessions) para cifrar y descifrar las instrucciones y la escala de valoración del evaluador. La persona que llama debe tener la clave y los kms:GenerateDataKey permisos kms:Decrypt necesarios. kms:DescribeKey

Para la evaluación en línea, el servicio descifra las instrucciones del evaluador de forma asíncrona utilizando su propio principio de servicio (). bedrock-agentcore.amazonaws.com El director del servicio debe tener kms:Decrypt permiso en la política de claves.

nota

AgentCore Evaluations no utiliza concesiones de KMS ni claves de datos en caché. Las configuraciones de evaluación en línea no aceptan ningún kmsKeyArn parámetro; heredan el cifrado CMK de los evaluadores a los que hacen referencia.

Configurar una clave KMS administrada por el cliente

AgentCore Las evaluaciones solo admiten claves KMS de cifrado simétrico. La clave KMS debe estar en la misma AWS región que el evaluador. Para obtener información sobre la creación de una clave KMS simétrica, consulte Creación de claves KMS de cifrado simétrico en la Guía para desarrolladores del servicio de administración de AWS claves.

Configurar los permisos para usar una clave KMS administrada por el cliente

La siguiente política clave proporciona los permisos mínimos necesarios para AgentCore las evaluaciones. La política tiene tres instrucciones:

  • AllowCallerAccess— Permite al usuario o rol de IAM validar la clave mediante DescribeKey el alcance de. kms:ViaService

  • AllowCallerCryptoOps— Permite al usuario o rol de IAM cifrar y descifrar en función del contexto de cifrado. kms:ViaService

  • AllowServicePrincipalDecrypt— Permite al director del AgentCore servicio descifrar durante la evaluación en línea, según el alcance de la cuenta de origen y el ARN de origen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallerAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } }, { "Sid": "AllowCallerCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyEvaluationRole" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } }, { "Sid": "AllowServicePrincipalDecrypt", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/my-evaluator-id" } } } ] }

La política contiene las siguientes declaraciones:

  • AllowCallerAccess— Otorga el kms:DescribeKey permiso al rol de IAM, que se limita a las solicitudes realizadas a través del AgentCore servicio ()kms:ViaService. 111122223333Sustitúyalo por tu ID de cuenta, MyEvaluationRole por el rol o usuario de IAM que gestiona los evaluadores y us-east-1 por tu región. AWS

  • AllowCallerCryptoOps— Otorga la función kms:GenerateDataKey y los kms:Decrypt permisos de IAM, según el ámbito kms:ViaService y el contexto de cifrado. aws:bedrock-agentcore:evaluatorArn Sustituya 111122223333MyEvaluationRole,us-east-1, y por sus my-evaluator-id valores. Para permitir el acceso a todos los evaluadores de su cuenta, utilice un comodín conStringLike:. arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/ Tenga en cuenta que cuando utilice un comodín, debe cambiar el operador de condición de StringEquals aStringLike, ya que se StringEquals trata de un carácter literal.

  • AllowServicePrincipalDecrypt— Otorga al director del AgentCore servicio kms:Decrypt permiso para descifrar los datos del evaluador durante la ejecución de la evaluación en línea. Seleccionado por cuenta de origen y ARN de origen aws:SourceArn () para evitar confusos ataques de diputados. Sustituya us-east-1 y 111122223333 por su región e ID de cuenta.

Crear un evaluador con una clave KMS administrada por el cliente

Para cifrar un evaluador personalizado, especifique el kmsKeyArn parámetro al llamar. CreateEvaluator

ejemplo
CLI
aws bedrock-agentcore-control create-evaluator \ --evaluator-name "MyEncryptedEvaluator" \ --level SESSION \ --kms-key-arn "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --evaluator-config '{ "llmAsAJudge": { "instructions": "Rate the session quality using {available_tools} and {context}", "ratingScale": { "categorical": [ {"label": "Good", "definition": "The agent performed well"}, {"label": "Bad", "definition": "The agent performed poorly"} ] }, "modelConfig": { "bedrockEvaluatorModelConfig": { "modelId": "us.anthropic.claude-sonnet-4-20250514-v1:0" } } } }'
Python (Boto3)
import boto3 client = boto3.client('bedrock-agentcore-control') response = client.create_evaluator( evaluatorName='MyEncryptedEvaluator', level='SESSION', kmsKeyArn='arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab', evaluatorConfig={ 'llmAsAJudge': { 'instructions': 'Rate the session quality using {available_tools} and {context}', 'ratingScale': { 'categorical': [ {'label': 'Good', 'definition': 'The agent performed well'}, {'label': 'Bad', 'definition': 'The agent performed poorly'} ] }, 'modelConfig': { 'bedrockEvaluatorModelConfig': { 'modelId': 'us.anthropic.claude-sonnet-4-20250514-v1:0' } } } } ) print(f"Evaluator ID: {response['evaluatorId']}")

Cambiar la configuración de cifrado en un evaluador existente

Puede cambiar la configuración de cifrado en un evaluador existente mediante: UpdateEvaluator

  • Añadir cifrado: especifique un valor kmsKeyArn en un evaluador que se creó sin él. El servicio cifra las instrucciones y la escala de calificación con la nueva clave.

  • Girar la clave: especifique una diferente. kmsKeyArn El servicio descifra los datos con la clave anterior y los vuelve a cifrar con la nueva clave. La persona que llama debe tener permisos en ambas claves. Si la clave anterior no está disponible (está deshabilitada, eliminada o faltan permisos), se producirá un error en la actualización.

nota

No puede eliminar el cifrado de claves gestionadas por el cliente de un evaluador una vez que se haya agregado.

Limitar el acceso a la clave KMS administrada por el cliente

Puede usar el contexto de cifrado para limitar el acceso a la clave administrada por el cliente. AgentCore Las evaluaciones incluyen el siguiente contexto de cifrado en todas las operaciones de KMS:

{ "aws:bedrock-agentcore:evaluatorArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/evaluator-id" }

Puede usar este contexto de cifrado en las condiciones de la política clave para restringir las operaciones de KMS a evaluadores específicos, como se muestra en la AllowCallerCryptoOps declaración del ejemplo de política clave anterior. Tenga en cuenta que se AllowServicePrincipalDecrypt utiliza aws:SourceArn para el ámbito más que para el contexto de cifrado.

Supervisión de la interacción AgentCore de las evaluaciones con AWS KMS

Puede utilizarla AWS CloudTrail para realizar un seguimiento de las solicitudes a la API de KMS que AgentCore Evaluations realiza en su nombre. Los siguientes nombres de CloudTrail eventos aparecen en sus registros:

  • GenerateDataKey— Al crear o actualizar un evaluador con una clave gestionada por el cliente.

  • Decrypt— Al recuperar los datos del evaluador, durante la evaluación bajo demanda o durante la ejecución de la evaluación en línea.

  • DescribeKey— Al validar la clave al crear, actualizar o crear la configuración de evaluación en línea del evaluador.

En las entradas de CloudTrail registro, el requestParameters.encryptionContext campo contiene aws:bedrock-agentcore:evaluatorArn el ARN del evaluador. En el caso de las solicitudes realizadas por el director del servicio durante la evaluación en línea, se muestra en el userIdentity.invokedBy campo. bedrock-agentcore.amazonaws.com

Para obtener más información sobre la supervisión del uso de KMS, consulte Registrar las llamadas a la API de AWS KMS AWS CloudTrail en la Guía para desarrolladores del servicio de administración de AWS claves.

Comportamiento cuando una clave deja de estar disponible

Si deshabilita o elimina la clave de KMS administrada por el cliente, o si la política de claves ya no concede los permisos necesarios:

  • GetEvaluator con ALL_DATA: se produce un error porque el servicio no puede descifrar las instrucciones y la escala de valoración.

  • GetEvaluator con METADATA_ONLY: se ejecuta correctamente porque no se requieren operaciones de KMS.

  • Evaluar (bajo demanda): los CMK-encrypted evaluadores fallan porque el servicio no puede descifrar las instrucciones.

  • UpdateEvaluator (rotación de claves): se produce un error porque el servicio no puede descifrar los datos existentes con la clave no disponible antes de volver a cifrarlos con la nueva clave.

  • CreateOnlineEvaluationConfig / UpdateOnlineEvaluationConfig— Falla porque el servicio no puede validar el acceso de la persona que llama ni en modo simulado. kms:DescribeKey kms:Decrypt

  • Ejecución de la evaluación en línea: se produce un error porque el servicio no puede descifrar las instrucciones del evaluador para la calificación.

  • DeleteEvaluator— Se realiza correctamente porque la eliminación no requiere descifrar los datos del evaluador.

  • DeleteOnlineEvaluationConfig— Se realiza correctamente porque la eliminación no requiere acceso al KMS.

sugerencia

Úselo includedData=METADATA_ONLY GetEvaluator para recuperar los metadatos del evaluador (nombre, nivel, configuración del modelo, estado) sin necesidad de permisos de KMS. Esto resulta útil para supervisar e inventariar los flujos de trabajo cuando la clave no está disponible.

Para restablecer el acceso, vuelva a habilitar la clave o actualice la política de claves para conceder los permisos necesarios.

nota

Para obtener información sobre el cifrado de claves gestionado por el cliente para conjuntos de datos, consulte Cifrado de conjuntos de datos.