View a markdown version of this page

Creazione e aggiornamento delle politiche: convalida del motore per policy - Amazon Bedrock AgentCore

Creazione e aggiornamento delle politiche: convalida del motore per policy

Quando si creano o si aggiornano le politiche direttamente (non tramite la generazione), la convalida e l'analisi tengono conto della nuova politica e delle sue interazioni con tutte le politiche preesistenti nel motore delle politiche.

Come funziona

  1. La policy viene verificata rispetto allo schema Cedar per tutti i gateway associati al policy engine. I controlli dello schema vengono sempre eseguiti indipendentemente dalla modalità di convalida.

  2. Se la modalità di convalida è impostata suFAIL_ON_ANY_FINDINGS, la convalida semantica viene eseguita nel contesto dell'intero motore delle politiche, verificando la presenza di politiche eccessivamente permissive, eccessivamente restrittive e inefficaci. Se i controlli dello schema o la convalida semantica producono risultati, la policy viene rifiutata. Per i dettagli su ogni controllo, consulta Panoramica sulla convalida e l'analisi.

Nota

ConIGNORE_ALL_FINDINGS, vengono eseguiti solo i controlli dello schema. Le politiche sono accettate purché superino i controlli dello schema. Per ulteriori informazioni, consulta Aggiungere politiche al Policy Engine.

Esempio: creare una politica con convalida

Crea una politica con una convalida rigorosa che rifiuti le politiche con qualsiasi risultato:

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 risposta indica che la politica è in fase di creazione:

{ "policyId": "RestrictRefunds-ghi789", "status": "CREATING" }

Controlla lo stato della politica per confermare che la convalida è stata superata:

aws bedrock-agentcore-control get-policy \ --policy-engine-id MyEngine-abc123 \ --policy-id RestrictRefunds-ghi789

Una volta completata la convalida, la policy diventa attiva:

{ "policyId": "RestrictRefunds-ghi789", "status": "ACTIVE", "statusReasons": [] }

Esempio: errore di convalida

Se una policy fa riferimento a un'azione che non esiste nello schema di alcun gateway associato, la convalida fallisce:

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);" } }'

Quando si controlla lo stato della politica, la risposta mostra l'errore di convalida:

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" ] }