ตัวอย่างการเข้าถึงแบบ Context-Aware สําหรับโหมดขั้นสูง

บทความนี้อธิบายกรณีการใช้งานสําหรับการเข้าถึงแบบ 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
-issuer
issuer=
/C=IN/ST=UP/L=NCR/O=BCEDemo/
OU=BCEDemo_1/CN=inter_1/
emailAddress=test_inter1@beyondcorp.in

สตริงผู้ออกใบรับรองที่ใช้ในระดับการเข้าถึงคือค่าย้อนกลับของเอาต์พุต และ "/" จะแทนที่ด้วยคอมมา เช่น

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 เป็นข้อมูลล่าสุดเท่านั้น

มีการประทับเวลา 2 รายการที่ CrowdStrike ออกให้เป็นส่วนหนึ่งของคะแนน Falcon Zero Trust Assessment (ZTA) ดังนี้
  • การประทับเวลา "ออกเมื่อ" (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 ชื่อบริษัทและชื่อผลิตภัณฑ์อื่นๆ ทั้งหมดเป็นเครื่องหมายการค้าของ บริษัทที่เกี่ยวข้อง