Verschlüsseln Sie Ihr AgentCore Gateway mit einem vom Kunden verwalteten KMS-Schlüssel
Standardmäßig verschlüsselt Gateway Ihre Daten im Ruhezustand mithilfe eines vom Service verwalteten AWS Key Management Service-Schlüssels. Sie können jedoch optional Ihren eigenen, vom Kunden verwalteten KMS-Schlüssel für die Verschlüsselung von Daten im Ruhezustand bereitstellen, wenn Sie:
-
Erstellen Sie ein Gateway.
-
Aktualisieren Sie die Konfigurationen eines Gateways.
Durch die Verwendung eines vom Kunden verwalteten Schlüssels haben Sie mehr Kontrolle über den Verschlüsselungsprozess, einschließlich der folgenden Möglichkeiten:
-
Rotieren Sie den Schlüssel nach Ihrem eigenen Zeitplan
-
Steuern Sie den Zugriff auf den Schlüssel mithilfe von IAM-Richtlinien
-
Deaktivieren oder löschen Sie den Schlüssel, wenn er nicht mehr benötigt wird
-
Prüfen Sie die Schlüsselnutzung anhand von CloudWatch Protokollen und AWS CloudTrail
Weitere Informationen finden Sie im AWS Key Management Service Developer Guide.
Anmerkung
Wenn Sie sich dafür entscheiden, einen vom Kunden verwalteten Schlüssel zu verwenden, sind Sie für die Verwaltung des Schlüssels und seiner Berechtigungen verantwortlich. Wenn der Schlüssel deaktiviert oder gelöscht wird oder wenn Gateway die Erlaubnis zur Verwendung des Schlüssels verliert, verlieren Sie den Zugriff auf die verschlüsselten Daten.
Voraussetzungen für die Verschlüsselung Ihres Gateways AgentCore
Stellen Sie vor der Verschlüsselung Ihres Gateways sicher, dass Sie die folgenden Voraussetzungen erfüllt haben:
-
Sie haben Zugriff auf einen KMS-Schlüssel. Informationen zum Erstellen eines KMS-Schlüssels finden Sie unter Erstellen eines KMS-Schlüssels.
-
Dem KMS-Schlüssel ist eine Schlüsselrichtlinie zugeordnet, die die folgenden Berechtigungen ermöglicht:
-
Berechtigungen, die es der Gateway-Dienstrolle ermöglichen, die folgenden Aktionen auszuführen:
-
km: CreateGrant
-
km: DescribeKey
-
kms:Decrypt
-
km: GenerateDataKey
-
-
(Wenn Sie CloudWatch Logs für Ihr Gateway aktivieren) Berechtigungen, die es dem CloudWatch Logs-Dienst ermöglichen, den Schlüssel zu entschlüsseln.
Weitere Informationen zur Steuerung der IAM-Berechtigungen für einen KMS-Schlüssel finden Sie unter KMS-Schlüsselzugriff und -berechtigungen im AWS Key Management Service Developer Guide.
-
Beispiel für eine Schlüsselrichtlinie
Die folgende Beispielrichtlinie bietet die erforderlichen Berechtigungen, um ein Gateway zu verschlüsseln und ein verschlüsseltes Gateway zu verwenden. Die vierte Anweisung ermöglicht auch die CloudWatch Protokollierung der Schlüsselnutzung für das verschlüsselte Gateway. Die Richtlinie enthält Bedingungsschlüssel, um den bewährten Sicherheitsmethoden zu entsprechen.
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowServiceRoleDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] } } }, { "Sid": "AllowServiceRoleDecryptKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowServiceRoleCreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/GatewayServiceRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "bedrock-agentcore.us-east-1.amazonaws.com" ], "kms:GrantConstraintType": "EncryptionContextSubset" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey" ] }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-gateway:arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/GatewayId" } } }, { "Sid": "AllowKMSDecryptionLogging", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:SourceArn": "arn:aws:logs:us-east-1:123456789012:*" } } } ] }
Die Richtlinie enthält die folgenden Aussagen:
-
AllowServiceRoleDescribeKKey— Ermöglicht dem angegebenen Principal, den Schlüssel zu beschreiben, wenn die Anfrage über den AgentCore Dienst gestellt wird. Ersetzen Sie Werte in den folgenden Feldern:
-
Principal— Ersetzen Sie denAWSWert durch den tatsächlichen ARN Ihrer Gateway-Servicerolle. -
Condition— Ersetzen Sie imkms:ViaServiceArrayus-east-1durch die tatsächliche AWS Region, für die der Schlüssel beschrieben werden soll.
-
-
AllowServiceRoleDecryptKey— Ermöglicht dem angegebenen Principal, den Schlüssel zu entschlüsseln, wenn die Anfrage über den AgentCore Dienst gestellt wird und wenn der ARN des Gateways, an den die Anfrage gestellt wird, mit dem in dem
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnFeld übereinstimmt. Ersetzen Sie die folgenden Werte:-
Principal— Ersetzen Sie denAWSWert durch den tatsächlichen ARN Ihrer Gateway-Servicerolle. -
Condition— Gehen Sie wie folgt vor:-
Ersetzen Sie es im
kms:ViaServiceArrayus-east-1durch die tatsächliche AWS Region, für die Sie zulassen möchten, dass der Schlüssel entschlüsselt wird. -
Ersetzen Sie den
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnWert durch den tatsächlichen ARN Ihres Gateways.
-
-
-
AllowServiceRoleCreateGrant— Ermöglicht dem angegebenen Principal, einen Grant für einen Schlüssel zu erstellen, wenn die Anfrage über den AgentCore Service gestellt wird und wenn der ARN des Gateways, an den die Anfrage gestellt wird, mit dem in dem
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnFeld übereinstimmt. Ersetzen Sie die folgenden Werte:-
Principal— Ersetzen Sie denAWSWert durch den tatsächlichen ARN Ihrer Gateway-Servicerolle. -
Condition— Gehen Sie wie folgt vor:-
Ersetzen Sie es im
kms:ViaServiceArrayus-east-1durch die tatsächliche AWS Region, für die Sie zulassen möchten, dass der Schlüssel entschlüsselt wird. -
Ersetzen Sie den
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnWert durch den tatsächlichen ARN Ihres Gateways (falls Sie dies zulassen möchten).
-
-
-
AllowKMSDecryptionLogging— Ermöglicht dem angegebenen Prinzipal, einen vom Kunden verwalteten KMS-Schlüssel zu entschlüsseln, um die Schlüsselnutzung anhand CloudWatch von Protokollen zu überprüfen. Ersetzen Sie im
kms:EncryptionContext:SourceArnWert die123456789012Werteus-east-1und durch Ihre tatsächliche AWS Region und Konto-ID.