정책 논리 단락 평가 - AWS 검증된 액세스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

정책 논리 단락 평가

특정 컨텍스트에 존재하거나 존재하지 않을 수 있는 데이터를 평가하는 AWS Verified Access 정책을 작성할 수도 있습니다. 존재하지 않는 컨텍스트의 데이터를 참조하는 경우 Cedar는 오류를 생성하고 사용자의 의도와 상관없이 정책을 평가하여 액세스를 거부합니다. 예를 들어, 이 컨텍스트에 fake_provider와(과) bogus_key이(가) 존재하지 않으므로 거부로 이어질 수 있습니다.

permit(principal, action, resource) when { context.fake_provider.bogus_key > 42 };

이러한 상황을 방지하려면 has 연산자를 사용하여 키가 있는지 확인할 수 있습니다. has 연산자가 거짓을 반환하면 연결된 문장에 대한 추가 평가가 중단되고 Cedar는 존재하지 않는 항목을 참조하려고 시도하면서 오류를 발생하지 않습니다.

permit(principal, action, resource) when { context.identity.user has "some_key" && context.identity.user.some_key > 42 };

이는 서로 다른 두 신뢰 공급자를 참조하는 정책을 지정할 때 가장 유용합니다.

permit(principal, action, resource) when { // user is in an allowed group context.aws_idc.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107" &&( ( // if CrowdStrike data is present, // permit if CrowdStrike's overall assessment is over 50 context has "crowdstrike" && context.crowdstrike.assessment.overall > 50 ) || ( // if Jamf data is present, // permit if Jamf's risk score is acceptable context has "jamf" && ["LOW", "NOT_APPLICABLE", "MEDIUM", "SECURE"].contains(context.jamf.risk) ) ) };