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
DescribeKeyel 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:DescribeKeypermiso 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,MyEvaluationRolepor el rol o usuario de IAM que gestiona los evaluadores yus-east-1por tu región. AWS -
AllowCallerCryptoOps— Otorga la función
kms:GenerateDataKeyy loskms:Decryptpermisos de IAM, según el ámbitokms:ViaServicey el contexto de cifrado.aws:bedrock-agentcore:evaluatorArnSustituya111122223333MyEvaluationRole,us-east-1, y por susmy-evaluator-idvalores. 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 deStringEqualsaStringLike, ya que seStringEqualstrata de un carácterliteral. -
AllowServicePrincipalDecrypt— Otorga al director del AgentCore servicio
kms:Decryptpermiso 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 origenaws:SourceArn() para evitar confusos ataques de diputados. Sustituyaus-east-1y111122223333por 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
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
kmsKeyArnen 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.
kmsKeyArnEl 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:DescribeKeykms: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.