View a markdown version of this page

Creación y actualización de políticas: validación por motor de políticas - Base amazónica AgentCore

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación y actualización de políticas: validación por motor de políticas

Al crear o actualizar políticas directamente (no mediante generación), la validación y el análisis tienen en cuenta la nueva política, así como sus interacciones con todas las políticas preexistentes en el motor de políticas.

Funcionamiento

  1. La política se compara con el esquema de Cedar para todas las pasarelas asociadas al motor de políticas. Las comprobaciones de esquema siempre se ejecutan independientemente del modo de validación.

  2. Si el modo de validación está establecido enFAIL_ON_ANY_FINDINGS, la validación semántica se ejecuta en el contexto de todo el motor de políticas y comprueba si hay políticas demasiado permisivas, restrictivas e ineficaces. Si las comprobaciones del esquema o la validación semántica arrojan resultados, la política se rechaza. Para obtener más información sobre cada comprobación, consulte Descripción general Descripción general de la validación y el análisis de la validación y el análisis.

nota

ConIGNORE_ALL_FINDINGS, solo se ejecutan las comprobaciones de esquema. Las políticas se aceptan siempre que superen las comprobaciones de esquema. Para obtener más información, consulte Agregar políticas al motor de políticas.

Ejemplo: crear una política con validación

Cree una política con una validación estricta que rechace las políticas si detecta lo siguiente:

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 respuesta indica que se está creando la política:

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

Compruebe el estado de la política para confirmar que se ha realizado la validación:

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

Cuando se aprueba la validación, la política pasa a estar activa:

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

Ejemplo: error de validación

Si una política hace referencia a una acción que no existe en el esquema de ninguna puerta de enlace asociada, la validación falla:

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

Cuando compruebas el estado de la política, la respuesta muestra el error de validación:

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