View a markdown version of this page

Chiffrez votre AgentCore passerelle à l'aide d'une clé KMS gérée par le client - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Chiffrez votre AgentCore passerelle à l'aide d'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 calendrier

  • Contrôlez l'accès à la clé via des politiques IAM

  • Désactivez ou supprimez la clé lorsqu'elle n'est plus nécessaire

  • Auditez l'utilisation des clés via CloudWatch des 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, voir Création d'une clé KMS.

  • La clé KMS est associée à une politique de clé qui autorise les autorisations suivantes :

    • Autorisations qui permettent 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 et autorisations aux clés KMS 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 l'enregistrement dans CloudWatch les journaux de l'utilisation des clés pour la passerelle cryptée. La politique contient des clés conditionnelles pour se conformer 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 via le AgentCore service. Remplacez les valeurs dans les champs suivants :

    • Principal— Remplacez la AWS valeur par l'ARN réel de votre rôle de service de passerelle.

    • Condition— Dans le kms:ViaService tableau, us-east-1 remplacez-la par AWS la région pour laquelle vous souhaitez autoriser la description de la clé.

  • AllowServiceRoleDecryptKey— Autorise le principal spécifié à déchiffrer la clé si la demande est effectuée via le AgentCore service et si l'ARN de la passerelle à laquelle la demande est envoyée correspond à celui du kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn champ. Remplacez les valeurs suivantes :

    • Principal— Remplacez la AWS valeur par l'ARN réel de votre rôle de service de passerelle.

    • Condition— Procédez comme suit :

      • Dans le kms:ViaService tableau, us-east-1 remplacez-la par la AWS région réelle pour laquelle vous souhaitez autoriser le déchiffrement de la clé.

      • Remplacez la kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn valeur 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 effectuée via le AgentCore service et si l'ARN de la passerelle vers laquelle la demande est faite correspond à celui du kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn champ. Remplacez les valeurs suivantes :

    • Principal— Remplacez la AWS valeur par l'ARN réel de votre rôle de service de passerelle.

    • Condition— Procédez comme suit :

      • Dans le kms:ViaService tableau, us-east-1 remplacez-la par la AWS région réelle pour laquelle vous souhaitez autoriser le déchiffrement de la clé.

      • Remplacez la kmsEncryptionContext:aws:bedrock-agentcore-gateway-arn valeur 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 de la clé via Logs. CloudWatch Dans la kms:EncryptionContext:SourceArn valeur, remplacez us-east-1 123456789012 les valeurs par votre AWS région et votre identifiant de compte actuels.

Exemple
Console
  1. ====== Pour chiffrer votre passerelle à l'aide d'une clé KMS gérée par le client

  2. Suivez les étapes de la console décrites dans Créer une AgentCore passerelle Amazon Bedrock et développez la section Clé KMS - optionnelle.

  3. Choisissez Personnaliser les paramètres de chiffrement (avancé).

  4. Sélectionnez une clé KMS et confirmez ses informations.

    Note

    Si vous ne voyez pas votre clé KMS, consultez les conditions préalables au chiffrement de votre AgentCore passerelle et vérifiez que les autorisations sont correctement configurées.

  5. Continuez à suivre les étapes restantes de la console.

CLI
  1. Pour chiffrer votre passerelle à l'aide de l' AWS interface de ligne de commande, incluez le kms-key-arn lorsque vous envoyez l'une des requêtes suivantes via un client AgentCore de plan de contrôle. :

    • créer une passerelle

    • passerelle de mise à jour

      L'exemple suivant montre un exemple de requête CLI pour créer une passerelle avec une clé AWS KMS spécifiée à l'aide de l'kms-key-arnargument :

      aws bedrock-agentcore-control create-gateway \ --name "MyGateway" \ --role-arn "arn:aws:iam::123456789012:role/GatewayRole" \ --protocol-type "MCP" \ --kms-key-arn "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --authorizer-type "CUSTOM_JWT" \ --authorizer-configuration '{ "customJWTAuthorizer": { "allowedAudience": ["myAudience"], "discoveryUrl": "https://example.com/.well-known/openid-configuration" } }'
Python (Boto3)
  1. Pour chiffrer votre passerelle à l'aide du SDK AWS Python (Boto3), incluez le kms-key-arn lorsque vous envoyez l'une des requêtes suivantes via un AgentCore client de plan de contrôle. :

    • créer_passerelle

    • update_gateway

      L'exemple suivant montre un exemple de requête Boto3 visant à créer une passerelle avec une clé AWS KMS spécifiée à l'aide de l'kmsKeyArnargument :

      import boto3 # Create client agentcore_client = boto3.client('bedrock-agentcore-control') # Create gateway and specify gateway = agentcore_client.create_gateway( name="MyGateway", roleArn="arn:aws:iam::123456789012:role/GatewayRole", protocolType="MCP", kmsKeyArn="arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" authorizerType="CUSTOM_JWT", authorizerConfiguration= { "customJWTAuthorizer": { "allowedAudience": ["myAudience"], "discoveryUrl": "https://example.com/.well-known/openid-configuration" } } )