정책 생성 및 업데이트: 정책별 엔진 검증
정책을 직접 생성하거나 업데이트할 때(생성이 아님) 검증 및 분석은 새 정책과 정책 엔진의 모든 기존 정책과의 상호 작용을 고려합니다.
작동 방식
-
정책은 정책 엔진과 연결된 모든 게이트웨이의 Cedar 스키마에 대해 확인됩니다. 스키마 검사는 검증 모드에 관계없이 항상 실행됩니다.
-
검증 모드가 로 설정된 경우
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" ] }