設定網路

您可以使用政策設定裝置上的 Wi-Fi 網路。Android Management API 使用開放網路設定,也就是標準的 JSON 格式 這個模型最初是做為 Chromium 專案的一部分所開發詳情請參閱 規格 ,進一步瞭解「開放網路設定」。

如要在政策中加入「開放網路設定」,請設定 是 openNetworkConfiguration 欄位 Policy 資源。

針對完全受管理的裝置,您可以選擇避免使用者手動 在裝置上將 wifiConfigDisabled 設為 truePolicy敬上 資源。

支援的功能

Android Management API 僅支援部分開放網路 設定規格。

  • 頂層物件:
    • Type必須省略或設為 UnencryptedConfiguration。由於沒有 您需要將政策中的網路設定加密,因為 整個政策都會在 Android Management API 服務中加密。 此外,機密性還有第二層加密 例如通關密語和私密金鑰
  • NetworkConfiguration 物件:
    • GUIDNameTypeWiFi 所有支援的欄位,均為必填。
    • ProxySettings 是選用欄位。使用這個引數時 支援 ManualPAC (Proxy 自動設定)。
    • Type」必須設為「WiFi」。其他類型的網路則不在支援範圍內。
  • WiFi 物件:
    • 不支援「AllowGatewayARPPolling」。
    • 不支援「SignalStrength」。
    • Security 為必要項目,且支援下列值: - 無 - WEP-PSK - WPA-PSK - WPA-EAP - WEP-8021X - WPA3-Enterprise_192
    • 如果是 WEP-PSK 通關密語,必須是 40 位元 (10 位數) 或 104 位元 (26 位數) 系統支援通關密語。
    • 根據規格,WEP-PSK 通關密語必須以 前置字串為 0x。不過,為了與 Android 架構保持一致, 不必輸入前置字元。
    • 如要設定 MAC 隨機化模式,請使用 MACAddressRandomizationMode 屬性 值為 HardwareAutomatic。這個房源目前 不適用於開放網路設定 (ONC) 規格 ,但是在 AMAPI 中提供,可以在設定 WiFi 網路時指定。這項設定僅適用於 Android 13 以上版本的所有管理模式。
      • Hardware 會在連線至網路時使用原廠 MAC 位址。
      • Automatic 可讓 Wi-Fi 架構自動決定 MAC 隨機化策略可以是永久性或非永久性兩者的資料。 隨機產生的 MAC 位址,用來連線至 網路。
  • EAP 物件:
    • 不支援「ClientCertPattern」。
    • 不支援 SaveCredentials,因為系統一律會儲存憑證。
    • 不支援「UseSystemCAs」。
    • 系統支援 DomainSuffixMatch。 沒有這個欄位 (或空白) 的企業無線設定 清單視為值) 並遭平台拒絕。 值應為有效的網域名稱 (例如「example.com」 「subdomain.example.com」)。
    • ClientCertType 支援下列值:RefKeyPairAlias
    • Inner 支援下列值:MSCHAPv2PAP
    • Outer 支援下列值:EAP-AKAEAP-TLSEAP-TTLSEAP-SIMPEAP
  • Certificate 物件:
    • 我們不支援 Remove。在設定中省略憑證 。
    • 不支援「TrustBits」。

範例

多個 Wi-Fi 網路

這個政策片段範例顯示三個已設定 同時使用不同的安全配置「開放網路設定」JSON 內嵌在 確認 Deployment 的 openNetworkConfiguration 欄位 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 驗證

這個政策片段範例顯示採用 EAP-TLS 設定的無線網路 驗證。除了 NetworkConfigurations 物件之外,範例 包含兩個用於用戶端和伺服器憑證的 Certificates 物件。

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

ClientCertType 欄位也可設為 KeyPairAlias,且 ClientCertKeyPairAlias 欄位可以用來指定已安裝的別名 (請參閱 DevicePolicyManager.installKeyPair ) 或已產生 (詳情請參閱 DevicePolicyManager.generateKeyPair ) 用於 Wi-Fi 驗證的 KeyChain 金鑰組。Android 12 和 上述的 KeyChain 金鑰組,均已指定別名 已授予 ClientCertKeyPairAlias 驗證 Wi-Fi 網路的權限,且目前執行個體為 用於驗證對應的 Wi-Fi 網路。在 Android 12 以下版本中, nonComplianceDetail敬上 同時 API_LEVEL 原因。A 罩杯 nonComplianceDetail敬上 同時 INVALID_VALUE 原因和 ONC_WIFI_KEY_PAIR_ALIAS_NOT_CORRESPONDING_TO_EXISTING_KEY 指定的金鑰組別名未對應至特定金鑰時,將回報特定原因 現有金鑰以下是政策示例:

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

Security 欄位也可以是 WPA3-Enterprise_192 為 WPA-EAP 網路設定為 WPA3 192 位元模式。

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