คุณใช้นโยบายเพื่อกำหนดค่าเครือข่าย Wi-Fi ในอุปกรณ์ได้ Android API การจัดการใช้การกำหนดค่าเครือข่ายแบบเปิดซึ่งเป็นรูปแบบ JSON มาตรฐาน ซึ่งเดิมทีพัฒนาขึ้นโดยเป็นส่วนหนึ่งของโครงการ Chromium โปรดดู ข้อกำหนด เพื่อดูรายละเอียดทั้งหมดเกี่ยวกับการกำหนดค่าเครือข่ายแบบเปิด
หากต้องการรวมการกำหนดค่าเครือข่ายแบบเปิดไว้ในนโยบาย ให้ตั้งค่า
ฟิลด์ openNetworkConfiguration
บน
Policy
ทรัพยากร
สำหรับอุปกรณ์ที่มีการจัดการครบวงจร คุณจะเลือกกำหนดไม่ให้ผู้ใช้ดำเนินการด้วยตนเองได้
กำหนดการตั้งค่า Wi-Fi ในอุปกรณ์โดยตั้งค่า wifiConfigDisabled
เป็น
true
ในช่วง
Policy
ทรัพยากร
ฟีเจอร์ที่รองรับ
Android Management API รองรับเฉพาะเครือข่ายแบบเปิดบางส่วนเท่านั้น ข้อมูลจำเพาะของการกำหนดค่า
- ออบเจ็กต์ระดับบนสุด:
- ต้องละเว้น
Type
หรือตั้งค่าเป็นUnencryptedConfiguration
ไม่มี จำเป็นต้องเข้ารหัสการกำหนดค่าเครือข่ายภายในนโยบาย เนื่องจาก นโยบายทั้งหมดจะเข้ารหัสภายในบริการ Android Management API นอกจากนี้ยังมีการเข้ารหัสชั้นที่ 2 สำหรับ ข้อมูลอย่างเช่นรหัสผ่านและคีย์ส่วนตัว
- ต้องละเว้น
- ออบเจ็กต์
NetworkConfiguration
รายการ:GUID
,Name
,Type
และWiFi
ช่องที่รองรับ และต้องระบุทุกช่องProxySettings
เป็นช่องที่ไม่บังคับ หากใช้วิธีนี้ จะมีเพียง รองรับManual
และPAC
(การกำหนดค่าพร็อกซีอัตโนมัติ)- ต้องตั้งค่า
Type
เป็นWiFi
ระบบจะไม่รองรับเครือข่ายประเภทอื่นๆ
- ออบเจ็กต์
WiFi
รายการ:- ไม่รองรับ
AllowGatewayARPPolling
- ไม่รองรับ
SignalStrength
- ต้องระบุ
Security
และรองรับค่าต่อไปนี้ - ไม่มี - WEP-PSK - WPA-PSK - WPA-EAP - WEP-8021X - WPA3-Enterprise_192 - สำหรับรหัสผ่าน
WEP-PSK
เฉพาะ 40 บิต (10 หลัก) หรือ 104 บิต (26 หลัก) รหัสผ่านได้รับการสนับสนุน - ข้อกำหนดระบุว่ารหัสผ่าน
WEP-PSK
ต้องเริ่มต้นด้วย คำนำหน้า0x
แต่เพื่อให้สอดคล้องกับเฟรมเวิร์ก Android โดยไม่ต้องระบุ - หากต้องการตั้งค่าโหมดการสุ่ม MAC ให้ใช้พร็อพเพอร์ตี้
MACAddressRandomizationMode
ตั้งค่าด้วยค่าHardware
หรือAutomatic
ขณะนี้พร็อพเพอร์ตี้นี้ ไม่พร้อมใช้งานในข้อกำหนดเฉพาะของการกำหนดค่าเครือข่ายแบบเปิด (ONC) แต่มีให้ใช้งานใน AMAPI และสามารถระบุขณะกำหนดค่าเครือข่าย Wi-Fi ซึ่งจะมีผลกับ Android 13 ขึ้นไปในทุกโหมดการจัดการเท่านั้นHardware
ใช้ที่อยู่ MAC เริ่มต้นเมื่อเชื่อมต่อเครือข่ายAutomatic
ช่วยให้เฟรมเวิร์ก Wi-Fi ตัดสินใจเลือก MAC ได้โดยอัตโนมัติ การสุ่ม ซึ่งอาจเป็นแบบถาวรหรือไม่ถาวร ที่อยู่ MAC ที่สร้างขึ้นแบบสุ่มซึ่งจะใช้ขณะเชื่อมต่อกับ เครือข่าย
- ไม่รองรับ
- ออบเจ็กต์
EAP
รายการ:- ไม่รองรับ
ClientCertPattern
- ไม่รองรับ
SaveCredentials
เนื่องจากระบบจะบันทึกข้อมูลเข้าสู่ระบบเสมอ - ไม่รองรับ
UseSystemCAs
- รองรับ
DomainSuffixMatch
การกำหนดค่าแบบไร้สายขององค์กรที่ไม่มีช่องนี้ (หรือด้วยช่องเว้นว่าง เป็นค่า) จะถือว่าเป็น ไม่ปลอดภัยและแพลตฟอร์มถูกปฏิเสธ ค่าควรเป็นชื่อโดเมนที่ถูกต้อง (เช่น "example.com", "subdomain.example.com") - ค่าที่รองรับสำหรับ
ClientCertType
มีดังนี้Ref
,KeyPairAlias
- ค่าที่รองรับสำหรับ
Inner
มีดังนี้MSCHAPv2
,PAP
- ค่าที่รองรับสำหรับ
Outer
มีดังนี้EAP-AKA
,EAP-TLS
EAP-TTLS
EAP-SIM
PEAP
- ไม่รองรับ
- ออบเจ็กต์
Certificate
รายการ:- ไม่รองรับ
Remove
ละเว้นใบรับรองในการกำหนดค่า แทน - ไม่รองรับ
TrustBits
- ไม่รองรับ
ตัวอย่าง
เครือข่าย Wi-Fi หลายเครือข่าย
ส่วนย่อยของนโยบายตัวอย่างนี้แสดงเครือข่าย Wi-Fi 3 เครือข่ายที่กำหนดค่าไว้ด้วย
แผนการรักษาความปลอดภัยที่แตกต่างกัน JSON ของการกำหนดค่าเครือข่ายแบบเปิดฝังอยู่ใน
ฟิลด์ openNetworkConfiguration
ของฟิลด์
Policy
JSON
"openNetworkConfiguration": { "NetworkConfigurations": [ { "GUID": "a", "Name": "Example A", "Type": "WiFi", "WiFi": { "SSID": "Example A", "Security": "None", "AutoConnect": true } }, { "GUID": "b", "Name": "Example B", "Type": "WiFi", "WiFi": { "SSID": "Example B", "Security": "WEP-PSK", "Passphrase": "1234567890" } }, { "GUID": "c", "Name": "Example C", "Type": "WiFi", "WiFi": { "SSID": "Example C", "Security": "WPA-PSK", "Passphrase": "baseball" } }, { "GUID": "networkA", "Name": "networkA", "Type": "WiFi", "WiFi": { "SSID": "networkA", "Security": "WPA-PSK", "Passphrase": "pwd1234567", "MACAddressRandomizationMode": "Hardware" } } ] }
การตรวจสอบสิทธิ์ EAP
ส่วนย่อยของนโยบายตัวอย่างนี้แสดงเครือข่ายไร้สายที่กำหนดค่าด้วย EAP-TLS
การตรวจสอบสิทธิ์ นอกจากออบเจ็กต์ NetworkConfigurations
แล้ว ตัวอย่าง
ประกอบด้วยออบเจ็กต์ Certificates
2 รายการสำหรับใบรับรองไคลเอ็นต์และเซิร์ฟเวอร์
"openNetworkConfiguration": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": [ { "GUID": "a", "Name": "Example A", "Type": "WiFi", "WiFi": { "SSID": "Example A", "EAP": { "Outer": "EAP-TLS", "Identity": "example", "DomainSuffixMatch": [ "example.com", "example.org" ], "ServerCARef": "abc123", "ClientCertType": "Ref", "ClientCertRef": "xyz456" }, "Security": "WPA-EAP" } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" }, { "GUID": "xyz456", "Type": "Client", "PKCS12": "6PQIEQYJKoZbdDu8gwggRlqCCAPEbAAcGClgvcNAQc" } ] }
นอกจากนี้ คุณยังตั้งค่าช่อง ClientCertType
เป็น KeyPairAlias
และ
ช่อง ClientCertKeyPairAlias
สามารถใช้เพื่อระบุชื่อแทนของที่ติดตั้ง
(โปรดดู
DevicePolicyManager.installKeyPair
)
หรือสร้างขึ้น (โปรดดู
DevicePolicyManager.generateKeyPair
) คู่คีย์เชนที่ใช้สำหรับการตรวจสอบสิทธิ์ Wi-Fi ใน Android 12 และ
ด้านบน คู่คีย์ KeyChain ที่มีชื่อแทนที่ระบุด้วย
ClientCertKeyPairAlias
ได้รับสิทธิ์ในการตรวจสอบสิทธิ์กับเครือข่าย Wi-Fi และ
ซึ่งใช้สำหรับการตรวจสอบสิทธิ์กับเครือข่าย Wi-Fi ที่เกี่ยวข้อง ต่ำกว่า Android 12
nonComplianceDetail
กับ
API_LEVEL
เพื่อรายงานเหตุผล ต
nonComplianceDetail
กับ
INVALID_VALUE
เหตุผลและ
ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY
จะมีการรายงานเหตุผลที่เฉพาะเจาะจงหากชื่อแทนคู่คีย์ที่ระบุไม่ตรงกับ
คีย์ที่มีอยู่ ต่อไปนี้คือตัวอย่างนโยบาย
"openNetworkConfiguration": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": [ { "GUID": "a", "Name": "Example A", "Type": "WiFi", "WiFi": { "SSID": "Example A", "EAP": { "Outer": "EAP-TLS", "Identity": "example", "DomainSuffixMatch": [ "example.com", "example.org" ], "ServerCARef": "abc123", "ClientCertType": "KeyPairAlias", "ClientCertKeyPairAlias": "key-alias" }, "Security": "WPA-EAP" } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" } ] }
ช่อง Security
อาจเป็น WPA3-Enterprise_192
ซึ่งเป็น WPA-EAP ก็ได้
เครือข่ายที่กำหนดค่าด้วยโหมด 192 บิต WPA3
"openNetworkConfiguration": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": [ { "Type": "WiFi", "Name": "Example A", "GUID": "A", "WiFi": { "SSID": "Example A", "EAP": { "Outer": "EAP-TLS", "Identity": "example", "ServerCARef": "abc123", "ClientCertType": "Ref", "ClientCertRef": "xyz456", "DomainSuffixMatch": ["example.com"] }, "Security": "WPA3-Enterprise_192", "AutoConnect": true } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" }, { "GUID": "xyz456", "Type": "Client", "PKCS12": "6PQIEQYJKoZbdDu8gwggRlqCCAPEbAAcGClgvcNAQc" } ] }