Puedes usar esta política para configurar redes Wi-Fi en un dispositivo. La API de Android Management usa Open Network Configuration, un formato estándar basado en JSON que se desarrolló originalmente como parte del proyecto de Chromium. Consulta la especificación para obtener todos los detalles sobre Open Network Configuration.
Para incluir una configuración de red abierta en una política, establece el campo openNetworkConfiguration
en un recurso Policy
.
En el caso de dispositivos completamente administrados, puedes evitar que un usuario establezca manualmente la configuración de Wi-Fi en su dispositivo. Para ello, establece wifiConfigDisabled
en true
en el recurso Policy
.
Funciones admitidas
La API de Android Management solo admite un subconjunto de la especificación Open Network Configuration.
- Objeto de nivel superior:
- Se debe omitir
Type
o se debe establecer enUnencryptedConfiguration
. No es necesario encriptar la configuración de red dentro de una política porque toda la política está encriptada en el servicio de la API de Android Management. Además, hay una segunda capa de encriptación para información sensible, como frases de contraseña y claves privadas.
- Se debe omitir
- Objetos
NetworkConfiguration
:GUID
,Name
,Type
yWiFi
son campos admitidos y todos son obligatorios.ProxySettings
es un campo opcional. Si se usa, solo se admitenManual
yPAC
(configuración automática de proxy).Type
debe configurarse comoWiFi
. No se admiten otros tipos de redes.
- Objetos
WiFi
:AllowGatewayARPPolling
no es compatible.SignalStrength
no es compatible.- Para las frases de contraseña
WEP-PSK
, solo se admiten frases de contraseña de 40 bits (10 dígitos) o 104 bits (26 dígitos). - La especificación establece que las frases de contraseña de
WEP-PSK
deben comenzar con el prefijo0x
. Sin embargo, para mantener la coherencia con el framework de Android, este prefijo no es obligatorio. - Para establecer el modo de aleatorización de MAC, usa la propiedad
MACAddressRandomizationMode
establecida con los valoresHardware
oAutomatic
. Por el momento, esta propiedad no está disponible en la especificación Open Network Configuration (ONC), pero se proporciona en AMAPI y se puede especificar durante la configuración de redes Wi-Fi. Esto se aplica solo a Android 13 y versiones posteriores en todos los modos de administración.Hardware
usa la dirección MAC de fábrica cuando se conecta a la red.Automatic
permite que el framework de Wi-Fi decida automáticamente la estrategia de aleatorización de MAC. Pueden ser direcciones MAC persistentes o no persistentes generadas de forma aleatoria que se usan mientras se conecta a la red.
- Objetos
EAP
:ClientCertPattern
no es compatible.SaveCredentials
no es compatible.UseSystemCAs
no es compatible.DomainSuffixMatch
.
Las configuraciones inalámbricas empresariales sin este campo (o con una lista vacía como valor) se consideran inseguras y la plataforma las rechaza. Los valores deben ser nombres de dominio válidos (p.ej., "example.com", "subdomain.example.com").ClientCertType
solo admite el valorRef
.- Los siguientes valores son compatibles con
Inner
:MSCHAPv2
,PAP
. - Los siguientes valores son compatibles con
Outer
:EAP-AKA
,EAP-TLS
,EAP-TTLS
,EAP-SIM
yPEAP
.
- Objetos
Certificate
:Remove
no es compatible. Omite el certificado en la configuración.TrustBits
no es compatible.
Ejemplos
Múltiples redes Wi-Fi
Este fragmento de política de ejemplo muestra tres redes Wi-Fi configuradas con diferentes esquemas de seguridad. El JSON de Open Network Configuration se anida en el campo openNetworkConfiguration
del JSON Policy
.
"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" } }] }
Autenticación de EAP
Este fragmento de política de ejemplo muestra una red inalámbrica configurada con autenticación EAP-TLS. Además del objeto NetworkConfigurations
, en el ejemplo se incluyen dos objetos Certificates
para los certificados de cliente y de servidor.
"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" } ] }