Netzwerke konfigurieren

Sie können eine Richtlinie verwenden, um WLANs auf einem Gerät zu konfigurieren. Das Android- Die Management API verwendet Open Network Configuration, ein Standardformat auf JSON-Basis das ursprünglich im Rahmen des Chromium-Projekts entwickelt wurde. Weitere Informationen finden Sie im Spezifikation finden Sie weitere Informationen zur Open Network Configuration.

Um eine offene Netzwerkkonfiguration in eine Richtlinie aufzunehmen, legen Sie die Feld openNetworkConfiguration in einem Policy .

Bei vollständig verwalteten Geräten können Sie optional verhindern, dass ein Nutzer manuell die WLAN-Einstellungen auf ihrem Gerät konfigurieren, indem sie wifiConfigDisabled auf true im Policy .

<ph type="x-smartling-placeholder">

Unterstützte Funktionen

Die Android Management API unterstützt nur einen Teil des Open Network Konfigurationsspezifikation.

  • Objekt der obersten Ebene: <ph type="x-smartling-placeholder">
      </ph>
    • Type muss weggelassen oder auf UnencryptedConfiguration gesetzt werden. Es gibt keine die Netzwerkkonfiguration innerhalb einer Richtlinie verschlüsseln, wird die gesamte Richtlinie mit dem Android Management API-Dienst verschlüsselt. Darüber hinaus gibt es eine zweite Verschlüsselungsebene für sensible wie Passphrasen und private Schlüssel.
  • NetworkConfiguration-Objekte:
    • GUID, Name, Type und WiFi sind unterstützten Felder und sind alle Pflichtfelder.
    • ProxySettings ist ein optionales Feld. Bei Verwendung dieser Option Manual und PAC (Proxy-Autokonfiguration) werden unterstützt.
    • Type muss auf WiFi festgelegt sein. Andere Netzwerktypen werden nicht unterstützt.
  • WiFi-Objekte:
    • AllowGatewayARPPolling wird nicht unterstützt.
    • SignalStrength wird nicht unterstützt.
    • Security ist erforderlich und die folgenden Werte werden unterstützt: - Keine – WEP-PSK – WPA-PSK – WPA-EAP – WEP-8021X – WPA3-Enterprise_192
    • WEP-PSK-Passphrasen nur 40-Bit (10-stellig) oder 104-Bit (26-stellig) Passphrasen werden unterstützt.
    • Die Spezifikation besagt, dass WEP-PSK-Passphrasen mit der Präfix 0x. Aus Gründen der Einheitlichkeit mit dem Android-Framework ist nicht erforderlich.
    • Verwenden Sie die Property MACAddressRandomizationMode, um den MAC-Zufallsmodus festzulegen. mit den Werten Hardware oder Automatic festgelegt. Diese Property ist derzeit nicht in der ONC-Spezifikation (Open Network Configuration) verfügbar wird aber in AMAPI bereitgestellt und kann bei der Konfiguration von WLAN-Netzwerken angegeben werden. Dies gilt nur für Android 13 und höher in allen Verwaltungsmodi.
      • Hardware verwendet beim Herstellen einer Netzwerkverbindung die werkseitige MAC-Adresse.
      • Mit Automatic lässt das WLAN-Framework automatisch die MAC-Adresse bestimmen. Randomisierungsstrategie. Dies kann entweder permanent oder nicht dauerhaft sein. Zufällig generierte MAC-Adressen, die beim Herstellen einer Verbindung zu Netzwerk.
  • EAP-Objekte:
    • ClientCertPattern wird nicht unterstützt.
    • SaveCredentials wird nicht unterstützt.
    • UseSystemCAs wird nicht unterstützt.
    • DomainSuffixMatch unterstützt.
      WLAN-Konfigurationen für Unternehmen ohne dieses Feld (oder mit einem leeren Feld Liste als Wert) werden berücksichtigt, unsicher sind und von der Plattform abgelehnt werden. Werte müssen gültige Domainnamen sein (z.B. beispiel.de, „subdomain.beispiel.de“).
    • Die folgenden Werte werden für ClientCertType unterstützt: Ref, KeyPairAlias
    • Die folgenden Werte werden für Inner unterstützt: MSCHAPv2, PAP
    • Die folgenden Werte werden für Outer unterstützt: EAP-AKA, EAP-TLS, EAP-TTLS, EAP-SIM, PEAP
  • Certificate-Objekte:
    • Remove wird nicht unterstützt. Zertifikat in der Konfiguration weglassen .
    • TrustBits wird nicht unterstützt.

Beispiele

Mehrere WLANs

Dieses Beispiel für ein Richtlinienfragment zeigt drei WLAN-Netzwerke, die mit verschiedene Sicherheitsschemata. Die Open Network Configuration-JSON-Datei ist im Feld openNetworkConfiguration des 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-Authentifizierung

Dieses Beispielrichtlinienfragment zeigt ein WLAN, das mit EAP-TLS konfiguriert wurde. Authentifizierung. Zusätzlich zum NetworkConfigurations-Objekt enthält das Beispiel enthält zwei Certificates-Objekte für die Client- und Serverzertifikate.

"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"
      }
   ]
}

Das Feld ClientCertType kann auch auf KeyPairAlias gesetzt werden und der Wert Mit dem Feld ClientCertKeyPairAlias kann der Alias einer installierten (siehe DevicePolicyManager.installKeyPair ) oder generiert (siehe DevicePolicyManager.generateKeyPair ) KeyChain-Schlüsselpaar, das für die WLAN-Authentifizierung verwendet wird. Unter Android 12 und das KeyChain-Schlüsselpaar mit dem angegebenen Alias ClientCertKeyPairAlias wurde zur Authentifizierung bei WLANs zugelassen und ist die zur Authentifizierung beim entsprechenden WLAN verwendet wird. Unter Android 12 wurde nonComplianceDetail mit API_LEVEL Grund wird gemeldet. A nonComplianceDetail mit INVALID_VALUE Grund und ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY wird angegeben, wenn das angegebene Schlüsselpaar-Alias nicht einen vorhandenen Schlüssel. Hier ein Beispiel für eine Richtlinie:

"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"
      }
   ]
}

Das Feld Security kann auch WPA3-Enterprise_192 sein (WPA-EAP). Netzwerk mit WPA3-192-Bit-Modus konfiguriert.

"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"
      }
   ]
}