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.
Création et mise à jour des politiques : validation par moteur de politique
Lors de la création ou de la mise à jour de politiques directement (et non par génération), la validation et l'analyse prennent en compte la nouvelle politique ainsi que ses interactions avec toutes les politiques préexistantes dans le moteur de politiques.
Comment ça marche
-
La politique est vérifiée par rapport au schéma Cedar pour toutes les passerelles associées au moteur de politiques. Les vérifications de schéma sont toujours exécutées quel que soit le mode de validation.
-
Si le mode de validation est défini sur
FAIL_ON_ANY_FINDINGS, la validation sémantique s'exécute dans le contexte de l'ensemble du moteur de politiques, en vérifiant les politiques trop permissives, trop restrictives et inefficaces. Si des vérifications de schéma ou une validation sémantique produisent des résultats, la politique est rejetée. Pour plus de détails sur chaque contrôle, consultez la section Présentation de la validation et de l'analyse.
Note
AvecIGNORE_ALL_FINDINGS, seules les vérifications de schéma sont exécutées. Les politiques sont acceptées tant qu'elles réussissent les vérifications de schéma. Pour plus d'informations, voir Ajouter des politiques au moteur de politiques.
Exemple : création d'une politique avec validation
Créez une politique avec une validation stricte qui rejette les politiques avec tout résultat :
aws bedrock-agentcore-control create-policy \ --policy-engine-id MyEngine-abc123 \ --name RestrictRefunds \ --validation-mode FAIL_ON_ANY_FINDINGS \ --definition '{ "cedar": { "statement": "forbid(\n principal,\n action == Action::\"processRefund\",\n resource\n) when {\n context.amount > 1000\n};" } }'
La réponse indique que la politique est en cours de création :
{ "policyId": "RestrictRefunds-ghi789", "status": "CREATING" }
Vérifiez l'état de la politique pour confirmer que la validation est réussie :
aws bedrock-agentcore-control get-policy \ --policy-engine-id MyEngine-abc123 \ --policy-id RestrictRefunds-ghi789
Une fois la validation réussie, la politique devient active :
{ "policyId": "RestrictRefunds-ghi789", "status": "ACTIVE", "statusReasons": [] }
Exemple : échec de validation
Si une politique fait référence à une action qui n'existe pas dans le schéma d'une passerelle associée, la validation échoue :
aws bedrock-agentcore-control create-policy \ --policy-engine-id MyEngine-abc123 \ --name InvalidPolicy \ --validation-mode FAIL_ON_ANY_FINDINGS \ --definition '{ "cedar": { "statement": "permit(\n principal,\n action == Action::\"nonExistentTool\",\n resource\n);" } }'
Lorsque vous vérifiez l'état de la politique, la réponse indique l'échec de la validation :
aws bedrock-agentcore-control get-policy \ --policy-engine-id MyEngine-abc123 \ --policy-id InvalidPolicy-jkl012
{ "policyId": "InvalidPolicy-jkl012", "status": "CREATE_FAILED", "statusReasons": [ "Validation failed: Action 'nonExistentTool' is not defined in the schema for any associated gateway" ] }