View a markdown version of this page

Criação e atualização de políticas: validação por mecanismo de política - Base da Amazônia AgentCore

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação e atualização de políticas: validação por mecanismo de política

Ao criar ou atualizar políticas diretamente (não por meio da geração), a validação e a análise levam em conta a nova política, bem como suas interações com todas as políticas preexistentes no mecanismo de políticas.

Como funciona

  1. A política é verificada em relação ao esquema Cedar para todos os gateways associados ao mecanismo de política. As verificações de esquema sempre são executadas independentemente do modo de validação.

  2. Se o modo de validação estiver definido comoFAIL_ON_ANY_FINDINGS, a validação semântica será executada no contexto de todo o mecanismo de políticas, verificando políticas excessivamente permissivas, excessivamente restritivas e ineficazes. Se as verificações do esquema ou a validação semântica produzirem descobertas, a política será rejeitada. Para obter detalhes sobre cada verificação, consulte Visão geral de validação e análise.

nota

ComIGNORE_ALL_FINDINGS, somente verificações de esquema são executadas. As políticas são aceitas desde que passem pelas verificações do esquema. Para obter mais informações, consulte Adicionar políticas ao mecanismo de políticas.

Exemplo: criar uma política com validação

Crie uma política com validação rigorosa que rejeite políticas com qualquer descoberta:

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

A resposta indica que a política está sendo criada:

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

Verifique o status da política para confirmar que a validação foi aprovada:

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

Quando a validação é aprovada, a política se torna ativa:

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

Exemplo: falha na validação

Se uma política fizer referência a uma ação que não existe em nenhum esquema do gateway associado, a validação falhará:

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 você verifica o status da política, a resposta mostra a falha na validação:

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