ทําความเข้าใจระดับความปลอดภัย
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
securityPosture
คือการประเมินความปลอดภัยของอุปกรณ์ ซึ่งพิจารณาจากสถานะปัจจุบันของอุปกรณ์
สถานะปัจจุบันของอุปกรณ์จะพิจารณาจากปัจจัยต่างๆ เช่น มีการรูทอุปกรณ์หรือไม่ อุปกรณ์ใช้ ROM ที่กำหนดเองหรือไม่ และอื่นๆ
securityPosture
มีการแจกแจงในการตอบกลับเป็น devicePosture
และรายการ postureDetails
เพิ่มเติมซึ่งมีช่อง securityRisk
ช่อง securityRisk
จะให้ข้อมูลคร่าวๆ ว่าเหตุใดอุปกรณ์จึงไม่ถือว่าอยู่ในสถานะที่ปลอดภัยที่สุด ส่วนรายการ advice
จะช่วยดำเนินการเพื่อปรับปรุงสถานะความปลอดภัยของอุปกรณ์
เช่น
{
"devicePosture": "POTENTIALLY_COMPROMISED",
"postureDetails": [
{
"securityRisk": "UNKNOWN_OS",
"advice": [
{
"defaultMessage": "The user should lock their device's bootloader."
}
]
},
{
"securityRisk": "HARDWARE_BACKED_EVALUATION_FAILED"
}
]
}
การประเมินระดับความปลอดภัย
โดยค่าเริ่มต้น securityPosture
จะได้รับการประเมินโดยใช้เอกสารรับรองคีย์ โดยเฉพาะเอกสารรับรองคีย์แบบใช้ฮาร์ดแวร์ (HBKA) หากมี ซึ่งจะให้คำตัดสินด้านความปลอดภัยที่เชื่อถือได้เนื่องจากจะสร้างและลงนามในเอกสารรับรองในฮาร์ดแวร์ที่มีความปลอดภัย
ในบางครั้งอาจใช้ HBKA ในการประเมินนี้ไม่ได้ securityRisk
จะแสดงผลเป็น "HARDWARE_BACKED_EVALUATION_FAILED" เพื่อแสดงถึงสถานะนี้ ซึ่งหมายความว่า securityPosture
สามารถประเมินได้ แต่ไม่สามารถใช้ HBKA ซึ่งหมายความว่าสถานะความสมบูรณ์ของการบูตของอุปกรณ์อาจถูกบุกรุก (เช่น อุปกรณ์อาจมีการรูท) และการตรวจหาโดยซอฟต์แวร์อาจไม่พบ
ทำความเข้าใจผลการตรวจสอบสถานะความปลอดภัย
คุณสามารถตีความชุดค่าผสมต่างๆ ของ devicePosture
และ securityRisk
เพื่อให้ทราบถึงความปลอดภัยโดยรวมของอุปกรณ์ โปรดทราบว่ารายการด้านล่างเป็นเพียงตัวอย่างบางส่วนเท่านั้น
- หาก
devicePosture
แสดงผลเป็น "SECURE" และ securityRisk
แสดงผลเป็น "HARDWARE_BACKED_EVALUATION_FAILED" แสดงว่าความสมบูรณ์ของอุปกรณ์ปลอดภัย แต่ HBKA ไม่สามารถยืนยันได้
- หาก
devicePosture
แสดงผลเป็น "POTENTIALLY_COMPROMISED" และไม่มีผลการค้นหา securityRisk
ระบบจะใช้ HBKA ในการประเมินและถือว่าอุปกรณ์ถูกบุกรุก
- หาก
devicePosture
แสดงผลเป็น "POTENTIALLY_COMPROMISED" และ securityRisk
แสดงผลเป็น "HARDWARE_BACKED_EVALUATION_FAILED" ระบบจะดำเนินการตรวจสอบโดยใช้ซอฟต์แวร์เท่านั้น แต่สัญญาณภัยคุกคามต่อความสมบูรณ์นั้นชัดเจนพอที่จะถือว่าอุปกรณ์ถูกบุกรุก
- หาก
devicePosture
แสดงผลเป็น "POSTURE_UNSPECIFIED" แสดงว่าการประเมินความปลอดภัยไม่เสร็จสมบูรณ์ เราขอแนะนำให้รอการออก HBKA อีกครั้ง ซึ่งจะเกิดขึ้นเมื่อมีการแสดงผลคำตัดสินใหม่ เพื่อดูว่า HBKA แสดงผลค่าที่เฉพาะเจาะจงได้หรือไม่ อย่างไรก็ตาม "POSTURE_UNSPECIFIED" อาจเกิดขึ้นในช่วงระยะเวลาสั้นๆ เมื่อติดตั้งครั้งแรก
การแมป Android Management API กับ Play Integrity API
ตารางต่อไปนี้แสดงการแมปที่เทียบเท่ากันระหว่างผลการตัดสินของ AM API กับการตอบกลับผลการตัดสินของ Play Integrity API
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[null,null,["อัปเดตล่าสุด 2025-07-26 UTC"],[[["\u003cp\u003e\u003ccode\u003esecurityPosture\u003c/code\u003e provides a security evaluation of an Android device based on factors like rooting, custom ROMs, and key attestation.\u003c/p\u003e\n"],["\u003cp\u003eIt uses \u003ccode\u003edevicePosture\u003c/code\u003e and \u003ccode\u003esecurityRisk\u003c/code\u003e fields to determine if a device is secure, potentially compromised, or if evaluation failed.\u003c/p\u003e\n"],["\u003cp\u003eHardware-backed key attestation (HBKA) provides a trustworthy security verdict, but software-based checks are used if HBKA fails.\u003c/p\u003e\n"],["\u003cp\u003eDifferent combinations of \u003ccode\u003edevicePosture\u003c/code\u003e and \u003ccode\u003esecurityRisk\u003c/code\u003e values offer insight into the specific security state of a device.\u003c/p\u003e\n"],["\u003cp\u003eThe Android Management API security verdicts have corresponding mappings to Play Integrity API verdict responses.\u003c/p\u003e\n"]]],["`securityPosture` evaluates device security based on factors like rooting or custom ROMs. It breaks down into `devicePosture` and `postureDetails`, the latter including `securityRisk` and `advice`. `securityRisk` highlights potential security issues. Evaluations use hardware-backed key attestation (HBKA) when possible; failures are marked by `HARDWARE_BACKED_EVALUATION_FAILED` in `securityRisk`. Different `devicePosture` and `securityRisk` combinations indicate varying security levels, such as \"SECURE\" with HBKA failure, or \"POTENTIALLY_COMPROMISED\". It also maps the AM API verdicts to the Play Integrity API.\n"],null,["# Understanding Security Posture\n\n[`securityPosture`](/android/management/reference/rest/v1/enterprises.devices#securityposture) is the security evaluation of a device, determined by the current device status.\nCurrent device status is determined by factors such as if the device has been rooted, if it is running a custom ROM, and more.\n\n`securityPosture` is broken down in the response into [`devicePosture`](/android/management/reference/rest/v1/enterprises.devices#deviceposture) and an additional list of [`postureDetails`](/android/management/reference/rest/v1/enterprises.devices#posturedetail) which contains the field [`securityRisk`](/android/management/reference/rest/v1/enterprises.devices#securityrisk).\n\nThe `securityRisk` field gives an idea of why the device is not considered to be in the most secure state, while the `advice` list can help perform actions to improve the security posture of the device.\nFor example: \n\n```gdscript\n {\n \"devicePosture\": \"POTENTIALLY_COMPROMISED\",\n \"postureDetails\": [\n {\n \"securityRisk\": \"UNKNOWN_OS\",\n \"advice\": [\n {\n \"defaultMessage\": \"The user should lock their device's bootloader.\"\n }\n ]\n },\n {\n \"securityRisk\": \"HARDWARE_BACKED_EVALUATION_FAILED\"\n }\n ]\n}\n```\n\nEvaluating Security Posture\n---------------------------\n\nBy default, `securityPosture` is evaluated using key attestation, specifically [hardware-backed key attestation (HBKA)](https://developer.android.com/training/articles/security-key-attestation) if applicable, providing a trustworthy security verdict as it generates and signs the attestation in secure hardware.\n\nIt may sometimes be the case that HBKA cannot be used for this evaluation. To reflect this, `securityRisk` will return \"HARDWARE_BACKED_EVALUATION_FAILED\". This means that `securityPosture` can be evaluated but not with HBKA, meaning that the device's boot integrity state could be compromised (e.g. the device could be rooted) and go undetected by software-based detection.\n\nUnderstanding Security Posture Verdicts\n---------------------------------------\n\nDifferent combinations of `devicePosture` and `securityRisk` can be interpreted to understand the overall security of the device. Please be aware that the list below is not exhaustive:\n\n- If `devicePosture` returns \"SECURE\" and `securityRisk` returns \"HARDWARE_BACKED_EVALUATION_FAILED\" the device's integrity is secure, but this could not be confirmed by HBKA.\n- If `devicePosture` returns \"POTENTIALLY_COMPROMISED\" and no `securityRisk` result is returned, then HBKA is used in the evaluation and considers the device as compromised.\n- If `devicePosture` returns \"POTENTIALLY_COMPROMISED\" and `securityRisk` returns \"HARDWARE_BACKED_EVALUATION_FAILED\" then only software based checks could be performed, yet the integrity threat signals are strong enough to consider the device as compromised.\n- If `devicePosture` returns \"POSTURE_UNSPECIFIED\" then the security evaluation could not be completed. We recommend waiting for the re-issuance of the HBKA, which occurs when a new verdict is returned, to see if it can return a specific value. However, it is expected for \"POSTURE_UNSPECIFIED\" to occur on initial install for a short period of time.\n\n### Android Management API to Play Integrity API mappings\n\nThe following table provides the mapping equivalence between AM API verdict and\nthe Play Integrity API verdict response.\n\n| [AM API DevicePosture](/android/management/reference/rest/v1/enterprises.devices#deviceposture) | [AM API Posture.Detail.SecurityRisk](/android/management/reference/rest/v1/enterprises.devices#PostureDetail.FIELDS.security_risk) | [Play Integrity API verdict equivalent](/google/play/integrity/verdicts#device-integrity-field) |\n|------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|\n| [`SECURE`](/android/management/reference/rest/v1/enterprises.devices#DevicePosture.ENUM_VALUES.SECURE) | [`SECURITY_RISK_UNSPECIFIED`](/android/management/reference/rest/v1/enterprises.devices#SecurityRisk.ENUM_VALUES.SECURITY_RISK_UNSPECIFIED) | `MEETS_STRONG_INTEGRITY` |\n| [`SECURE`](/android/management/reference/rest/v1/enterprises.devices#DevicePosture.ENUM_VALUES.SECURE) | contains: [`HARDWARE_BACKED_EVALUATION_FAILED`](/android/management/reference/rest/v1/enterprises.devices#SecurityRisk.ENUM_VALUES.HARDWARE_BACKED_EVALUATION_FAILED) | `MEETS_DEVICE_INTEGRITY` |\n| [`AT_RISK`](/android/management/reference/rest/v1/enterprises.devices#DevicePosture.ENUM_VALUES.AT_RISK) | contains: [`HARDWARE_BACKED_EVALUATION_FAILED`](/android/management/reference/rest/v1/enterprises.devices#SecurityRisk.ENUM_VALUES.HARDWARE_BACKED_EVALUATION_FAILED) | `MEETS_DEVICE_INTEGRITY` |\n| [`POTENTIALLY_COMPROMISED`](/android/management/reference/rest/v1/enterprises.devices#DevicePosture.ENUM_VALUES.POTENTIALLY_COMPROMISED) | contains: [`UNKNOWN_OS`](/android/management/reference/rest/v1/enterprises.devices#SecurityRisk.ENUM_VALUES.UNKNOWN_OS) | `MEETS_BASIC_INTEGRITY` |\n| [`POTENTIALLY_COMPROMISED`](/android/management/reference/rest/v1/enterprises.devices#DevicePosture.ENUM_VALUES.POTENTIALLY_COMPROMISED) | contains: [`COMPROMISED_OS`](/android/management/reference/rest/v1/enterprises.devices#SecurityRisk.ENUM_VALUES.COMPROMISED_OS) | `\u003cunset\u003e` |\n| [`POSTURE_UNSPECIFIED`](/android/management/reference/rest/v1/enterprises.devices#DevicePosture.ENUM_VALUES.POSTURE_UNSPECIFIED) | `\u003cany\u003e` | `\u003cunset\u003e` |"]]