ネットワークの構成

ポリシーを使用してデバイスで Wi-Fi ネットワークを設定できます。Android Management API は、標準の JSON ベースの形式である Open Network Configuration を使用します。 これは元々 Chromium プロジェクトの一環として開発されました。詳しくは、 仕様 をご覧ください。

オープンなネットワーク構成をポリシーに含めるには、 openNetworkConfiguration フィールド Policy リソースです。

完全管理対象デバイスの場合、ユーザーが手動で デバイスでの Wi-Fi 設定の構成: wifiConfigDisabledtruePolicy リソースです。

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

サポートされている機能

Android Management API は、Open Network の一部のみをサポートしている 構成仕様。

  • 最上位オブジェクト: <ph type="x-smartling-placeholder">
      </ph>
    • Type は省略するか、UnencryptedConfiguration に設定する必要があります。「 暗号化する必要があるため、ポリシー内のネットワーク構成が Android Management API サービス内でポリシー全体が暗号化されます。 さらに、機密を保持するために別の暗号化レイヤが 秘密鍵などの情報を暗号化します。
  • NetworkConfiguration オブジェクト: <ph type="x-smartling-placeholder">
      </ph>
    • GUIDNameTypeWiFi: すべて必須です
    • ProxySettings は、オプション フィールドです。これを使用する場合は、 ManualPAC(プロキシの自動構成)がサポートされています。
    • TypeWiFi に設定する必要があります。他のタイプのネットワークはサポートされていません。
  • WiFi オブジェクト: <ph type="x-smartling-placeholder">
      </ph>
    • 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 プロパティを使用します。 値 Hardware または Automatic で設定します。このプロパティは現在、 Open Network Configuration(ONC)仕様 AMAPI で提供され、Wi-Fi ネットワークの設定時に指定できます。これは、すべての管理モードの Android 13 以降にのみ適用されます。
      • Hardware は、ネットワークへの接続時に出荷時の MAC アドレスを使用します。
      • Automatic: Wi-Fi フレームワークが自動的に MAC を決定できるようにします。 ランダム化戦略です。これは、永続的または非永続的のいずれかになります。 ランダムに生成された MAC アドレスで、 通信できます。
  • EAP オブジェクト: <ph type="x-smartling-placeholder">
      </ph>
    • ClientCertPattern はご利用になれません。
    • 認証情報は常に保存されるため、SaveCredentials はサポートされていません。
    • UseSystemCAs はご利用になれません。
    • DomainSuffixMatch がサポートされています。 このフィールドのない(または空白の)企業向けワイヤレス設定 リストなど)は、 安全でない、プラットフォームによって拒否された場合。 値は有効なドメイン名である必要があります(例: 「example.com」、 例: 「subdomain.example.com」)。
    • ClientCertType でサポートされている値は、RefKeyPairAlias です。
    • Inner でサポートされている値は、MSCHAPv2PAP です。
    • Outer では、EAP-AKAEAP-TLSEAP-TTLSEAP-SIMPEAP
  • Certificate オブジェクト: <ph type="x-smartling-placeholder">
      </ph>
    • Remove はサポートされていません。構成で証明書を省略する してください。
    • TrustBits はご利用になれません。

複数の Wi-Fi ネットワーク

このポリシー フラグメントの例は、3 つの Wi-Fi ネットワークで構成され、 さまざまなセキュリティ スキームを用意しています。Open Network Configuration JSON は、 openNetworkConfiguration フィールド 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"
      }
    }
  ]
}

EAP 認証

このポリシー フラグメントの例は、EAP-TLS で構成されたワイヤレス ネットワークを示しています あります。この例では、NetworkConfigurations オブジェクトに加えて、 クライアント証明書とサーバー証明書の 2 つの 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 報告されます。 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 フィールドは、WPA-EAP である WPA3-Enterprise_192 にすることもできます。 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"
      }
   ]
}