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 inactives par défaut à l'aide d'une clé AWS détenue sans frais supplémentaires. Vous ne pouvez pas consulter, gérer ou auditer l'utilisation de cette clé.
Vous pouvez éventuellement chiffrer les données sensibles de l'évaluateur à 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 de l'évaluateur et l'échelle d'évaluation à 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 en définissant des politiques clés
-
Faites pivoter la clé selon votre propre horaire
-
Désactiver ou supprimer la clé pour contrôler l'accès aux données crypté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 des sessions d'accès direct) pour chiffrer et déchiffrer les instructions et l'échelle d'évaluation de l'évaluateur. L'appelant doit avoir kms:GenerateDataKeykms:Decrypt, et des kms:DescribeKey autorisations sur la clé.
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 directeur du service doit avoir kms:Decrypt l'autorisation requise 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 de chiffrement symétriques. 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é via
DescribeKey, dans le cadre défini par.kms:ViaService -
AllowCallerCryptoOps— Permet à l'utilisateur ou au rôle IAM de chiffrer et de déchiffrer, dans le cadre du contexte de
kms:ViaServicechiffrement. -
AllowServicePrincipalDecrypt— Permet au principal 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— Accorde l'
kms:DescribeKeyautorisation du rôle IAM, limitée aux demandes effectuées via le AgentCore service ()kms:ViaService.111122223333Remplacez-le par votre identifiant de compte,MyEvaluationRolepar le rôle ou l'utilisateur IAM qui gère les évaluateurs etus-east-1par votre AWS région. -
AllowCallerCryptoOps— Accorde le rôle
kms:GenerateDataKeyetkms:Decryptles autorisations IAM, dans le cadre dukms:ViaServicecontexte deaws:bedrock-agentcore:evaluatorArnchiffrement. Remplacez111122223333MyEvaluationRole,us-east-1, etmy-evaluator-idpar vos valeurs. Pour autoriser l'accès à tous les évaluateurs de votre compte, utilisez un caractère générique avecStringLike:.arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/Notez que lorsque vous utilisez un caractère générique, vous devez remplacer l'opérateur de condition par «StringEqualsà »StringLike, car il estStringEqualstraitécomme un caractère littéral. -
AllowServicePrincipalDecrypt— Accorde au AgentCore service principal 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 secondaires confuses. Remplacezus-east-1et111122223333par votre région et votre numéro 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
Modification de la configuration de chiffrement sur un évaluateur existant
Vous pouvez modifier la configuration du chiffrement sur un évaluateur existant en utilisant UpdateEvaluator:
-
Ajouter un chiffrement — Spécifiez un
kmsKeyArnsur un évaluateur créé sans un tel évaluateur. Le service chiffre les instructions et l'échelle d'évaluation à l'aide de la nouvelle clé. -
Touche de rotation — Spécifiez une autre touche
kmsKeyArn. Le service déchiffre les données avec l'ancienne clé et les chiffre à nouveau avec la nouvelle clé. L'appelant doit avoir des autorisations sur les deux touches. Si l'ancienne clé n'est pas disponible (désactivée, supprimée ou autorisations manquantes), la mise à jour échouera.
Note
Vous ne pouvez pas supprimer le chiffrement par clé géré par le client d'un évaluateur une fois qu'il a été ajouté.
Délimitation de 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 politique clés pour limiter les opérations KMS à des évaluateurs spécifiques, comme indiqué dans l'AllowCallerCryptoOpsénoncé de l'exemple de politique clé ci-dessus. Notez que cela est AllowServicePrincipalDecrypt utilisé aws:SourceArn à des fins de cadrage plutôt que de contexte de chiffrement.
Suivi de l'interaction AgentCore des évaluations avec AWS KMS
Vous pouvez l'utiliser AWS CloudTrail pour suivre les demandes d'API KMS qu' AgentCore Evaluations effectue 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 directeur 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é n'est plus disponible
Si vous désactivez ou supprimez votre clé KMS gérée par le client, ou si la politique en matière de clés 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.
-
Évaluation (à la demande) : échoue pour les CMK-encrypted é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
kms:DescribeKeyet lekms:Decryptdry-run. -
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— Succès car la suppression ne nécessite pas de déchiffrer les données de l'évaluateur.
-
DeleteOnlineEvaluationConfig— Succès car la suppression ne nécessite pas d'accès KMS.
Astuce
Utilisez includedData=METADATA_ONLY on GetEvaluator pour récupérer les métadonnées de l'évaluateur (nom, niveau, configuration du modèle, statut) 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 relative aux clés 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.