View a markdown version of this page

정책 생성 및 업데이트: 정책별 엔진 검증 - Amazon Bedrock AgentCore

정책 생성 및 업데이트: 정책별 엔진 검증

정책을 직접 생성하거나 업데이트할 때(생성이 아님) 검증 및 분석은 새 정책과 정책 엔진의 모든 기존 정책과의 상호 작용을 고려합니다.

작동 방식

  1. 정책은 정책 엔진과 연결된 모든 게이트웨이의 Cedar 스키마에 대해 확인됩니다. 스키마 검사는 검증 모드에 관계없이 항상 실행됩니다.

  2. 검증 모드가 로 설정된 경우 FAIL_ON_ANY_FINDINGS의미 체계 검증은 전체 정책 엔진의 컨텍스트에서 실행되어 지나치게 허용적이고 지나치게 제한적이며 비효율적인 정책을 확인합니다. 스키마 검사 또는 의미 검증에서 조사 결과가 생성되면 정책이 거부됩니다. 각 검사에 대한 자세한 내용은 검증 및 분석 개요를 참조하세요.

참고

에서는 스키마 검사IGNORE_ALL_FINDINGS만 실행됩니다. 스키마 검사를 통과하면 정책이 수락됩니다. 자세한 내용은 정책 엔진에 정책 추가를 참조하세요.

예: 검증을 사용하여 정책 생성

조사 결과가 포함된 정책을 거부하는 엄격한 검증으로 정책을 생성합니다.

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

응답은 정책이 생성 중임을 나타냅니다.

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

정책 상태를 확인하여 검증이 통과되었는지 확인합니다.

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

검증이 통과되면 정책이 활성화됩니다.

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

예: 검증 실패

정책이 연결된 게이트웨이의 스키마에 없는 작업을 참조하면 검증이 실패합니다.

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

정책 상태를 확인하면 응답에 검증 실패가 표시됩니다.

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