Politikayı kullanarak cihazdaki kablosuz ağları yapılandırabilirsiniz. Android Management API, başlangıçta Chromium projesi kapsamında geliştirilmiş standart bir JSON tabanlı biçim olan Open Network Configuration'ı kullanır. Açık Ağ Yapılandırması ile ilgili tüm ayrıntılar için spesifikasyona bakın.
Bir politikaya açık ağ yapılandırması eklemek için Policy
kaynağındaki openNetworkConfiguration
alanını ayarlayın.
Tamamen yönetilen cihazlarda, kullanıcının cihazındaki kablosuz ağ ayarlarını manuel olarak yapılandırmasını isteğe bağlı olarak engellemek için Policy
kaynağında wifiConfigDisabled
değerini true
olarak ayarlayabilirsiniz.
Desteklenen özellikler
Android Management API, Open Network Configuration spesifikasyonunun yalnızca bir alt kümesini destekler.
- Üst düzey nesne:
Type
atlanmalı veyaUnencryptedConfiguration
olarak ayarlanmalıdır. Politikanın tamamı Android Management API hizmetinde şifrelendiğinden, politikadaki ağ yapılandırmasının şifrelenmesi gerekmez. Ayrıca, şifre ve özel anahtar gibi hassas bilgiler için ikinci bir şifreleme katmanı vardır.
NetworkConfiguration
nesneleri:GUID
,Name
,Type
veWiFi
desteklenen alanlardır ve tümü gereklidir.ProxySettings
isteğe bağlı bir alandır. Bu yöntem kullanılırsa yalnızcaManual
vePAC
(Proxy Otomatik Yapılandırması) desteklenir.Type
,WiFi
olarak ayarlanmalıdır. Diğer ağ türleri desteklenmez.
WiFi
nesneleri:SSID
veHexSSID
desteklenir ve bunlardan en az biri bulunmalıdır.- Hem
HexSSID
hem deSSID
ayarlanmışsa değerler tutarlı olmalıdır.
- Hem
HiddenSSID
desteklenir.AllowGatewayARPPolling
desteklenmiyor.SignalStrength
desteklenmiyor.Security
zorunludur ve aşağıdaki değerler desteklenir: - Yok - WEP-PSK - WPA-PSK - WPA-EAP - WEP-8021X - WPA3-Enterprise_192WEP-PSK
şifre anahtarları için yalnızca 40 bit (10 haneli) veya 104 bit (26 haneli) şifre anahtarları desteklenir.- Spesifikasyonda,
WEP-PSK
şifre anahtarlarının0x
ön ekiyle başlaması gerektiği belirtilmektedir. Ancak Android Framework ile tutarlılık sağlamak için bu ön ek gerekli değildir. - MAC rastgeleleştirme modunu ayarlamak için
Hardware
veyaAutomatic
değerleriyle ayarlanmışMACAddressRandomizationMode
mülkünü kullanın. Bu özellik şu anda Açık Ağ Yapılandırması (ONC) spesifikasyonunda kullanılamamaktadır ancak AMAPI'de sağlanmakta ve kablosuz ağlar yapılandırılırken belirtilebilir. Bu durum, yalnızca tüm yönetim modlarında Android 13 ve sonraki sürümler için geçerlidir.Hardware
, ağa bağlanırken fabrika MAC adresini kullanır.Automatic
, MAC rastgeleleştirme stratejisine kablosuz ağ çerçevesinin otomatik olarak karar vermesine olanak tanır. Bu, ağa bağlanırken kullanılan kalıcı veya kalıcı olmayan rastgele oluşturulmuş MAC adresleri olabilir.
EAP
nesneleri:ClientCertPattern
desteklenmiyor.- Kimlik bilgileri her zaman kaydedildiği için
SaveCredentials
desteklenmez. UseSystemCAs
desteklenmiyor.ServerCARef
desteklenir.ServerCARefs
desteklenir.DomainSuffixMatch
desteklenir. Bu alanı içermeyen (veya değeri boş liste olan) kurumsal kablosuz yapılandırmalar güvenli değildir ve platform tarafından reddedilir. Değerler geçerli alan adları olmalıdır (ör. "example.com", "altalan.example.com").ClientCertType
için aşağıdaki değerler desteklenir:Ref
,KeyPairAlias
Inner
için aşağıdaki değerler desteklenir:MSCHAPv2
,PAP
Outer
için aşağıdaki değerler desteklenir:EAP-AKA
,EAP-TLS
,EAP-TTLS
,EAP-SIM
,PEAP
Certificate
nesneleri:Remove
desteklenmiyor. Bunun yerine yapılandırmada sertifikayı çıkarın.TrustBits
desteklenmiyor.
Örnekler
Birden fazla kablosuz ağ
Bu örnek politika parçasında, farklı güvenlik şemalarıyla yapılandırılmış üç kablosuz ağ gösterilmektedir. Açık Ağ Yapılandırması JSON'u, Policy
JSON'unun openNetworkConfiguration
alanına yerleştirilir.
"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 kimlik doğrulaması
Bu örnek politika parçasında, EAP-TLS kimlik doğrulamasıyla yapılandırılan bir kablosuz ağ gösterilmektedir. Örnekte, NetworkConfigurations
nesnesine ek olarak istemci ve sunucu sertifikaları için iki Certificates
nesnesi de yer alır.
"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" } ] }
ClientCertType
alanı KeyPairAlias
olarak da ayarlanabilir. ClientCertKeyPairAlias
alanı, kablosuz kimlik doğrulaması için kullanılan KeyChain anahtar çiftinin takılı (DevicePolicyManager.installKeyPair
bölümüne bakın) veya oluşturulmuş (DevicePolicyManager.generateKeyPair
bölümüne bakın) takma adını belirtmek için kullanılabilir. Android 12 ve sonraki sürümlerde, ClientCertKeyPairAlias
ile belirtilen takma ada sahip KeyChain anahtar çifti, kablosuz ağlarda kimlik doğrulaması için verilir ve ilgili kablosuz ağda kimlik doğrulaması için kullanılır. Android 12'nin altında, API_LEVEL
ile başlayan bir nonComplianceDetail
bildirilir. Belirtilen anahtar çifti takma adı mevcut bir anahtara karşılık gelmiyorsa INVALID_VALUE
ile başlayan ve ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY
ile biten bir nonComplianceDetail
bildirilir. Aşağıda bir politika örneği verilmiştir:
"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" } ] }
Security
alanı, WPA3 192 bit modu ile yapılandırılmış bir WPA-EAP ağı olan WPA3-Enterprise_192
olabilir.
"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" } ] }