View a markdown version of this page

Chiffrement au repos pour les AgentCore évaluations - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Chiffrement au repos pour les AgentCore évaluations

Note

Cette page couvre le chiffrement des clés géré par le client pour les évaluateurs personnalisés. Pour le chiffrement des ensembles de données, voir Chiffrement des ensembles de données.

Options de chiffrement

Amazon Bedrock AgentCore Evaluations chiffre toutes les données au repos par défaut à l'aide d'une clé AWS détenue, sans frais supplémentaires. Vous ne pouvez pas visualiser, gérer ou auditer l'utilisation de cette clé.

Vous pouvez éventuellement chiffrer les données sensibles des évaluateurs à l'aide d'une clé gérée par le client. Lorsque vous spécifiez une clé AWS KMS gérée par le client sur un évaluateur personnalisé, le service chiffre les instructions et l'échelle de notation de l'évaluateur à l'aide du chiffrement d'enveloppe avec le AWS SDK de chiffrement. Toutes les autres métadonnées de l'évaluateur (nom, niveau, configuration du modèle, statut) restent cryptées avec la clé AWS détenue.

L'utilisation d'une clé gérée par le client vous permet de mieux contrôler le processus de chiffrement, notamment de :

  • Création et gestion de la clé, notamment définition de politiques clés

  • Faites pivoter la clé selon votre propre calendrier

  • Désactivez ou supprimez la clé pour contrôler l'accès aux données chiffrées

  • Auditez l'utilisation des clés via AWS CloudTrail

Pour plus d'informations, consultez la section Clés gérées par le client dans le Guide du développeur du service de gestion des AWS clés.

Comment AgentCore Evaluations utilise une clé KMS gérée par le client

Lorsque vous spécifiez une clé gérée par le client sur un évaluateur personnalisé, le service utilise les informations d'identification de l'appelant (via les sessions d'accès direct) pour crypter et déchiffrer les instructions et l'échelle de notation de l'évaluateur. L'appelant doit disposer des kms:GenerateDataKey kms:DescribeKey autorisations et kms:Decrypt des autorisations sur la touche.

Pour l'évaluation en ligne, le service déchiffre les instructions de l'évaluateur de manière asynchrone à l'aide de son propre principal de service (). bedrock-agentcore.amazonaws.com Le responsable du service doit disposer kms:Decrypt d'une autorisation dans la politique clé.

Note

AgentCore Les évaluations n'utilisent pas les autorisations KMS ni les clés de données de cache. Les configurations d'évaluation en ligne n'acceptent aucun kmsKeyArn paramètre. Elles héritent du chiffrement CMK des évaluateurs auxquels elles font référence.

Configuration d'une clé KMS gérée par le client

AgentCore Les évaluations ne prennent en charge que les clés KMS à chiffrement symétrique. La clé KMS doit se trouver dans la même AWS région que l'évaluateur. Pour plus d'informations sur la création d'une clé KMS symétrique, consultez la section Création de clés KMS de chiffrement symétrique dans le Guide du développeur du service de gestion des AWS clés.

Configuration des autorisations pour utiliser une clé KMS gérée par le client

La politique clé suivante fournit les autorisations minimales requises pour les AgentCore évaluations. La stratégie comporte trois déclarations :

  • AllowCallerAccess— Permet à l'utilisateur ou au rôle IAM de valider la clé viaDescribeKey, scoped by. kms:ViaService

  • AllowCallerCryptoOps— Permet à l'utilisateur ou au rôle IAM de chiffrer et de déchiffrer, en fonction du périmètre et du contexte de kms:ViaService chiffrement.

  • AllowServicePrincipalDecrypt— Permet au responsable du AgentCore service de déchiffrer lors de l'évaluation en ligne, en fonction du compte source et de l'ARN source.

{ "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 politique contient les déclarations suivantes :

  • AllowCallerAccess— Octroie l'kms:DescribeKeyautorisation de rôle IAM, limitée aux demandes effectuées via le AgentCore service ()kms:ViaService. Remplacez-le 111122223333 par votre identifiant de compte, MyEvaluationRole par le rôle IAM ou l'utilisateur qui gère les évaluateurs et us-east-1 par votre AWS région.

  • AllowCallerCryptoOps— Octroie le rôle kms:GenerateDataKey et les kms:Decrypt autorisations IAM, en fonction de la portée kms:ViaService et du contexte de aws:bedrock-agentcore:evaluatorArn chiffrement. Remplacez 111122223333MyEvaluationRole,us-east-1, et my-evaluator-id par vos valeurs. Pour autoriser l'accès à tous les évaluateurs de votre compte, utilisez un caractère générique avec StringLike :. arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/ Notez que lorsque vous utilisez un caractère générique, vous devez modifier l'opérateur de condition de StringEquals àStringLike, car il est traité StringEquals comme un caractère littéral.

  • AllowServicePrincipalDecrypt— Accorde au responsable du AgentCore service l'kms:Decryptautorisation de déchiffrer les données de l'évaluateur lors de l'exécution de l'évaluation en ligne. Délimité par compte source et ARN source (aws:SourceArn) pour éviter les attaques confuses entre les adjoints. Remplacez us-east-1 et 111122223333 par votre région et votre identifiant de compte.

Création d'un évaluateur avec une clé KMS gérée par le client

Pour chiffrer un évaluateur personnalisé, spécifiez le kmsKeyArn paramètre lors de l'appel. CreateEvaluator

Exemple
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']}")

Modification de la configuration de chiffrement sur un évaluateur existant

Vous pouvez modifier la configuration de chiffrement d'un évaluateur existant en utilisant UpdateEvaluator  :

  • Ajouter un chiffrement  : spécifiez un kmsKeyArn sur un évaluateur qui a été créé sans chiffrement. Le service chiffre les instructions et l'échelle de notation avec la nouvelle clé.

  • Touche de rotation  : spécifiez une autre touchekmsKeyArn. Le service déchiffre les données à l'aide de l'ancienne clé et les rechiffre à l'aide de la nouvelle clé. L'appelant doit disposer des autorisations sur les deux touches. Si l'ancienne clé n'est pas disponible (autorisations désactivées, supprimées ou manquantes), la mise à jour échouera.

Note

Vous ne pouvez pas supprimer le chiffrement par clé gérée par le client d'un évaluateur une fois celui-ci ajouté.

Limiter l'accès à la clé KMS gérée par le client

Vous pouvez utiliser le contexte de chiffrement pour limiter l'accès à la clé gérée par le client. AgentCore Les évaluations incluent le contexte de chiffrement suivant dans toutes les opérations KMS :

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

Vous pouvez utiliser ce contexte de chiffrement dans des conditions de stratégie clés pour limiter les opérations KMS à des évaluateurs spécifiques, comme indiqué dans la AllowCallerCryptoOps déclaration de l'exemple de politique clé ci-dessus. Notez qu'il est AllowServicePrincipalDecrypt utilisé aws:SourceArn pour définir la portée plutôt que pour le contexte de chiffrement.

Interaction du suivi et AgentCore des évaluations avec AWS KMS

Vous pouvez l'utiliser AWS CloudTrail pour suivre les demandes d'API KMS effectuées par AgentCore Evaluations en votre nom. Les noms CloudTrail d'événements suivants apparaissent dans vos journaux :

  • GenerateDataKey— Lors de la création ou de la mise à jour d'un évaluateur avec une clé gérée par le client.

  • Decrypt— Lors de la récupération des données de l'évaluateur, lors d'une évaluation à la demande ou lors de l'exécution d'une évaluation en ligne.

  • DescribeKey— Lors de la validation de la clé lors de la création, de la mise à jour ou de la création de la configuration d'évaluation en ligne de l'évaluateur.

Dans les entrées du CloudTrail journal, le requestParameters.encryptionContext champ contient aws:bedrock-agentcore:evaluatorArn l'ARN de l'évaluateur. Pour les demandes faites par le responsable du service lors de l'évaluation en ligne, le userIdentity.invokedBy champ apparaîtbedrock-agentcore.amazonaws.com.

Pour plus d'informations sur la surveillance de l'utilisation de KMS, consultez la section Journalisation des appels d'API AWS KMS AWS CloudTrail dans le Guide du développeur du service de gestion des AWS clés.

Comportement lorsqu'une clé devient indisponible

Si vous désactivez ou supprimez votre clé KMS gérée par le client, ou si la politique de clé n'accorde plus les autorisations requises :

  • GetEvaluator with ALL_DATA — Échoue car le service ne peut pas déchiffrer les instructions et l'échelle de notation.

  • GetEvaluator with METADATA_ONLY — Réussite car aucune opération KMS n'est requise.

  • Evaluer (à la demande)  : échoue pour CMK-encrypted les évaluateurs car le service ne peut pas déchiffrer les instructions.

  • UpdateEvaluator (rotation des clés) — Échoue car le service ne peut pas déchiffrer les données existantes avec la clé non disponible avant de les rechiffrer avec la nouvelle clé.

  • CreateOnlineEvaluationConfig / UpdateOnlineEvaluationConfig— Échoue car le service ne peut pas valider l'accès de l'appelant via un mode kms:DescribeKey de fonctionnement à kms:Decrypt sec.

  • Exécution de l'évaluation en ligne  : échoue car le service ne peut pas déchiffrer les instructions de l'évaluateur pour la notation.

  • DeleteEvaluator— Réussite car la suppression ne nécessite pas de déchiffrer les données de l'évaluateur.

  • DeleteOnlineEvaluationConfig— Réussite car la suppression ne nécessite pas d'accès au KMS.

Astuce

Utilisez cette includedData=METADATA_ONLY option GetEvaluator pour récupérer les métadonnées de l'évaluateur (nom, niveau, configuration du modèle, état) sans avoir besoin d'autorisations KMS. Cela est utile pour surveiller et inventorier les flux de travail lorsque la clé n'est pas disponible.

Pour rétablir l'accès, réactivez la clé ou mettez à jour la politique de clé pour accorder les autorisations requises.

Note

Pour plus d'informations sur le chiffrement par clé géré par le client pour les ensembles de données, consultez la section Chiffrement des ensembles de données.