Chiffrez votre AgentCore passerelle avec une clé KMS gérée par le client
Par défaut, Gateway chiffre vos données au repos à l'aide d'une clé de service de gestion des AWS clés gérée par le service. Toutefois, vous pouvez éventuellement fournir votre propre clé KMS gérée par le client pour chiffrer les données au repos lorsque vous :
-
Créez une passerelle.
-
Mettez à jour les configurations d'une passerelle.
L'utilisation d'une clé gérée par le client vous permet de mieux contrôler le processus de chiffrement, notamment de :
-
Faites pivoter la clé selon votre propre horaire
-
Contrôlez l'accès à la clé par le biais de politiques IAM
-
Désactiver ou supprimer la clé lorsqu'elle n'est plus nécessaire
-
Auditez l'utilisation des clés par le biais de CloudWatch journaux et AWS CloudTrail
Pour plus d'informations, consultez le Guide du développeur du service de gestion des AWS clés.
Note
Si vous choisissez d'utiliser une clé gérée par le client, vous êtes responsable de la gestion de la clé et de ses autorisations. Si la clé est désactivée ou supprimée, ou si Gateway perd l'autorisation d'utiliser la clé, vous perdrez l'accès aux données chiffrées.
Conditions préalables au chiffrement de votre passerelle AgentCore
Avant de chiffrer votre passerelle, assurez-vous de remplir les conditions préalables suivantes :
-
Vous avez accès à une clé KMS. Pour plus d'informations sur la création d'une clé KMS, consultez la section Création d'une clé KMS.
-
La clé KMS est associée à une politique clé qui autorise les autorisations suivantes :
-
Autorisations permettant au rôle de service de passerelle d'effectuer les actions suivantes :
-
km : CreateGrant
-
km : DescribeKey
-
kms:Decrypt
-
km : GenerateDataKey
-
-
(Si vous activez CloudWatch les journaux pour votre passerelle) Autorisations permettant au service CloudWatch Logs de déchiffrer la clé.
Pour plus d'informations sur le contrôle des autorisations IAM pour une clé KMS, consultez la section Accès aux clés KMS et autorisations dans le Guide du développeur du service de gestion des AWS clés.
-
Exemple de politique clé
L'exemple de politique suivant fournit les autorisations nécessaires pour chiffrer une passerelle et utiliser une passerelle cryptée. La quatrième instruction permet également d'enregistrer dans CloudWatch les journaux l'utilisation des clés pour la passerelle cryptée. La politique contient des clés de condition conformes aux meilleures pratiques de sécurité.
{ "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:*" } } } ] }
La politique contient les déclarations suivantes :
-
AllowServiceRoleDescribeKKey— Permet au principal spécifié de décrire la clé si la demande est faite par le biais du AgentCore service. Remplacez les valeurs dans les champs suivants :
-
Principal— Remplacez laAWSvaleur par l'ARN réel de votre rôle de service de passerelle. -
Condition— Dans lekms:ViaServicetableau,us-east-1remplacez-le par la AWS région pour laquelle vous souhaitez autoriser la description de la clé.
-
-
AllowServiceRoleDecryptKey— Permet au principal spécifié de déchiffrer la clé si la demande est faite via le AgentCore service et si l'ARN de la passerelle à laquelle la demande est faite correspond à celui du
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnchamp. Remplacez les valeurs suivantes :-
Principal— Remplacez laAWSvaleur par l'ARN réel de votre rôle de service de passerelle. -
Condition— Procédez comme suit :-
Dans le
kms:ViaServicetableau, remplacez-leus-east-1par la AWS région réelle pour laquelle vous souhaitez autoriser le déchiffrement de la clé. -
Remplacez la
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnvaleur par l'ARN réel de votre passerelle.
-
-
-
AllowServiceRoleCreateGrant— Permet au principal spécifié de créer une autorisation pour une clé si la demande est faite via le AgentCore service et si l'ARN de la passerelle à laquelle la demande est faite correspond à celui du
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnchamp. Remplacez les valeurs suivantes :-
Principal— Remplacez laAWSvaleur par l'ARN réel de votre rôle de service de passerelle. -
Condition— Procédez comme suit :-
Dans le
kms:ViaServicetableau, remplacez-leus-east-1par la AWS région réelle pour laquelle vous souhaitez autoriser le déchiffrement de la clé. -
Remplacez la
kmsEncryptionContext:aws:bedrock-agentcore-gateway-arnvaleur par l'ARN réel de votre passerelle (si vous souhaitez autoriser).
-
-
-
AllowKMSDecryptionLogging— Permet au principal spécifié de déchiffrer une clé KMS gérée par le client afin d'auditer l'utilisation des clés via les journaux. CloudWatch Dans la
kms:EncryptionContext:SourceArnvaleur, remplacezus-east-1et123456789012les valeurs par votre AWS région et votre identifiant de compte réels.