View a markdown version of this page

Verschlüsselung im Ruhezustand für AgentCore Evaluierungen - Amazon Grundgestein AgentCore

Verschlüsselung im Ruhezustand für AgentCore Evaluierungen

Anmerkung

Auf dieser Seite wird die vom Kunden verwaltete Schlüsselverschlüsselung für benutzerdefinierte Evaluatoren behandelt. Informationen zur Datensatzverschlüsselung finden Sie unter Datensatzverschlüsselung.

Verschlüsselungsoptionen

Amazon Bedrock AgentCore Evaluations verschlüsselt standardmäßig alle Daten im Ruhezustand mit einem AWS eigenen Schlüssel ohne zusätzliche Kosten. Sie können die Verwendung dieses Schlüssels nicht einsehen, verwalten oder überprüfen.

Optional können Sie sensible Evaluator-Daten mit einem vom Kunden verwalteten Schlüssel verschlüsseln. Wenn Sie einen vom Kunden verwalteten AWS KMS-Schlüssel in einem benutzerdefinierten Evaluator angeben, verschlüsselt der Service die Anweisungen und die Bewertungsskala des Evaluators mithilfe der Umschlagverschlüsselung mit dem Encryption SDK. AWS Alle anderen Evaluator-Metadaten (Name, Ebene, Modellkonfiguration, Status) bleiben mit dem eigenen Schlüssel verschlüsselt. AWS

Durch die Verwendung eines vom Kunden verwalteten Schlüssels haben Sie mehr Kontrolle über den Verschlüsselungsprozess und können unter anderem:

  • Den Schlüssel erstellen und verwalten, einschließlich der Festlegung wichtiger Richtlinien

  • Rotieren Sie den Schlüssel nach Ihrem eigenen Zeitplan

  • Deaktivieren oder löschen Sie den Schlüssel, um den Zugriff auf verschlüsselte Daten zu kontrollieren

  • Überprüfen Sie die Verwendung des Schlüssels durch AWS CloudTrail

Weitere Informationen finden Sie unter Vom Kunden verwaltete Schlüssel im AWS Key Management Service Developer Guide.

Wie AgentCore Evaluations einen vom Kunden verwalteten KMS-Schlüssel verwendet

Wenn Sie einen vom Kunden verwalteten Schlüssel in einem benutzerdefinierten Evaluator angeben, verwendet der Service die Anmeldeinformationen des Anrufers (über Forward Access Sessions), um die Anweisungen und die Bewertungsskala des Evaluators zu verschlüsseln und zu entschlüsseln. Der Anrufer muss über Berechtigungenkms:GenerateDataKey, und für den Schlüssel kms:Decrypt verfügen. kms:DescribeKey

Bei der Online-Evaluierung entschlüsselt der Dienst die Anweisungen des Evaluators asynchron mit seinem eigenen Dienstprinzipal (). bedrock-agentcore.amazonaws.com Der Dienstprinzipal muss in der Schlüsselrichtlinie über die kms:Decrypt entsprechende Berechtigung verfügen.

Anmerkung

AgentCore Für Evaluierungen werden keine KMS-Zuschüsse oder Cache-Datenschlüssel verwendet. Konfigurationen für die Online-Evaluierung akzeptieren keinen kmsKeyArn Parameter — sie übernehmen die CMK-Verschlüsselung von den Evaluatoren, auf die sie verweisen.

Konfiguration eines vom Kunden verwalteten KMS-Schlüssels

AgentCore Evaluations unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Der KMS-Schlüssel muss sich in derselben AWS Region wie der Evaluator befinden. Informationen zum Erstellen eines symmetrischen KMS-Schlüssels finden Sie unter Erstellen von KMS-Schlüsseln mit symmetrischer Verschlüsselung im AWS Key Management Service Developer Guide.

Konfiguration von Berechtigungen zur Verwendung eines vom Kunden verwalteten KMS-Schlüssels

Die folgende wichtige Richtlinie bietet die Mindestberechtigungen, die für AgentCore Evaluierungen erforderlich sind. Die Richtlinie enthält drei Anweisungen:

  • AllowCallerAccess— Ermöglicht dem IAM-Benutzer oder der IAM-Rolle, den Schlüssel überDescribeKey, mit dem Gültigkeitsbereich von zu überprüfen. kms:ViaService

  • AllowCallerCryptoOps— Ermöglicht dem IAM-Benutzer oder der IAM-Rolle das Ver- und Entschlüsseln, je nach Umfang und Verschlüsselungskontext. kms:ViaService

  • AllowServicePrincipalDecrypt— Ermöglicht dem AgentCore Service Principal die Entschlüsselung während der Online-Evaluierung, abhängig von Quellkonto und Quell-ARN.

{ "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" } } } ] }

Die Richtlinie enthält die folgenden Aussagen:

  • AllowCallerAccess— Erteilt der IAM-Rolle eine kms:DescribeKey Berechtigung, die auf Anfragen beschränkt ist, die über den AgentCore Dienst gestellt wurden (). kms:ViaService 111122223333Ersetzen Sie es durch Ihre Konto-ID, MyEvaluationRole durch die IAM-Rolle oder den IAM-Benutzer, der die Evaluatoren verwaltet, und durch Ihre Region. us-east-1 AWS

  • AllowCallerCryptoOps— Gewährt die IAM-Rolle kms:GenerateDataKey und die kms:Decrypt entsprechenden Berechtigungen, abhängig vom kms:ViaService Geltungsbereich und dem Verschlüsselungskontext. aws:bedrock-agentcore:evaluatorArn Ersetzen Sie111122223333, MyEvaluationRoleus-east-1, und my-evaluator-id durch Ihre Werte. Um allen Evaluatoren in Ihrem Konto Zugriff zu gewähren, verwenden Sie einen Platzhalter mitStringLike:. arn:aws:bedrock-agentcore:us-east-1:111122223333:evaluator/ Beachten Sie, dass Sie bei der Verwendung eines Platzhalters den Bedingungsoperator von StringEquals bis ändern müssenStringLike, da er als wörtliches StringEquals Zeichen behandelt wird.

  • AllowServicePrincipalDecrypt— Erteilt dem AgentCore Dienstprinzipal die kms:Decrypt Erlaubnis, Evaluatordaten während der Ausführung der Online-Evaluierung zu entschlüsseln. Eingeschränkt nach Quellkonto und Quell-ARN (aws:SourceArn), um verwirrte Deputy-Angriffe zu verhindern. Ersetzen Sie us-east-1 und 111122223333 durch Ihre Region und Konto-ID.

Einen Evaluator mit einem vom Kunden verwalteten KMS-Schlüssel erstellen

Um einen benutzerdefinierten Evaluator zu verschlüsseln, geben Sie den kmsKeyArn Parameter beim Aufrufen an. CreateEvaluator

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

Ändern der Verschlüsselungskonfiguration eines vorhandenen Evaluators

Sie können die Verschlüsselungskonfiguration eines vorhandenen Evaluators wie folgt ändern: UpdateEvaluator

  • Verschlüsselung hinzufügen — Geben Sie eine für einen Evaluator kmsKeyArn an, der ohne einen Evaluator erstellt wurde. Der Dienst verschlüsselt die Anweisungen und die Bewertungsskala mit dem neuen Schlüssel.

  • Schlüssel drehen — Geben Sie einen anderen kmsKeyArn Schlüssel an. Der Dienst entschlüsselt die Daten mit dem alten Schlüssel und verschlüsselt sie erneut mit dem neuen Schlüssel. Der Anrufer muss über Berechtigungen für beide Schlüssel verfügen. Wenn der alte Schlüssel nicht verfügbar ist (deaktiviert, gelöscht oder fehlende Berechtigungen), schlägt das Update fehl.

Anmerkung

Sie können die vom Kunden verwaltete Schlüsselverschlüsselung nicht mehr aus einem Evaluator entfernen, nachdem sie hinzugefügt wurde.

Einschränkung des Zugriffs auf den vom Kunden verwalteten KMS-Schlüssel

Sie können den Verschlüsselungskontext verwenden, um den Zugriff auf den vom Kunden verwalteten Schlüssel einzuschränken. AgentCore Die Evaluierungen umfassen den folgenden Verschlüsselungskontext in allen KMS-Vorgängen:

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

Sie können diesen Verschlüsselungskontext in wichtigen Richtlinienbedingungen verwenden, um KMS-Operationen auf bestimmte Evaluatoren zu beschränken, wie in der AllowCallerCryptoOps Anweisung im obigen Beispiel für eine Schlüsselrichtlinie dargestellt. Beachten Sie, dass der Kontext eher aws:SourceArn für das Scoping als für den Verschlüsselungskontext AllowServicePrincipalDecrypt verwendet wird.

Überwachung, AgentCore Evaluationen, Interaktion mit AWS KMS

Sie können AWS CloudTrail damit die KMS-API-Anfragen verfolgen, die AgentCore Evaluations in Ihrem Namen stellt. Die folgenden CloudTrail Ereignisnamen erscheinen in Ihren Protokollen:

  • GenerateDataKey— Beim Erstellen oder Aktualisieren eines Evaluators mit einem vom Kunden verwalteten Schlüssel.

  • Decrypt— Beim Abrufen von Evaluatordaten, während der On-Demand-Evaluierung oder während der Online-Evaluierung.

  • DescribeKey— Bei der Überprüfung des Schlüssels bei der Erstellung, Aktualisierung oder Erstellung der Online-Evaluierungskonfiguration.

In den CloudTrail Protokolleinträgen enthält das requestParameters.encryptionContext Feld den aws:bedrock-agentcore:evaluatorArn ARN des Evaluators. Bei Anfragen, die der Dienstleiter während der Online-Evaluierung gestellt hat, wird das userIdentity.invokedBy Feld angezeigtbedrock-agentcore.amazonaws.com.

Weitere Informationen zur Überwachung der KMS-Nutzung finden Sie unter Protokollieren von AWS KMS-API-Aufrufen mit AWS CloudTrail im AWS Key Management Service Developer Guide.

Verhalten, wenn ein Schlüssel nicht mehr verfügbar ist

Wenn Sie Ihren vom Kunden verwalteten KMS-Schlüssel deaktivieren oder löschen oder wenn die Schlüsselrichtlinie nicht mehr die erforderlichen Berechtigungen gewährt:

  • GetEvaluator with ALL_DATA — Schlägt fehl, weil der Dienst die Anweisungen und die Bewertungsskala nicht entschlüsseln kann.

  • GetEvaluator with METADATA_ONLY — Erfolgreich, da keine KMS-Operationen erforderlich sind.

  • Evaluieren (auf Abruf) — Schlägt bei CMK-encrypted Evaluatoren fehl, da der Service die Anweisungen nicht entschlüsseln kann.

  • UpdateEvaluator (Schlüsselrotation) — Schlägt fehl, weil der Dienst die vorhandenen Daten mit dem nicht verfügbaren Schlüssel nicht entschlüsseln kann, bevor er mit dem neuen Schlüssel erneut verschlüsselt wird.

  • CreateOnlineEvaluationConfig / UpdateOnlineEvaluationConfig— Schlägt fehl, weil der Dienst den Anruferzugriff per Testlauf nicht validieren kann. kms:DescribeKey kms:Decrypt

  • Ausführung der Online-Evaluierung — Schlägt fehl, weil der Dienst die Anweisungen des Evaluators für die Bewertung nicht entschlüsseln kann.

  • DeleteEvaluator— Erfolgreich, da für das Löschen keine Entschlüsselung der Evaluatordaten erforderlich ist.

  • DeleteOnlineEvaluationConfig— Erfolgreich, weil für das Löschen kein KMS-Zugriff erforderlich ist.

Tipp

Verwenden Sie includedData=METADATA_ONLY on GetEvaluator , um Evaluator-Metadaten (Name, Ebene, Modellkonfiguration, Status) abzurufen, ohne dass KMS-Berechtigungen erforderlich sind. Dies ist nützlich für Überwachungs- und Inventarisierungsworkflows, wenn der Schlüssel nicht verfügbar ist.

Um den Zugriff wiederherzustellen, aktivieren Sie den Schlüssel erneut oder aktualisieren Sie die Schlüsselrichtlinie, um die erforderlichen Berechtigungen zu gewähren.

Anmerkung

Informationen zur vom Kunden verwalteten Schlüsselverschlüsselung für Datensätze finden Sie unter Datensatzverschlüsselung.