Ağları yapılandırma

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 Açık Ağ Yapılandırması'nı kullanır.

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ı veya UnencryptedConfiguration 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 ve WiFi desteklenen alanlardır ve tümü gereklidir.
    • ProxySettings isteğe bağlı bir alandır. Bu yöntem kullanılırsa yalnızca Manual ve PAC (Proxy Otomatik Yapılandırması) desteklenir.
    • Type, WiFi olarak ayarlanmalıdır. Diğer ağ türleri desteklenmez.
  • WiFi nesneleri:
    • SSID ve HexSSID desteklenir ve bunlardan en az biri bulunmalıdır.
      • Hem HexSSID hem de SSID ayarlanmışsa değerler tutarlı olmalıdır.
    • 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_192
  • WEP-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ın 0x ö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 veya Automatic değerleriyle ayarlanmış MACAddressRandomizationMode mülkünü kullanın. Bu özellik Açık Ağ Yapılandırması (ONC) spesifikasyonunda kullanılamaz ancak AMAPI'de sağlanır ve kablosuz ağlar yapılandırılırken belirtilebilir. Bu, 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, kablosuz ağ çerçevesinin MAC rastgeleleştirme stratejisine 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ılan üç 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ılmış 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'den önce, API_LEVELnedeniyle birlikte bir nonComplianceDetail bildirilir. Belirtilen anahtar çifti takma adı mevcut bir anahtarla eşleşmezse INVALID_VALUE ile başlayan ve ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY ile başlayan 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"
      }
   ]
}