

# Verschlüsselung im Ruhezustand für AgentCore Evaluierungen
<a name="evaluations-encryption"></a>

**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](datasets-encryption.md).

## Verschlüsselungsoptionen
<a name="evaluations-encryption-options"></a>

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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) im * AWS Key Management Service Developer Guide*.

## Wie AgentCore Evaluations einen vom Kunden verwalteten KMS-Schlüssel verwendet
<a name="evaluations-encryption-how-it-works"></a>

Wenn Sie einen vom Kunden verwalteten Schlüssel in einem benutzerdefinierten Evaluator angeben, verwendet der Service die Anmeldeinformationen des Anrufers (über [Forward Access Sessions](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#fas)), um die Anweisungen und die Bewertungsskala des Evaluators zu verschlüsseln und zu entschlüsseln. Der Anrufer muss über Berechtigungen`kms: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
<a name="evaluations-encryption-configuring"></a>

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](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) im * AWS Key Management Service* Developer Guide.

### Konfiguration von Berechtigungen zur Verwendung eines vom Kunden verwalteten KMS-Schlüssels
<a name="evaluations-encryption-key-policy"></a>

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 über`DescribeKey`, 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` {{111122223333}}Ersetzen 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 Sie{{111122223333}}, {{MyEvaluationRole}}{{us-east-1}}, und {{my-evaluator-id}} durch Ihre Werte. Um allen Evaluatoren in Ihrem Konto Zugriff zu gewähren, verwenden Sie einen Platzhalter mit`StringLike`:. `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üssen`StringLike`, 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
<a name="evaluations-encryption-creating"></a>

Um einen benutzerdefinierten Evaluator zu verschlüsseln, geben Sie den `kmsKeyArn` Parameter beim Aufrufen an. [CreateEvaluator](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateEvaluator.html)

**Example**  

```
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"
        }
      }
    }
  }'
```

```
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
<a name="evaluations-encryption-changing"></a>

Sie können die Verschlüsselungskonfiguration eines vorhandenen Evaluators wie folgt ändern: [UpdateEvaluator](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_UpdateEvaluator.html)
+  **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
<a name="evaluations-encryption-scoping"></a>

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
<a name="evaluations-encryption-monitoring"></a>

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 angezeigt`bedrock-agentcore.amazonaws.com`.

Weitere Informationen zur Überwachung der KMS-Nutzung finden Sie unter [Protokollieren von AWS KMS-API-Aufrufen mit AWS CloudTrail](https://docs.aws.amazon.com/kms/latest/developerguide/logging-using-cloudtrail.html) im * AWS Key Management Service Developer Guide*.

## Verhalten, wenn ein Schlüssel nicht mehr verfügbar ist
<a name="evaluations-encryption-key-unavailable"></a>

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](datasets-encryption.md).