View a markdown version of this page

Creación y actualización de políticas: validación por motor de políticas - Amazon Bedrock AgentCore

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

Al crear o actualizar políticas directamente (no mediante la 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á configurado enFAIL_ON_ANY_FINDINGS, la validación semántica se ejecuta en el contexto de todo el motor de políticas, comprobando si hay políticas demasiado permisivas, demasiado restrictivas e ineficaces. Si se comprueba el esquema o se obtienen resultados mediante la validación semántica, se rechaza la política. Para obtener más información sobre cada comprobación, consulte Descripción general 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 del 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 con cualquier resultado:

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

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

Compruebe el estado de la política para confirmar que se ha superado 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 se 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);" } }'

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