사용할 경우 커스텀 액세스 수준의 다른 요구사항 외에 지정된 액세스 수준의 조건도 충족해야 합니다.
예:
levels.allow_corp_ips
여기서 allow_corp_ips는 액세스 수준의 이름입니다.
device 속성
이 섹션에는 device 객체에서 지원하는 속성이 나와 있습니다. 요청의 식별자와 연결된 기기가 없으면 다음 속성은 모두 오류로 평가됩니다.
속성
encryption_status
유형
열거형
설명
기기의 암호화 상태를 설명합니다.
열거형 값:
enumDeviceEncryptionStatus{// The encryption status of the device is not specified or not known.ENCRYPTION_UNSPECIFIED==0;// The device does not support encryption.ENCRYPTION_UNSUPPORTED==1;// The device supports encryption, but is currently unencrypted.UNENCRYPTED==2;// The device is encrypted.ENCRYPTED==3;}
enumOsType{// The operating system of the device is not specified or not known.OS_UNSPECIFIED==0;// A desktop Mac operating system.DESKTOP_MAC==1;// A desktop Windows operating system.DESKTOP_WINDOWS==2;// A desktop Linux operating system.DESKTOP_LINUX==3;// An Android operating system.ANDROID==4;// An iOS operating system.IOS==5;// A desktop ChromeOS operating system.DESKTOP_CHROME_OS==6;}
vendors 객체는 서드 파티 보안 및 엔드포인트 관리 공급업체에서 제공하는 데이터에 액세스하는 데 사용됩니다. 각 공급업체는 3개의 공유 최상위 속성(is_compliant_device, is_managed_device, device_health_score)을 채울 수 있습니다.
또한 공급업체는 data 속성을 사용하여 참조하는 자체 키와 값을 제공할 수 있습니다.
data 속성에 사용할 수 있는 키는 공급업체마다 다릅니다. 정책 표현식의 키 값을 비교할 때 일관적이어야 합니다. 예를 들어 키 값이 문자열 또는 부울일 것으로 예상된다면 그에 맞게 정책 표현식의 문자열 또는 부울과 비교해야 합니다. 값이 정수인 경우 정책 표현식의 Double 숫자와 비교해야 합니다.
열거형 값:
// Health score of the device as provided by the vendor (possibly third party).enumDeviceHealthScore{// The health score for the device is not specified or unknown.DEVICE_HEALTH_SCORE_UNSPECIFIED=0;// The health of the device is very poor.VERY_POOR=1;// The health of the device is poor.POOR=2;// The health of the device is ok.NEUTRAL=3;// The health of the device is good.GOOD=4;// The health of the device is very good.VERY_GOOD=5;}
원본과 연결된 인증서의 디지털 지문을 반환합니다. 매크로에서 이를 사용하여 기기 인증서를 테스트할 수 있습니다.
예시:
// Checks if the enterprise certificate associated with the origin matches the device.device.certificates.exists(cert,cert.is_valid && cert.cert_fingerprint==origin.clientCertFingerprint())
CEL 표현식 매크로
커스텀 액세스 수준의 CEL 표현식에 다음 매크로를 사용할 수 있습니다.
매크로
설명
has(e.f)
필드를 사용할 수 있는지 여부를 테스트합니다. 자세한 내용은 필드 선택을 참조하세요. 예를 들면 다음과 같습니다.
e 목록의 모든 요소 또는 e 맵의 키에 대한 조건자를 보존하는지 여부를 테스트합니다. 여기서 x는 요소 또는 키에 결합되는 p에서 사용되는 식별자입니다. all() 매크로는 요소별 조건자 결과를 and(&&) 연산자와 결합하므로 조건자가 false로 평가되면 매크로에서 다른 조건자의 오류를 무시하고 false로 평가합니다. 예를 들면 다음과 같습니다.
일부 요소가 1보다 크지 않으므로 false가 반환됩니다. [1,2,3].all(x, x > 1)
e.exists(x, p)
all() 매크로와 비슷하지만 조건자 결과를 or(||) 연산자와 결합합니다. 예를 들면 다음과 같습니다.
목록에 1보다 큰 요소가 하나 이상 있으므로 true를 반환합니다. [1,2,3].exists(x, x > 1)
exists() 매크로와 비슷하지만 정확히 요소 또는 키 하나의 조건자가 true로 평가되고 나머지가 false인 경우에만 true로 평가됩니다. 다른 불리언 결과 조합은 false로 평가되며 조건자 오류가 발생하면 매크로로 인해 오류가 발생합니다. 예를 들면 다음과 같습니다.
2개 이상의 요소가 1보다 크므로 false를 반환합니다. [1,2,3].exists_one(x, x > 1)
CEL 표현식 예시
이 섹션에는 커스텀 액세스 수준을 만드는 데 사용되는 CEL 표현식의 예시가 포함되어 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-12-21(UTC)"],[],[]]