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 ü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:DescribeKeyBerechtigung, die auf Anfragen beschränkt ist, die über den AgentCore Dienst gestellt wurden ().kms:ViaService111122223333Ersetzen Sie es durch Ihre Konto-ID,MyEvaluationRoledurch die IAM-Rolle oder den IAM-Benutzer, der die Evaluatoren verwaltet, und durch Ihre Region.us-east-1AWS -
AllowCallerCryptoOps— Gewährt die IAM-Rolle
kms:GenerateDataKeyund diekms:Decryptentsprechenden Berechtigungen, abhängig vomkms:ViaServiceGeltungsbereich und dem Verschlüsselungskontext.aws:bedrock-agentcore:evaluatorArnErsetzen Sie111122223333,MyEvaluationRoleus-east-1, undmy-evaluator-iddurch 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 vonStringEqualsbis ändern müssenStringLike, da erals wörtlichesStringEqualsZeichen behandelt wird. -
AllowServicePrincipalDecrypt— Erteilt dem AgentCore Dienstprinzipal die
kms:DecryptErlaubnis, 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 Sieus-east-1und111122223333durch 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
Ä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
kmsKeyArnan, 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
kmsKeyArnSchlü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:DescribeKeykms: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.