Anda dapat menggunakan kebijakan untuk mengonfigurasi jaringan Wi-Fi di perangkat. Android Management API menggunakan Konfigurasi Jaringan Terbuka, yaitu format berbasis JSON standar yang awalnya dikembangkan sebagai bagian dari proyek Chromium. Lihat spesifikasi untuk detail selengkapnya tentang Konfigurasi Jaringan Terbuka.
Untuk menyertakan Konfigurasi Jaringan Terbuka dalam kebijakan, setel kebijakan
Kolom openNetworkConfiguration
pada
Policy
resource Anda
Untuk perangkat terkelola sepenuhnya, Anda dapat secara opsional mencegah pengguna
mengonfigurasi setelan Wi-Fi di perangkat mereka dengan menyetel wifiConfigDisabled
ke
true
di
Policy
resource Anda
Fitur yang didukung
Android Management API hanya mendukung subset Jaringan Terbuka Spesifikasi konfigurasi.
- Objek tingkat teratas:
Type
harus dihilangkan atau ditetapkan keUnencryptedConfiguration
. Tidak ada mengenkripsi konfigurasi jaringan dalam suatu kebijakan karena seluruh kebijakan dienkripsi dalam layanan Android Management API. Selain itu, ada lapisan enkripsi kedua untuk informasi seperti frasa sandi dan kunci pribadi.
- Objek
NetworkConfiguration
:GUID
,Name
,Type
, danWiFi
adalah kolom yang didukung, dan semuanya wajib diisi.ProxySettings
adalah kolom opsional. Jika digunakan, hanyaManual
danPAC
(Konfigurasi Otomatis Proxy) didukung.Type
harus ditetapkan keWiFi
. Jenis jaringan lainnya tidak didukung.
- Objek
WiFi
:AllowGatewayARPPolling
tidak didukung.SignalStrength
tidak didukung.Security
diperlukan dan nilai berikut didukung: - Tidak ada - WEP-PSK - WPA-PSK - WPA-EAP - WEP-8021X - WPA3-Enterprise_192- Untuk frasa sandi
WEP-PSK
, hanya 40-bit (10 digit) atau 104-bit (26 digit) frasa sandi didukung. - Spesifikasi menyatakan bahwa frasa sandi
WEP-PSK
harus diawali dengan awalan0x
. Namun, agar konsisten dengan Framework Android, awalan tidak diperlukan. - Untuk menetapkan mode pengacakan MAC, gunakan properti
MACAddressRandomizationMode
ditetapkan dengan nilaiHardware
atauAutomatic
. Properti ini saat ini tidak tersedia di spesifikasi Konfigurasi Jaringan Terbuka (ONC) tetapi disediakan dalam AMAPI dan dapat ditentukan saat mengonfigurasi jaringan WiFi. Hal ini hanya berlaku untuk Android 13+ di semua mode pengelolaan.Hardware
menggunakan alamat MAC pabrik saat terhubung ke jaringan.Automatic
memungkinkan framework Wi-Fi menentukan MAC secara otomatis strategi pengacakan. Hal ini dapat bersifat persisten atau tidak tetap alamat MAC yang dibuat secara acak yang digunakan saat menyambungkan ke jaringan.
- Objek
EAP
:ClientCertPattern
tidak didukung.SaveCredentials
tidak didukung karena kredensial selalu disimpan.UseSystemCAs
tidak didukung.DomainSuffixMatch
didukung. Konfigurasi nirkabel perusahaan tanpa kolom ini (atau dengan kolom kosong {i>list as value<i}) dianggap tidak aman dan ditolak oleh platform. Nilai harus berupa nama domain yang valid (misalnya "example.com", "subdomain.example.com").- Nilai berikut didukung untuk
ClientCertType
:Ref
,KeyPairAlias
- Nilai berikut didukung untuk
Inner
:MSCHAPv2
,PAP
- Nilai berikut didukung untuk
Outer
:EAP-AKA
,EAP-TLS
,EAP-TTLS
,EAP-SIM
,PEAP
- Objek
Certificate
:Remove
tidak didukung. Menghapus sertifikat dalam konfigurasi sebagai gantinya.TrustBits
tidak didukung.
Contoh
Beberapa jaringan Wi-Fi
Contoh fragmen kebijakan ini menunjukkan tiga jaringan Wi-Fi yang dikonfigurasi dengan
skema keamanan
yang berbeda. JSON Konfigurasi Jaringan Terbuka berada di dalam
kolom openNetworkConfiguration
dari kolom
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" } } ] }
Autentikasi EAP
Contoh fragmen kebijakan ini menunjukkan jaringan nirkabel yang dikonfigurasi dengan EAP-TLS
autentikasi. Selain objek NetworkConfigurations
, contoh
menyertakan dua objek Certificates
untuk sertifikat klien dan server.
"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" } ] }
Kolom ClientCertType
juga dapat ditetapkan ke KeyPairAlias
, dan kolom
Kolom ClientCertKeyPairAlias
dapat digunakan untuk menentukan alias dari
(lihat
DevicePolicyManager.installKeyPair
)
atau dibuat (lihat
DevicePolicyManager.generateKeyPair
) Pasangan kunci KeyChain yang digunakan untuk autentikasi Wi-Fi. Di Android 12 dan
di atas, pasangan kunci KeyChain yang
memiliki alias yang ditentukan dengan
ClientCertKeyPairAlias
diberikan untuk autentikasi jaringan Wi-Fi dan
digunakan untuk otentikasi
ke jaringan Wi-Fi yang sesuai. Di bawah Android 12,
nonComplianceDetail
dengan
API_LEVEL
alasan dilaporkan. J
nonComplianceDetail
dengan
INVALID_VALUE
alasan dan
ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY
alasan spesifik dilaporkan jika alias pasangan kunci yang ditentukan tidak sesuai dengan
kunci yang sudah ada. Berikut adalah contoh kebijakan:
"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" } ] }
Kolom Security
juga dapat berupa WPA3-Enterprise_192
yang merupakan WPA-EAP
jaringan yang dikonfigurasi
dengan mode WPA3 192-bit.
"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" } ] }