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 in der 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
.
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 aufUnencryptedConfiguration
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: <ph type="x-smartling-placeholder">- </ph>
GUID
,Name
,Type
undWiFi
sind unterstützten Felder und sind alle Pflichtfelder.ProxySettings
ist ein optionales Feld. Bei Verwendung dieser OptionManual
undPAC
(Proxy-Autokonfiguration) werden unterstützt.Type
muss aufWiFi
festgelegt sein. Andere Netzwerktypen werden nicht unterstützt.
WiFi
-Objekte: <ph type="x-smartling-placeholder">- </ph>
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_192WEP-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äfix0x
. Aus Gründen der Einheitlichkeit mit dem Android-Framework ist nicht erforderlich. - Verwenden Sie die Property
MACAddressRandomizationMode
, um den MAC-Zufallsmodus festzulegen. mit den WertenHardware
oderAutomatic
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
kann 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: <ph type="x-smartling-placeholder">- </ph>
ClientCertPattern
wird nicht unterstützt.SaveCredentials
wird nicht unterstützt, da Anmeldedaten immer gespeichert werden.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 sein 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: <ph type="x-smartling-placeholder">- </ph>
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 Parameter
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 der angegebene Schlüsselpaar-Alias
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, was ein WPA-EAP ist
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" } ] }