Bạn có thể sử dụng chính sách để định cấu hình mạng Wi-Fi trên một thiết bị. API Quản lý Android sử dụng Cấu hình mạng mở, một định dạng tiêu chuẩn dựa trên JSON được phát triển ban đầu trong dự án Chromium. Hãy tham khảo quy cách để biết toàn bộ thông tin chi tiết về Cấu hình mạng mở.
Để đưa Cấu hình mạng mở vào chính sách, hãy đặt trường openNetworkConfiguration
trên tài nguyên Policy
.
Đối với các thiết bị được quản lý toàn diện, bạn có thể ngăn người dùng định cấu hình thủ công các chế độ cài đặt Wi-Fi trên thiết bị của họ bằng cách đặt wifiConfigDisabled
thành true
trong tài nguyên Policy
.
Tính năng được hỗ trợ
API Quản lý Android chỉ hỗ trợ một tập hợp con của quy cách Cấu hình mạng mở.
- Đối tượng cấp cao nhất:
- Bạn phải bỏ qua hoặc đặt
Type
thànhUnencryptedConfiguration
. Bạn không cần mã hoá cấu hình mạng trong một chính sách vì toàn bộ chính sách được mã hoá trong dịch vụ Android Management API. Ngoài ra, còn có lớp mã hoá thứ hai dành cho thông tin nhạy cảm như cụm mật khẩu và khoá riêng tư.
- Bạn phải bỏ qua hoặc đặt
- Đối tượng
NetworkConfiguration
:GUID
,Name
,Type
vàWiFi
là các trường được hỗ trợ và đều bắt buộc.ProxySettings
là trường không bắt buộc. Nếu bạn sử dụng tính năng này, thì chỉManual
vàPAC
(Tự động định cấu hình proxy) mới được hỗ trợ.- Bạn phải đặt
Type
thànhWiFi
. Các loại mạng khác không được hỗ trợ.
- Đối tượng
WiFi
:AllowGatewayARPPolling
không được hỗ trợ.SignalStrength
không được hỗ trợ.- Bạn phải nhập
Security
và các giá trị sau được hỗ trợ: - Không có - WEP-PSK - WPA-PSK - WPA-EAP - WEP-8021X - WPA3-Enterprise_192 - Đối với cụm mật khẩu
WEP-PSK
, chỉ hỗ trợ cụm mật khẩu 40 bit (10 chữ số) hoặc 104 bit (26 chữ số). - Thông số kỹ thuật cho biết rằng cụm mật khẩu
WEP-PSK
phải bắt đầu bằng tiền tố0x
. Tuy nhiên, để đảm bảo tính nhất quán với Khung Android, tiền tố này là không bắt buộc. - Để đặt chế độ ngẫu nhiên MAC, hãy sử dụng thuộc tính
MACAddressRandomizationMode
được đặt bằng các giá trịHardware
hoặcAutomatic
. Thuộc tính này hiện không có trong thông số kỹ thuật của Cấu hình mạng mở (ONC) nhưng được cung cấp trong AMAPI và có thể được chỉ định khi định cấu hình mạng Wi-Fi. Việc này chỉ áp dụng cho Android 13 trở lên trên tất cả các chế độ quản lý.Hardware
sử dụng địa chỉ MAC ban đầu khi kết nối với mạng.Automatic
cho phép khung Wi-Fi tự động quyết định chiến lược sắp xếp ngẫu nhiên MAC. Đây có thể là địa chỉ MAC bền vững hoặc không bền vững được tạo ngẫu nhiên và được dùng trong khi kết nối với mạng.
- Đối tượng
EAP
:ClientCertPattern
không được hỗ trợ.SaveCredentials
không được hỗ trợ vì thông tin xác thực luôn được lưu.UseSystemCAs
không được hỗ trợ.ServerCARef
được hỗ trợ.ServerCARefs
được hỗ trợ.DomainSuffixMatch
được hỗ trợ. Các cấu hình không dây dành cho doanh nghiệp không có trường này (hoặc có giá trị là một danh sách trống) sẽ bị coi là không an toàn và bị nền tảng từ chối. Giá trị phải là tên miền hợp lệ (ví dụ: "example.com", "subdomain.example.com").- Các giá trị sau đây được hỗ trợ cho
ClientCertType
:Ref
,KeyPairAlias
- Các giá trị sau đây được hỗ trợ cho
Inner
:MSCHAPv2
,PAP
- Các giá trị sau đây được hỗ trợ cho
Outer
:EAP-AKA
,EAP-TLS
,EAP-TTLS
,EAP-SIM
,PEAP
- Đối tượng
Certificate
:Remove
không được hỗ trợ. Hãy bỏ qua chứng chỉ trong cấu hình.TrustBits
không được hỗ trợ.
Ví dụ
Nhiều mạng Wi-Fi
Mảnh chính sách mẫu này cho thấy 3 mạng Wi-Fi được định cấu hình bằng các giao thức bảo mật khác nhau. JSON Cấu hình mạng mở được lồng trong trường openNetworkConfiguration
của JSON Policy
.
"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" } } ] }
Xác thực EAP
Mảnh chính sách mẫu này cho thấy một mạng không dây được định cấu hình bằng phương thức xác thực EAP-TLS. Ngoài đối tượng NetworkConfigurations
, ví dụ này còn bao gồm hai đối tượng Certificates
cho chứng chỉ máy khách và máy chủ.
"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" ], "ServerCARefs": ["abc123"], "ClientCertType": "Ref", "ClientCertRef": "xyz456" }, "Security": "WPA-EAP" } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" }, { "GUID": "xyz456", "Type": "Client", "PKCS12": "6PQIEQYJKoZbdDu8gwggRlqCCAPEbAAcGClgvcNAQc" } ] }
Bạn cũng có thể đặt trường ClientCertType
thành KeyPairAlias
và sử dụng trường ClientCertKeyPairAlias
để chỉ định bí danh của một cặp khoá KeyChain đã cài đặt (xem DevicePolicyManager.installKeyPair
) hoặc đã tạo (xem DevicePolicyManager.generateKeyPair
) dùng để xác thực Wi-Fi. Trên Android 12 trở lên, cặp khoá KeyChain có bí danh được chỉ định bằng ClientCertKeyPairAlias
được cấp để xác thực mạng Wi-Fi và dùng để xác thực mạng Wi-Fi tương ứng. Dưới Android 12, hệ thống sẽ báo cáo một nonComplianceDetail
với lý do API_LEVEL
. nonComplianceDetail
với lý do INVALID_VALUE
và lý do cụ thể ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY
sẽ được báo cáo nếu bí danh cặp khoá đã chỉ định không tương ứng với khoá hiện có. Sau đây là một chính sách mẫu:
"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" ], "ServerCARefs": ["abc123"], "ClientCertType": "KeyPairAlias", "ClientCertKeyPairAlias": "key-alias" }, "Security": "WPA-EAP" } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" } ] }
Trường Security
cũng có thể là WPA3-Enterprise_192
, là một mạng WPA-EAP được định cấu hình bằng chế độ WPA3 192 bit.
"openNetworkConfiguration": { "Type": "UnencryptedConfiguration", "NetworkConfigurations": [ { "Type": "WiFi", "Name": "Example A", "GUID": "A", "WiFi": { "SSID": "Example A", "EAP": { "Outer": "EAP-TLS", "Identity": "example", "ServerCARefs": ["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" } ] }