บทความนี้อธิบายกรณีการใช้งานสําหรับการเข้าถึงแบบ Context-Aware ที่มีนโยบายที่ใช้ระดับการเข้าถึงที่กําหนดเอง ในตัวอย่างเหล่านี้ คุณสร้างระดับการเข้าถึงที่กําหนดเองในโหมดขั้นสูงโดยใช้ Common Expressions Language (CEL)
คุณสามารถใช้ฟังก์ชันและมาโครเมื่อสร้างระดับการเข้าถึงที่กำหนดเองโดยใช้นิพจน์ CEL ได้เช่นกัน (หากต้องการ)
ดูตัวอย่างระดับการเข้าถึงที่พัฒนาในโหมดพื้นฐาน (โดยใช้อินเทอร์เฟซการเข้าถึงแบบ Context-Aware) ได้ที่หัวข้อตัวอย่างการเข้าถึงแบบ Context-Aware สําหรับโหมดพื้นฐาน
ตัวอย่างการตรวจสอบสิทธิ์
อนุญาตให้ผู้ใช้เข้าถึงตามความรัดกุมของข้อมูลเข้าสู่ระบบของผู้ใช้
เพื่อปรับปรุงความปลอดภัยในการเข้าถึงแอปพลิเคชันที่มีข้อมูลที่ละเอียดอ่อน คุณจะสามารถระบุวิธีที่ผู้ใช้ตรวจสอบสิทธิ์เข้าระบบเพื่อตัดสินว่าจะเข้าถึงแอปพลิเคชันได้หรือไม่
ตัวอย่างเช่น ผู้ใช้ที่เข้าสู่ระบบด้วยรหัสผ่านเพียงอย่างเดียวจะได้รับอนุญาตให้เข้าถึงแอปพลิเคชันที่ไม่มีข้อมูลที่ละเอียดอ่อนเท่านั้น ในขณะที่ผู้ใช้ที่ลงชื่อเข้าสู่ระบบด้วยคีย์ความปลอดภัยในฮาร์ดแวร์ซึ่งเป็นปัจจัยที่ 2 อาจได้รับอนุญาตให้เข้าถึงแอปพลิเคชันองค์กรที่ละเอียดอ่อนที่สุดได้
ระดับการเข้าถึงนี้ใช้แอตทริบิวต์ request.auth เพื่อยืนยันว่าผู้ใช้เข้าสู่ระบบโดยใช้ทั้งรหัสผ่านและคีย์ฮาร์ดแวร์สําหรับการยืนยันแบบ 2 ขั้นตอน และเข้าถึงแอปพลิเคชันที่มีความละเอียดอ่อนได้
request.auth.claims.crd_str.pwd == true && request.auth.claims.crd_str.hwk == true
อนุญาตการเข้าถึงให้กับผู้ใช้ที่มีข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่รัดกุม
มีหลายครั้งที่ผู้ดูแลระบบต้องการบังคับใช้การเข้าถึงทรัพยากรขององค์กรหลังจากที่ผู้ใช้ตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบที่รัดกุมแล้วเท่านั้น ตัวอย่างต่อไปนี้ใช้แอตทริบิวต์ levels และ request.auth ดังนี้
- หากผู้ใช้มาจากอุปกรณ์ขององค์กร ในกรณีนี้เมธอด MFA ไหนก็ได้ (ยกเว้น SMS) ก็เพียงพอแล้ว (เมธอดอาจเป็นข้อความ Push, คีย์ความปลอดภัยแบบฮาร์ดแวร์หรือซอฟต์แวร์ หรือรหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียวก็ได้)
- หากผู้ใช้มาจากอุปกรณ์ที่ไม่ใช่ขององค์กร ต้องใช้คีย์ความปลอดภัยแบบฮาร์ดแวร์หรือซอฟต์แวร์
// กำหนดให้ใช้ MFA พื้นฐาน (ไม่ใช่ SMS) ในอุปกรณ์ของบริษัทและคีย์ความปลอดภัย (ฮาร์ดแวร์หรือซอฟต์แวร์) หากไม่
levels.Require_Secure_Device &&
(
(
levels.Require_Corporate_Device &&
request.auth.claims.crd_str.mfa &&
!request.auth.claims.crd_str.sms
) ||
(
!levels.Require_Corporate_Device &&
(
request.auth.claims.crd_str.hwk || request.auth.claims.crd_str.swk
)
)
)
อนุญาตให้เข้าถึงแอปจากเซสชันที่เชื่อมโยงกับ DBSC เท่านั้น
จำกัดไว้สำหรับเว็บแอปบนเดสก์ท็อป และไม่สามารถใช้กับแอปบนมือถือหรือ API ได้
คุณสามารถปรับปรุงความปลอดภัยในการเข้าถึงแอปที่มีข้อมูลที่ละเอียดอ่อนได้โดยกำหนดให้ต้องใช้ข้อมูลเข้าสู่ระบบเซสชันที่ผูกกับอุปกรณ์ (DBSC) ซึ่ง DBSC จะเชื่อมโยงเซสชันของผู้ใช้กับอุปกรณ์เมื่อผู้ใช้ใช้เบราว์เซอร์ Chrome ใน Windows ซึ่งจะช่วยลดความเสี่ยงของการลักลอบใช้เซสชันได้อย่างมาก
ระดับการเข้าถึงนี้ใช้แอตทริบิวต์ request.auth เพื่อยืนยันว่าเซสชันของผู้ใช้เชื่อมโยงกับอุปกรณ์ที่เฉพาะเจาะจง หากเป็นเช่นนั้น ระบบจะให้สิทธิ์เข้าถึงแก่แอป หากไม่ใช่ (หมายความว่าเซสชันไม่ได้ผูกกับ DBSC) ระบบจะปฏิเสธการเข้าถึง
โปรดเปิด DBSC สำหรับบัญชีผู้ใช้ทั้งหมดที่อยู่ภายใต้ระดับการเข้าถึงนี้เพื่อหลีกเลี่ยงข้อผิดพลาด ดูรายละเอียดที่หัวข้อเปิดใช้ DBSC
ตั้งค่าระดับการเข้าถึงเป็นโหมดตรวจสอบก่อนเปิดโหมดทำงาน ในโหมดตรวจสอบ คุณสามารถทดสอบผลกระทบของการบังคับใช้ระดับการเข้าถึงได้โดยไม่ขัดขวางการเข้าถึงของผู้ใช้
ใช้นิพจน์ CEL นี้เพื่อสร้างระดับการเข้าถึงที่กําหนดเอง
request.auth.sessionBoundToDevice(origin) == true
ใช้นิพจน์ CEL นี้เพื่อบังคับใช้ DBSC เฉพาะในอุปกรณ์ Windows ที่มีเบราว์เซอร์ Chrome เวอร์ชัน 136 ขึ้นไป
!(device.os_type == OsType.DESKTOP_WINDOWS && device.chrome.versionAtLeast("136.0.0")) || request.auth.sessionBoundToDevice(origin) == true
ตัวอย่างอุปกรณ์
อนุญาตการเข้าถึงจากอุปกรณ์ตามสัญญาณที่รายงานโดยพาร์ทเนอร์ BeyondCorp Alliance
คุณสามารถใช้สัญญาณอุปกรณ์ที่พาร์ทเนอร์ BeyondCorp Alliance รายงานได้ ในตัวอย่างนี้ เราจะใช้ Lookout Software เป็นแอปพลิเคชัน
ระดับการเข้าถึงนี้จะใช้แอตทริบิวต์ device เพื่อยืนยันว่าอุปกรณ์ที่ใช้ในการเข้าถึง Google Workspace ได้รับการรายงานโดย Lookout ว่าเป็นไปตามนโยบาย และคะแนนสภาวะความพร้อมคือ "ดีมาก"
device.vendors["Lookout"].is_compliant_device == true && device.vendors["Lookout"].device_health_score == DeviceHealthScore.VERY_GOODอนุญาตสิทธิ์เข้าถึงจากเบราว์เซอร์ Chrome ที่มีการจัดการที่มีการอัปเดตล่าสุดเท่านั้น
ระดับการเข้าถึงนี้ใช้แอตทริบิวต์ device เพื่อยืนยันว่าผู้ใช้ใช้เบราว์เซอร์ Chrome ที่มีการจัดการเวอร์ชันล่าสุด และอนุญาตการเข้าถึงผ่านเบราว์เซอร์ดังกล่าวเท่านั้น
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_BROWSER_MANAGED && device.chrome.versionAtLeast("94.0.4606.81")อนุญาตการเข้าถึงโดยใช้ใบรับรองขององค์กร
คุณสามารถใช้ใบรับรองขององค์กรสําหรับอุปกรณ์ในระดับการเข้าถึงที่กําหนดเองเพื่อพิจารณาว่าอุปกรณ์เป็นทรัพย์สินขององค์กรหรือไม่ ระดับการเข้าถึงนี้ใช้แอตทริบิวต์ device สำหรับการยืนยันเนื้อหา อ่านการกำหนดค่าเงื่อนไขใบรับรองขององค์กรเพื่อดูข้อมูลและตัวอย่างเพิ่มเติม
อุปกรณ์เครื่องหนึ่งจะมีใบรับรองได้มากกว่า 1 รายการ ใบรับรองระดับองค์กรจะใช้ในระดับการเข้าถึงที่กําหนดเองโดยใช้มาโคร exists() เช่น
device.certificates.exists(cert, predicate)
ในตัวอย่างนี้ cert เป็นตัวระบุแบบง่ายๆ ที่จะใช้ในตัวแปร predicate เพื่อเชื่อมโยงกับใบรับรองขององค์กรสำหรับอุปกรณ์ มาโคร exists() จะรวมผลลัพธ์ของ predicate ต่อองค์ประกอบเข้ากับโอเปอเรเตอร์ or (||) มาโครจะแสดงผล true หากใบรับรองอย่างน้อย 1 รายการตรงกับนิพจน์ predicate
ตารางด้านล่างแสดงรายการแอตทริบิวต์ที่คุณสามารถใช้ในการสร้างนิพจน์ CEL เพื่อใช้กับระดับการเข้าถึงที่กําหนดเอง โปรดทราบว่าการเปรียบเทียบสตริงจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
| แอตทริบิวต์ | คำอธิบาย | ตัวอย่างนิพจน์ predicate (โดยที่ cert เป็น ตัวระบุของมาโคร) |
|---|---|---|
| is_valid |
เป็นจริงหากใบรับรองถูกต้องและไม่หมดอายุ |
cert.is_valid |
| cert_fingerprint | ลายนิ้วมือของใบรับรอง (SHA256 ที่ใช้การเข้ารหัส base64 แบบไม่มีอักขระแทรก) |
cert.cert_fingerprint == origin. clientCertFingerprint() |
| root_ca_fingerprint | ลายนิ้วมือของใบรับรอง CA ระดับรูทที่ใช้ในการลงนามใบรับรองนี้ (SHA256 ที่ใช้การเข้ารหัส base64 แบบไม่มีอักขระแทรก) |
cert.root_ca_fingerprint == "the_fingerprint" |
| ผู้ออกบัตร |
ชื่อผู้ออกใบรับรอง หากต้องการค้นหาชื่อผู้ออกใบรับรอง ให้เรียกใช้คําสั่งต่อไปนี้ใน cert $ openssl x509 -in ca_1.crt -noout สตริงผู้ออกใบรับรองที่ใช้ในระดับการเข้าถึงคือค่าย้อนกลับของเอาต์พุต และ "/" จะแทนที่ด้วยคอมมา เช่น EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN |
cert.issuer == "EMAILADDRESS=test_inter1 @beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN" |
| วัตถุ | ชื่อเรื่องของใบรับรอง (ชื่อขยายแบบเต็ม) |
cert.subject == "CA_SUB" |
| serial_number |
หมายเลขซีเรียลของใบรับรอง |
cert.serial_number == "123456789" |
| template_id | รหัสเทมเพลตของเทมเพลตใบรับรองส่วนขยาย X.509 สำหรับใบรับรอง (สตริง) |
cert.template_id == "1.3.6.1.4.1.311.21. 8.15608621.11768144. 5720724. 16068415.6889630.81. 2472537.7784047" |
ตัวอย่างของนโยบายที่ใช้กันทั่วไปมีดังนี้
ตรวจสอบว่าอุปกรณ์มีใบรับรองขององค์กรที่ถูกต้องซึ่งลงนามโดยใบรับรองรูทของบริษัท
device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
ตรวจสอบผู้ออกใบรับรองขององค์กรในอุปกรณ์
device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")
อนุญาตให้เข้าถึงอุปกรณ์ที่เปิดใช้การเข้ารหัสดิสก์และการล็อกหน้าจอ
ตัวอย่างนี้ใช้แอตทริบิวต์ device เพื่อเปิดใช้ทั้งการเข้ารหัสดิสก์และการล็อกหน้าจอ และผู้ดูแลระบบจะต้องอนุมัติอุปกรณ์ด้วย
โดยค่าเริ่มต้น อุปกรณ์ทั้งหมดที่สร้างโดยการยืนยันปลายทางจะได้รับอนุมัติ แต่ก็อาจมีบางกรณีที่คุณอาจต้องการบล็อกอุปกรณ์ เช่น เมื่ออุปกรณ์สูญหาย ในกรณีเหล่านี้ คุณอาจไม่ต้องการให้อุปกรณ์เหล่านี้เข้าถึงทรัพยากรของบริษัท
สำหรับตัวอย่างระดับการเข้าถึงอื่นๆ ในเอกสารนี้ ให้สมมติว่าระดับการเข้าถึงนี้มีชื่อเป็น Require_Secure_Device
// Require disk encryption and screen lock enabled
// This is applicable across all major platforms (Windows, Mac, Linux, CrOS, iOS, Android)
// This foundational and should be depended upon by all other access levels
device.encryption_status == DeviceEncryptionStatus.ENCRYPTED &&
device.is_secured_with_screenlock &&
device.is_admin_approved_device
อนุญาตให้เข้าถึงอุปกรณ์ที่ใช้เบราว์เซอร์ Chrome ซึ่งมีข้อกําหนดด้านความปลอดภัยพื้นฐาน
ในตัวอย่างนี้ ระดับการเข้าถึงจะใช้แอตทริบิวต์ device เพื่อกําหนดให้ใช้เบราว์เซอร์ Chrome ที่มีข้อกําหนดด้านความปลอดภัยขั้นพื้นฐาน
// กำหนดให้ Chrome ต้องได้รับการจัดการที่ระดับโปรไฟล์หรือเบราว์เซอร์ ต้องมี
// การรายงานเหตุการณ์ด้านความปลอดภัยที่เปิดใช้ และต้องเป็นเวอร์ชัน 97 ขึ้นไป
levels.Require_Secure_Device &&
(
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_BROWSER_MANAGED ||
device.chrome.management_state == ChromeManagementState.CHROME_MANAGEMENT_STATE_PROFILE_MANAGED
) &&
device.chrome.is_security_event_analysis_enabled &&
device.chrome.versionAtLeast("97")
อนุญาตให้เข้าถึงอุปกรณ์ที่ใช้เบราว์เซอร์ Chrome ที่มีข้อกําหนดด้านความปลอดภัย
ตัวอย่างนี้ใช้แอตทริบิวต์ device เพื่อกําหนดให้ผู้ใช้มาจากเบราว์เซอร์หรือโปรไฟล์ Chrome ที่มีการจัดการ และ Chrome ต้องเปิดเครื่องมือเชื่อมต่อการป้องกันภัยคุกคามและการคุ้มครองข้อมูลไว้ ตัวอย่างนี้ใช้แอตทริบิวต์ levels เพื่ออ้างถึงระดับการเข้าถึง "ต้องมี Chrome ที่มีการจัดการ" ที่อธิบายไว้ก่อนหน้านี้ ตัวอย่างต่อไปนี้จะสมมติว่าระดับการเข้าถึงแบบมีการพึ่งพาชื่อว่า Require_Managed_Chrome
// ต้องใช้ Chrome ที่มีการจัดการ (ขึ้นอยู่กับระดับการเข้าถึง "Require_Managed_Chrome")
// และต้องมีการตรวจสอบเนื้อหาสำหรับการดาวน์โหลด รวมถึงเปิดใช้การตรวจสอบ URL
levels.Require_Managed_Chrome &&
device.chrome.is_file_download_analysis_enabled &&
device.chrome.is_realtime_url_check_enabled
อนุญาตการเข้าถึงอุปกรณ์ของบริษัท
ข้อกําหนดในการควบคุมการเข้าถึงคือ ให้อนุญาตการเข้าถึงเฉพาะเมื่ออุปกรณ์มีการจัดการหรือบริษัทเป็นเจ้าของเท่านั้น มีหลายวิธีที่คุณสามารถตรวจสอบว่าอุปกรณ์เป็นของบริษัทหรือมีการจัดการหรือไม่ ซึ่งรวมถึง
- หากอุปกรณ์มีหมายเลขซีเรียลตรงกับหมายเลขที่อยู่ในระบบการจัดการเนื้อหาของบริษัท
- หากอุปกรณ์มีใบรับรองขององค์กรที่ถูกต้องที่ออกโดยบริษัท
แนวทางทั้งสองนี้สามารถใช้ในระดับการเข้าถึงที่กําหนดเองต่อไปนี้ซึ่งใช้แอตทริบิวต์ levels และ device เพื่อระบุว่าอุปกรณ์เป็นของบริษัทหรือมีการจัดการหรือไม่
// ระบบจะถือว่าอุปกรณ์เป็นขององค์กรหากเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้เป็นจริง
// 1. หากหมายเลขซีเรียลตรงกับสิ่งที่ผู้ดูแลระบบอัปโหลด
// 2. หากอุปกรณ์มีใบรับรองที่ถูกต้องซึ่งออกโดยองค์กร
levels.Require_Secure_Device &&
(
device.is_corp_owned_device ||
device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "SOME_ROOT_CA_FINGERPRINT")
)
ลายนิ้วมือคือไดเจสต์ SHA256 ที่ใช้การเข้ารหัส base64 แบบไม่มีอักขระแทรก (ในรูปแบบไบนารี) ของใบรับรองที่เข้ารหัส DER โดยสามารถสร้างสตริงได้จากใบรับรองในรูปแบบ PEM โดยใช้ขั้นตอนต่อไปนี้ด้วย openssl
$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha
อนุญาตให้เข้าถึงเมื่อข้อมูลอุปกรณ์จาก CrowdStrike เป็นข้อมูลล่าสุดเท่านั้น
- การประทับเวลา "ออกเมื่อ" (iat)
- การประทับเวลาการหมดอายุ (exp)
ระดับการเข้าถึงจะใช้แอตทริบิวต์ device เพื่อตรวจสอบว่าข้อมูล CrowdStrike เป็นข้อมูลล่าสุด โปรดทราบว่า Chrome Enterprise Premium มีความล่าช้าโดยเริ่มต้นที่ 90 นาทีสําหรับการใช้การประเมินใหม่จาก Falcon ZTA ดังนั้นจึงไม่ควรใช้ระยะเวลาที่น้อยกว่า 1 ชั่วโมง
// ตรวจสอบว่าเงื่อนไขอย่างใดอย่างหนึ่งต่อไปนี้เป็นจริงจาก Crowdstrike
// ต้องเป็นไปตามเงื่อนไขข้อใดข้อหนึ่งต่อไปนี้
// 1. อุปกรณ์ได้รับการประเมินภายใน 1 วันที่ผ่านมา
// 2. การประเมินยังไม่หมดอายุ (2 สัปดาห์นับตั้งแต่ iat ล่าสุด)
"CrowdStrike" ใน device.vendors && (
request.time - timestamp(device.vendors["CrowdStrike"].data["iat"]) < duration("1d") ||
timestamp(device.vendors["CrowdStrike"].data["exp"]) - request.time > duration("0m")
)
อนุญาตให้เข้าถึงเมื่อ BeyondCorp Alliance พิจารณาว่าอุปกรณ์เป็นไปตามข้อกำหนด
Chrome Enterprise Premium ทํางานร่วมกับพาร์ทเนอร์ระบบนิเวศ BeyondCorp Alliance หลายรายเพื่อผสานรวมสัญญาณและบริบทของอุปกรณ์เข้ากับโซลูชัน Chrome Enterprise Premium พาร์ทเนอร์สามารถแชร์แอตทริบิวต์กับ Chrome Enterprise Premium กี่รายการก็ได้ตามที่ต้องการ โดยที่ 1 ในนั้นคือ is_compliant_device ตัวอย่างต่อไปนี้ใช้แอตทริบิวต์ device เพื่อแสดงวิธีการที่เราตรวจสอบว่าพาร์ทเนอร์ BeyondCorp Alliance รายใดที่ผสานรวมกับ Chrome Enterprise Premium และพิจารณาว่าอุปกรณ์เป็นไปตามข้อกำหนดหรือไม่
มาโคร exists จะขยายนิพจน์สำหรับพาร์ทเนอร์ BeyondCorp Alliance แต่ละรายด้วยโอเปอเรเตอร์ || (หรือ)
// ตรวจสอบว่าพาร์ทเนอร์ BCA พิจารณาว่าอุปกรณ์เป็นไปตามข้อกำหนดหรือไม่
["CrowdStrike", "Tanium", "PANW", "Check Point", "Lookout"].exists(
v, v in device.vendors && device.vendors[v].is_compliant_device
)
อนุญาตให้เข้าถึงเมื่อสถานะการเปิดเครื่องที่ได้รับการยืนยันของ Android เป็นสีเขียว
ตัวอย่างนี้ใช้แอตทริบิวต์ device เพื่อตรวจสอบว่าอุปกรณ์ใช้ Android ในเวอร์ชันที่ปลอดภัย
การเปิดเครื่องที่ได้รับการยืนยันจะตรวจสอบว่าโค้ดที่เรียกใช้นั้นมาจากแหล่งที่มาที่เชื่อถือได้หรือไม่ (มักจะเป็น OEM ของอุปกรณ์) ไม่ใช่จากผู้โจมตีหรือจากความเสียหาย โปรดดูรายละเอียดที่หัวข้อการเปิดเครื่องที่ได้รับการยืนยัน
// Require green Android verified boot status
device.android_device_security.verified_boot == true
อนุญาตให้เข้าถึงอุปกรณ์ที่ผ่านการตรวจสอบการปฏิบัติตามข้อกำหนด CTS
ตัวอย่างนี้ใช้แอตทริบิวต์ device เพื่อกําหนดให้อุปกรณ์ผ่านการตรวจสอบการปฏิบัติตามข้อกําหนดของชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) โปรดดูรายละเอียดที่หัวข้อชุดเครื่องมือทดสอบความเข้ากันได้
// Require devices to pass CTS compliance checks
device.android_device_security.cts_profile_match == true
อนุญาตการเข้าถึงอุปกรณ์ที่เปิดใช้ฟีเจอร์ตรวจสอบแอปของ Google Play Protect
ตัวอย่างนี้ใช้แอตทริบิวต์ device เพื่อกําหนดให้อุปกรณ์เปิดใช้ฟีเจอร์ตรวจสอบแอปของ Google Play Protect
ยืนยันแอปจะสแกนแอปเพื่อหาภัยคุกคามเมื่อติดตั้งแอปนั้นจากแหล่งอื่นที่ไม่ใช่ Google Play และยังสแกนอุปกรณ์เพื่อหาแอปที่อาจเป็นอันตรายอยู่เป็นระยะด้วย ฟีเจอร์ตรวจสอบแอปเปิดอยู่โดยค่าเริ่มต้น สำหรับอุปกรณ์ที่อยู่ภายใต้การจัดการขั้นสูง คุณระบุได้ว่าจะให้ผู้ใช้ปิดฟีเจอร์นี้ได้หรือไม่ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อใช้การตั้งค่ากับอุปกรณ์เคลื่อนที่ Android
// Require devices to have Google Play Protect Verify Apps enabled
device.android_device_security.verify_apps_enabled == true
ไม่อนุญาตให้เข้าถึงอุปกรณ์ที่มีแอปที่อาจเป็นอันตราย
ตัวอย่างนี้ใช้แอตทริบิวต์ device เพื่อปฏิเสธการเข้าถึงอุปกรณ์ที่มีแอปที่อาจเป็นอันตราย ซึ่งแอปเหล่านี้มักเรียกว่ามัลแวร์ โปรดดูรายละเอียดในแอปที่อาจเป็นอันตราย (PHA)
// Deny access to devices that have potentially harmful appsandroid_device_security.has_potentially_harmful_apps != true
ตัวอย่างการเข้าถึงตามเวลา
อนุญาตการเข้าถึงสำหรับพนักงานที่ทำงานเป็นกะในช่วงที่เข้ากะเท่านั้น
องค์กรต่างๆ ต้องการปฏิบัติให้แน่ใจว่าพนักงานที่ทำงานเป็นกะจะสามารถเข้าถึงทรัพยากรของบริษัทได้ในช่วงที่เข้ากะเท่านั้น ระดับการเข้าถึงต่อไปนี้ใช้แอตทริบิวต์ levels เพื่อกําหนดกะ 3 กะในระหว่างวันจันทร์ถึงศุกร์
// กะที่ 1 - วันจันทร์ถึงวันศุกร์ เวลา 00:00 น. ถึง 08:00 น.
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
request.time.timeOfDay("America/Los_Angeles").between('00:00:00', '08:00:00')
// กะที่ 2 - วันจันทร์ถึงวันศุกร์ เวลา 08:00 น. ถึง 16:00 น.
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
request.time.timeOfDay("America/Los_Angeles").between('08:00:00', '16:00:00')
// กะที่ 3 - วันจันทร์ถึงวันศุกร์ เวลา 16:00 น. ถึง 00:00 น.
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
request.time.timeOfDay("America/Los_Angeles").between('16:00:00', '00:00:00')
// อนุญาตให้พนักงานที่ทำงานเป็นกะเข้าถึงทรัพยากรได้ตั้งแต่วันจันทร์ถึงศุกร์ เวลา 9:00 - 17:00 น. ยกเว้นวันที่ 4 กรกฎาคม
levels.Require_Secure_Device &&
request.time.getDayOfWeek("America/Los_Angeles") >= 1 &&
request.time.getDayOfWeek("America/Los_Angeles") <= 5 &&
!(
request.time.getMonth("America/Los_Angeles") == 6 &&
request.time.getDayOfMonth("America/Los_Angeles") == 3
) &&
request.time.timeOfDay("America/Los_Angeles").between('09:30:00', '17:00:00')
อนุญาตการเข้าถึงชั่วคราว
ในบางครั้งองค์กรอาจต้องการอนุญาตการเข้าถึงแบบปลดล็อกการควบคุมกรณีฉุกเฉิน เมื่อผู้ดูแลระบบไม่มีสิทธิ์เข้าถึงอุปกรณ์ที่ปลอดภัย แต่ต้องการการเข้าถึงในกรณีฉุกเฉินเป็นระยะเวลาสั้นๆ
ในกรณีนี้ ให้สร้างระดับการเข้าถึงที่มีข้อจำกัดด้านเวลาและสถานที่โดยใช้แอตทริบิวต์ levels และมอบสิทธิ์การเข้าถึงดังกล่าวให้กับผู้ดูแลระบบเป็นรายบุคคล เมื่อมีการมอบหมายระดับการเข้าถึงนี้ ระดับการเข้าถึงดังกล่าวจะมีผลในช่วงเวลาที่ระบุเท่านั้น หลังจากที่ระยะเวลาดังกล่าวสิ้นสุดลง การเข้าถึงระดับผู้ดูแลระบบจะกลับมาอยู่ภายใต้การควบคุมของข้อกำหนดเดิมอีกครั้ง
// อนุญาตให้เข้าถึงทรัพยากรได้ชั่วคราวในวันที่ 1 มีนาคม 2022 ระหว่างเวลา 22.00 น. ถึงเที่ยงคืน
// และการเข้าถึงนี้ต้องมาจากภายในภูมิภาคสหรัฐอเมริกา
levels.Require_Secure_Device &&
request.time.between('2022-03-01T23:00:00+08:00', '2022-03-02T23:59:59+08:00') &&
origin.region_code == "US"
// Note that the end time is exclusive, so the above potentially has 2 seconds that
// the users may not have access. อีกตัวเลือกหนึ่งคือการใช้
// !between('00:00:01','16:00:00')
รวมเงื่อนไขจากตัวอย่าง 2 ระดับ
กําหนดระดับการเข้าถึงใหม่โดยการรวมเงื่อนไขจากระดับการเข้าถึง 2 ระดับ
ระดับการเข้าถึงนี้ใช้แอตทริบิวต์ levels และกําหนดให้ผู้ใช้มีคุณสมบัติตรงตามเงื่อนไขของระดับการเข้าถึง 2 ระดับรวมกัน ในตัวอย่างนี้ access_level_name_1 และ access_level_name_2 หมายถึงชื่อภายใน
levels.access_level_name_1 && levels.access_level_name_2
Google, Google Workspace รวมถึงเครื่องหมายและโลโก้ที่เกี่ยวข้องเป็นเครื่องหมายการค้าของ Google LLC ชื่อบริษัทและชื่อผลิตภัณฑ์อื่นๆ ทั้งหมดเป็นเครื่องหมายการค้าของ บริษัทที่เกี่ยวข้อง