View a markdown version of this page

Generación de políticas: validación por política - 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.

Generación de políticas: validación por política

Cuando se utiliza el servicio de creación de políticas para generar políticas a partir del lenguaje natural, la validación y el análisis se realizan por política individual durante la generación.

Funcionamiento

  1. El lenguaje natural se convierte en una política de Cedar

  2. Cada política generada se valida según el esquema de pasarela

  3. El análisis se ejecuta en cada política de forma individual

  4. Los resultados están disponibles en la respuesta de generación

Ejemplo: generar y validar una política

La recuperación de los resultados de la generación es un proceso de dos pasos: primero compruebe el estado de la generación y, a continuación, enumere los activos generados para ver las políticas y sus resultados de validación.

Inicie la generación de políticas:

aws bedrock-agentcore-control start-policy-generation \ --policy-engine-id MyEngine-abc123 \ --name RefundPolicy \ --content '{ "rawText": "Allow customer service agents to process refunds up to 500 dollars for orders placed within the last 30 days" }' \ --resource '{ "arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789" }'

La respuesta incluye un identificador y un estado de generación de políticas:

{ "policyGenerationId": "RefundPolicy-def456", "policyEngineId": "MyEngine-abc123", "status": "GENERATING" }

Compruebe el estado de generación medianteget-policy-generation:

aws bedrock-agentcore-control get-policy-generation \ --policy-engine-id MyEngine-abc123 \ --policy-generation-id RefundPolicy-def456

La respuesta muestra el estado general de la generación:

{ "policyGenerationId": "RefundPolicy-def456", "status": "GENERATED", "statusReasons": [] }

Una vez que el estado seaGENERATED, enumere los activos generados para recuperar las políticas y sus resultados de validación por política:

aws bedrock-agentcore-control list-policy-generation-assets \ --policy-engine-id MyEngine-abc123 \ --policy-generation-id RefundPolicy-def456

La respuesta incluye cada política generada con sus conclusiones de validación y definición de Cedar:

{ "policyGenerationAssets": [ { "policyGenerationAssetId": "asset-1", "definition": { "cedar": { "statement": "permit(\n principal is AgentCore::OAuthUser,\n action == AgentCore::Action::\"RefundTool___process_refund\",\n resource == AgentCore::Gateway::\"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789\"\n) when {\n context.input.amount <= 500\n};" } }, "findings": [ { "type": "VALID" } ], "rawTextFragment": "Allow customer service agents to process refunds up to 500 dollars" }, { "policyGenerationAssetId": "asset-2", "definition": { "cedar": { "statement": "permit(\n principal,\n action == AgentCore::Action::\"RefundTool___view_order_history\",\n resource\n);" } }, "findings": [ { "type": "ALLOW_ALL", "description": "Overly Permissive: Policy Engine will allow every request for the specified principal (AgentCore::OAuthUser), action (RefundTool___view_order_history) and resource (gateway/*) combination if the policy is added or updated" } ], "rawTextFragment": "Allow customer service agents to view order history" } ] }

Resultados de validación por política

Cada activo de política generado incluye una findings serie de Finding objetos, cada uno con una type ydescription. Los siguientes ejemplos muestran diferentes tipos de búsqueda:

Una política que ha pasado la validación y el análisis:

{ "findings": [ { "type": "VALID" } ] }

Una política marcada como demasiado permisiva:

{ "findings": [ { "type": "ALLOW_ALL", "description": "Overly Permissive: Policy Engine will allow every request for the specified principal (AgentCore::OAuthUser), action (RefundTool___view_order_history) and resource (gateway/*) combination if the policy is added or updated" } ] }

Una política que no se pudo generar a partir de la entrada en lenguaje natural:

{ "findings": [ { "type": "NOT_TRANSLATABLE", "description": "Unsupported Condition Error: The request includes conditions that rely on data or attributes currently not supported." } ] }

Hallazgos comunes para las políticas generadas

En la siguiente tabla se describen los tipos de hallazgos que se pueden devolver para las políticas generadas:

Tipo de resultado Gravedad Description (Descripción) Acción recomendada

VALID

Success

La política Cedar es válida y no se ha encontrado nada. No se devuelve ninguna descripción para este tipo de hallazgo.

No hay que hacer nada. La política está lista para usarse.

INVALID

Error

La política de Cedar generada contiene errores de sintaxis o no cumple con el esquema de la puerta de enlace.

Revise la política generada para ver si hay infracciones del esquema o problemas de sintaxis. Reformule la entrada en lenguaje natural y regenere.

NOT_TRANSLATABLE

Error

El lenguaje natural no se pudo convertir en un cedro válido. La solicitud puede incluir condiciones que se basen en datos o atributos no compatibles.

Compruebe dos veces el recurso de puerta de enlace objetivo para ver la definición de las herramientas.

ALLOW_ALL

Advertencia

La política de permisos se aplica a todas las combinaciones de principales, acciones y recursos.

Confirme que se pretende un acceso sin restricciones. Si no es así, añada condiciones para restringir el alcance.

ALLOW_NONE

Advertencia

La política de permisos no es determinante porque no permite nada.

Revise las condiciones de la póliza. La política puede contener condiciones contradictorias o inalcanzables.

DENY_ALL

Advertencia

La política niega todas las acciones a todos los directores.

Confirme que la intención es una denegación total. Esto anula todas las políticas de permisos debido a la semántica de prohibir, anular y permitir.

DENY_NONE

Advertencia

La política de prohibición no es determinante porque no niega nada.

Revisa las condiciones de la póliza. La política de prohibición puede contener condiciones contradictorias o inalcanzables.