Chiffrez votre moteur de AgentCore politiques à l'aide d'une clé KMS gérée par le client
Policy in AgentCore fournit un chiffrement par défaut pour protéger les données sensibles des clients au repos à l'aide de clés de chiffrement AWS détenues. En tant que couche de protection supplémentaire, Policy in vous AgentCore permet de chiffrer vos moteurs de politiques à l'aide des AWS clés gérées par le client (CMK) du Key Management Service (AWS KMS). Cette fonctionnalité garantit la protection des données sensibles grâce au chiffrement au repos, ce qui vous permet de :
-
Réduisez la charge opérationnelle du point de vue du service afin de protéger les données sensibles
-
Gardez le contrôle sur les personnes autorisées à consulter les détails de vos politiques d'autorisation via vos propres clés gérées par le client AWS KMS
-
Créer des applications sécurisées qui répondent aux exigences réglementaires et de conformité strictes en matière de chiffrement
Les sections suivantes expliquent comment configurer le chiffrement pour les nouveaux moteurs de politiques et comment gérer vos clés de chiffrement.
Note
La politique de AgentCore chiffrement au repos est disponible dans toutes les AWS régions où la politique d' AgentCore entrée est disponible.
AWS Types de clés KMS pour Policy in AgentCore
Policy in AgentCore s'intègre à AWS KMS pour gérer les clés de chiffrement utilisées pour chiffrer et déchiffrer les données des clients. Pour en savoir plus sur les types et les états des clés, consultez les concepts du service de gestion des AWS clés dans le guide du développeur AWS KMS. Lorsque vous créez un nouveau moteur de politiques, vous pouvez choisir parmi les types de clés AWS KMS suivants pour chiffrer vos données :
AWS clé possédée
Type de chiffrement par défaut. Policy in AgentCore détient la clé sans frais supplémentaires pour vous et chiffre les données des ressources au repos lors de leur création. Aucune configuration supplémentaire n'est requise dans votre code ou dans vos applications pour chiffrer ou déchiffrer vos données à l'aide de la clé détenue par Policy in. AgentCore Vous n'avez pas besoin de consulter, de gérer, d'utiliser ou d'auditer ces clés. Pour plus d'informations, consultez la section sur les clés AWS détenues dans le guide du développeur AWS KMS.
Clé gérée par le client
Vous créez, détenez et gérez la clé de votre AWS compte. Vous avez le contrôle total de la clé KMS. AWS Les frais KMS s'appliquent aux clés gérées par le client. Pour plus d'informations, consultez la page de tarification AWS KMS
Lorsque vous spécifiez une clé gérée par le client pour le chiffrement d'un moteur de politiques, Policy in AgentCore chiffre le moteur de politiques et toutes ses ressources dérivées (politiques, générations de politiques) avec cette clé. Pour chiffrer un moteur de politiques à l'aide d'une clé gérée par le client, vous devez autoriser l'accès à Policy AgentCore dans votre politique de clé. Une politique clé est une politique basée sur les ressources que vous associez à votre clé gérée par le client pour contrôler l'accès à celle-ci. Consultez Autoriser l'utilisation de votre clé AWS KMS pour Policy in AgentCore pour plus de détails.
En outre, pour créer un moteur de politique chiffré avec une clé gérée par le client, ou pour effectuer des appels d'API vers un moteur de politique chiffré par une clé gérée par le client, l'utilisateur ou le rôle IAM qui effectue l'appel doit également avoir accès à la clé. Si Policy in AgentCore ne parvient pas à accéder à la clé, toute décision d'autorisation impliquant des ressources chiffrées par cette clé sera refusée. Lorsque vous n'avez pas accès à la clé, vous ne pouvez pas lire, mettre à jour ou supprimer les ressources chiffrées par cette clé, et tout appel de création visant à utiliser la clé à des fins de chiffrement échouera.
Important
Une fois qu'une clé gérée par le client a été utilisée pour chiffrer un moteur de politiques, vous NE POUVEZ PAS mettre à jour la ressource pour utiliser une autre clé pour le chiffrement ou supprimer la clé de ce moteur de politiques.
Utilisation AWS KMS et clés de données avec politique intégrée AgentCore
La fonctionnalité Politique de AgentCore chiffrement au repos utilise une clé KMS et une hiérarchie de clés de données pour protéger les données de vos ressources.
Note
Policy in ne AgentCore prend en charge que les clés AWS KMS symétriques. Vous ne pouvez pas utiliser une clé KMS asymétrique pour chiffrer votre politique dans AgentCore les ressources.
Policy in AgentCore utilise un modèle basé sur les subventions pour accéder à votre clé gérée par le client. Lorsque vous créez un moteur de politiques avec une clé gérée par le client, Policy in AgentCore exécute les étapes suivantes :
-
Policy in AgentCore valide la clé pour s'assurer qu'il s'agit d'une clé de chiffrement symétrique, qu'elle est utilisée et qu'elle est en bon état.
ENCRYPT_DECRYPTEnabled -
Policy in AgentCore crée deux subventions AWS KMS en votre nom. Pour créer ces subventions, réglez les AgentCore appels en
kms:CreateGrantutilisant votre identité par le biais d'une session d'accès direct (FAS). Étant donné que l'CreateGrantappel est effectué avec vos informations d'identification via FAS, votre politique de clés AWS KMS doit accorderkms:CreateGrantl'autorisation au principal de votre AWS compte (et non à un principal de service). Les subventions elles-mêmes permettent ensuite à Policy in AgentCore d'effectuer des opérations cryptographiques en votre nom sans avoir à impliquer davantage l'appelant. -
Toutes les données relatives aux politiques (politiques, générations de politiques et ressources associées dans le moteur de politiques) sont chiffrées à l'aide de votre clé gérée par le client.
Les deux subventions ont des objectifs différents :
- Subvention pour la gestion des politiques
-
Utilisé pour gérer les données relatives aux politiques. Cette subvention permet de chiffrer, de déchiffrer et de générer des opérations clés de données pour créer, lire, mettre à jour et supprimer des politiques et des ressources connexes.
- Subvention pour l'évaluation des politiques
-
Utilisé pour l'évaluation des politiques d'exécution. Cette subvention autorise les opérations de déchiffrement et de rechiffrement afin que le moteur de politiques puisse évaluer les politiques de Cedar par rapport aux demandes d'autorisation entrantes.
Les deux autorisations sont limitées par le contexte de chiffrement utilisant la cléaws:bedrock-agentcore-policy:policy-engine-arn, qui lie les autorisations à la ressource spécifique du moteur de politiques.
Lorsque vous supprimez un moteur de politiques avec une clé gérée par le client, Policy in retire AgentCore automatiquement les deux autorisations.
Important
Si vous devez révoquer des subventions manuellement, révoquez toujours à la fois la subvention de gestion des politiques et celle d'évaluation des politiques. La révocation d'une seule autorisation ne supprime pas complètement l'accès du service à votre clé et peut entraîner un comportement incohérent. Vous pouvez consulter et gérer les autorisations pour votre clé à l'aide de la console AWS KMS ou de la commande list-grants AWS CLI.
Autoriser l'utilisation de votre AWS Clé KMS pour Policy in AgentCore
Pour utiliser une clé gérée par le client avec Policy in AgentCore, votre politique de clé AWS KMS doit accorder des autorisations à votre AWS compte. Lorsque vous créez un moteur de politiques, appliquez une politique dans AgentCore les appels kms:CreateGrant en utilisant votre identité via une session d'accès direct (FAS). Par conséquent, la politique des clés doit accorder les autres autorisations requises au principal de votre compte (kms:CreateGrantet non à un principal de service) et utilise kms:ViaService cette condition pour garantir que la clé est uniquement utilisée via Policy in AgentCore.
Policy in AgentCore nécessite au minimum les autorisations suivantes sur une clé gérée par le client :
-
kms:CreateGrant— Créez des autorisations pour le chiffrement, le déchiffrement, la génération de clés de données, le rechiffrement et décrivez les opérations clés -
kms:Decrypt— Décrypte les données chiffrées avec la clé -
kms:GenerateDataKey— Génère des clés de données pour chiffrer les données relatives aux politiques -
kms:DescribeKey— Récupère les métadonnées clés pour valider la configuration des clés
Comprendre le contexte de la source
Le contexte source fournit des informations sur l'appelant source qui tente d'effectuer des actions AWS KMS sur une clé donnée. Cela permet d'éviter toute confusion ou toute utilisation abusive des données cryptées en liant le contexte à la source des données.
Lorsque Policy in AgentCore effectue des opérations AWS KMS par le biais de subventions en votre nom, le contexte source identifie la politique de la AgentCore ressource à l'origine de la demande. Vous pouvez utiliser le contexte source comme condition supplémentaire pour les opérations basées sur les subventions dans votre politique clé afin de limiter l'utilisation des clés aux demandes provenant de comptes ou de ressources spécifiques.
Note
Les conditions du contexte source (aws:SourceAccountetaws:SourceArn) sont disponibles pour les opérations AWS KMS basées sur des subventions, mais pas pour l'kms:CreateGrantappel, qui utilise une session d'accès direct.
Par exemple, vous pouvez ajouter aws:SourceAccount des aws:SourceArn conditions aux opérations KMS et aux instructions de validation dans votre politique clé afin de garantir que ces opérations n'aboutissent que lorsque la demande provient de votre compte et des ressources de votre moteur de politiques :
{ "Sid": "Allow Policy for KMS operations with source context", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:111122223333:policy-engine/*", "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }
Cette politique clé permet AgentCore à Policy in de passer des appels AWS KMS en votre nom par le biais de subventions, si le compte source est le même que celui dans lequel réside cette clé KMS. Ces valeurs doivent être vérifiables lors de la CloudTrail vérification des journaux d'audit pour la clé KMS. Pour plus d'informations sur les clés de AWS condition globales, consultez la section Utilisation des clés de SourceAccount condition aws : SourceArn ou aws : dans le guide du développeur AWS KMS.
Compréhension des km : ViaService
La clé de kms:ViaService condition limite l'utilisation d'une clé KMS aux demandes provenant de AWS services spécifiques. Cette clé de condition s'applique aux sessions d'accès direct (FAS). Pour plus d'informations surkms:ViaService, voir kms : ViaService dans le guide du développeur AWS KMS.
Dans la politique clé, la kms:ViaService valeur suit le formatbedrock-agentcore.REGION.amazonaws.com, où se REGION trouve la AWS région dans laquelle votre moteur de politique est créé (par exemple,bedrock-agentcore.us-east-1.amazonaws.com).
Comprendre le contexte de chiffrement
Le contexte de chiffrement est un ensemble de paires clé-valeur qui contiennent des données authentifiées supplémentaires pour les contrôles d'intégrité du chiffrement. Lorsque vous incluez un contexte de chiffrement dans une demande de chiffrement de données, AWS KMS lie cryptographiquement le contexte de chiffrement aux données chiffrées. Pour déchiffrer les données, vous devez transmettre le même contexte de chiffrement. Pour plus d'informations, consultez la section Contexte du chiffrement dans le guide du développeur AWS KMS.
Policy in AgentCore utilise le contexte de chiffrement suivant dans toutes les opérations de chiffrement AWS KMS et peut être vérifié dans les CloudTrail journaux lorsque Policy in AgentCore effectue des appels AWS KMS en votre nom pour les processus de chiffrement et de déchiffrement :
{ "aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:policy-engine/POLICY_ENGINE_ID" }
Vous pouvez utiliser ce contexte de chiffrement dans vos conditions de politique de clé afin de limiter les moteurs de stratégie autorisés à utiliser la clé. Par exemple, la politique clé décrite dans la section suivante utilise une kms:EncryptionContext condition pour autoriser l'utilisation de la clé uniquement pour les ressources du moteur de politiques.
Complet AWS Politique de clé KMS
Sur la base des concepts décrits dans les sections précédentes, l'exemple de politique clé suivant fournit les autorisations nécessaires pour chiffrer un moteur de politique et utiliser un moteur de politique chiffré. La politique contient des clés de condition conformes aux meilleures pratiques de sécurité.
Important
Remplacez les valeurs suivantes dans la politique clé :* 111122223333 — Remplacez par votre numéro de AWS compte * us-east-1 — Remplacez par votre AWS région
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Policy to create grants", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com", "kms:GrantConstraintType": "EncryptionContextSubset" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ] } } }, { "Sid": "Allow Policy for KMS operations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:bedrock-agentcore-policy:policy-engine-arn": "arn:aws*:bedrock-agentcore:*:*:policy-engine/*" } } }, { "Sid": "Allow Policy for KMS validation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "bedrock-agentcore.us-east-1.amazonaws.com" } } } ] }
La politique contient les déclarations suivantes :
- Autoriser la politique à créer des subventions
-
Permet à l'appelant de créer des autorisations AWS KMS lors de la création d'un moteur de politiques. La
kms:GrantConstraintTypecondition garantit que les autorisations sont limitées par le contexte de chiffrement. LaForAllValues:StringEqualsconditionkms:GrantOperationslimite l'octroi aux seules opérations cryptographiques requises par Policy in AgentCore . - Politique d'autorisation pour les opérations KMS
-
Permet à l'appelant de déchiffrer et de générer des opérations de clé de données via Policy in. AgentCore La condition de contexte de chiffrement garantit que ces opérations sont limitées aux ressources du moteur de politiques.
- Politique d'autorisation pour la validation KMS
-
Permet à l'appelant de décrire la clé via Policy in AgentCore. Cette autorisation est utilisée lors de la création du moteur de politiques pour valider que la clé répond aux exigences (utilisation symétrique, activée, correcte de la clé).
Important
Faites preuve de prudence lorsque vous modifiez les politiques relatives aux clés AWS KMS pour les clés déjà utilisées par Policy in AgentCore. Si vous supprimez par inadvertance les autorisations nécessaires de la politique clé, Policy in ne AgentCore sera plus en mesure de déchiffrer les données de politique et toutes les décisions d'autorisation seront refusées. Toutes les opérations nécessitant l'accès aux données chiffrées (telles que la création, la lecture, la mise à jour ou la suppression de politiques) échoueront également.
Conditions préalables au chiffrement de votre moteur de politiques
Avant de chiffrer votre moteur de politiques, 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 dans le guide du développeur AWS KMS.
-
La clé KMS doit être une clé de chiffrement symétrique avec utilisation des
ENCRYPT_DECRYPTclés. -
La clé KMS doit être à l'état Activé.
-
La clé KMS est associée à une politique clé qui accorde les autorisations requises. Reportez-vous AWS à la section Politique de clé KMS complète pour connaître la politique de clé requise.
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 AWS KMS.
Création d'un moteur de politiques chiffré
Avant de créer un moteur de politique chiffré, assurez-vous que la clé gérée par le client que vous utilisez comporte les déclarations de politique clés appropriées définies pour Policy in AgentCore afin d'utiliser la clé pour le chiffrement et le déchiffrement. Consultez Autoriser l'utilisation de votre clé AWS KMS pour Policy in AgentCore pour connaître les autorisations requises.
Pour chiffrer votre moteur de politiques à l'aide de la AWS CLI, incluez le --encryption-key-arn paramètre lors de l'envoi d'une create-policy-engine demande :
aws bedrock-agentcore-control create-policy-engine \ --name "MyPolicyEngine" \ --description "Policy engine with customer-managed encryption" \ --encryption-key-arn "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
La réponse inclut l'ARN et le statut du moteur de politiques :
{ "policyEngineId": "MyPolicyEngine-abc123", "name": "MyPolicyEngine", "description": "Policy engine with customer-managed encryption", "policyEngineArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/MyPolicyEngine-abc123", "status": "CREATING", "statusReasons": [], "encryptionKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdAt": "2026-02-24T12:00:00Z", "updatedAt": "2026-02-24T12:00:00Z" }
Note
Si la clé KMS utilisée par votre moteur de politique est supprimée, désactivée ou inaccessible en raison d'une politique de clé AWS KMS incorrecte, le déchiffrement des ressources échouera. Cela peut entraîner le refus de décisions d'autorisation. La perte d'accès peut être temporaire (une politique de clé peut être corrigée) ou permanente (une clé supprimée ne peut pas être restaurée) selon les circonstances. Nous vous recommandons de restreindre l'accès aux opérations critiques telles que la suppression ou la désactivation de la clé KMS. Nous recommandons également à votre organisation de mettre en place des procédures d'accès AWS rapides pour garantir que vos utilisateurs privilégiés puissent y accéder AWS dans le cas peu probable où Policy in serait AgentCore inaccessible.
Limitations
Les limites suivantes s'appliquent au chiffrement des clés géré par le client pour les moteurs de politiques :
-
Vous ne pouvez pas désactiver le chiffrement pour un moteur de politiques une fois activé.
-
Une fois que vous avez créé un moteur de politiques sans chiffrement, vous ne pouvez pas le mettre à jour pour qu'il soit chiffré par une clé gérée par le client.
-
Une fois que vous avez créé un moteur de politiques avec une clé gérée par le client, vous ne pouvez pas modifier la clé ni la supprimer de ce moteur de politiques. Vous devez créer un nouveau moteur de politiques pour utiliser une clé différente.
-
Le chiffrement des clés géré par le client est configuré au niveau du moteur de politiques. Toutes les ressources du moteur de politiques, y compris les politiques et les générations de politiques, sont chiffrées à l'aide de la même clé gérée par le client que le moteur de politiques. Vous ne pouvez pas spécifier de clés différentes pour des ressources individuelles au sein d'un moteur de politiques.
-
Une fois que vous avez révoqué AgentCore l'accès de Policy in à une clé gérée par le client pour un moteur de politique chiffré existant, toutes les décisions d'autorisation seront refusées car le moteur de politique ne peut plus déchiffrer les données de politique.
Résolution des problèmes
Cette section décrit les erreurs courantes liées aux clés gérées par le client que vous pouvez rencontrer lors de l'utilisation de Policy dans AgentCore et fournit des étapes de dépannage pour les résoudre.
Accès refusé : AWS Problème d'autorisation KMS
Erreur : « Accès refusé pour la clé KMS spécifiée. Vérifiez que la politique clé accorde les autorisations requises. »
Cela peut signifier que l'appelant ne dispose pas des autorisations d'action kms : * requises dans sa politique IAM ou sa politique de clé AWS KMS, ou que la clé référencée n'existe pas ou n'existe plus.
Pour résoudre ce problème, procédez comme suit :
-
Vérifiez que l'ARN de la clé KMS est correct et que la clé existe dans la région spécifiée.
-
Vérifiez que la politique relative aux clés AWS KMS inclut les instructions requises. Voir la politique complète AWS en matière de clés KMS.
-
Vérifiez que la politique IAM de l'appelant inclut les autorisations AWS KMS requises (
kms:CreateGrant,,kms:Decryptkms:GenerateDataKey,kms:DescribeKey). -
Vérifiez CloudTrail les
kms.amazonaws.comévénements pour identifier quelle opération a été refusée et quel principal l'a tentée.
Exception de validation : AWS Configuration de la clé KMS
Erreur : « La clé KMS spécifiée n'est pas utilisable. Vérifiez que la clé est activée et qu'elle n'est pas en attente de suppression. »
Cela signifie que la clé référencée ne peut pas être utilisée pour le chiffrement de clé géré par le client en raison de sa configuration actuelle. Les raisons possibles sont les suivantes :
-
La clé est désactivée ou en attente de suppression.
-
La clé n'est pas une clé de chiffrement symétrique.
-
La clé n'est pas
ENCRYPT_DECRYPTutilisée.
Pour résoudre ce problème : vérifiez que la clé répond aux conditions requises décrites dans Conditions préalables au chiffrement de votre moteur de politiques.