إعداد الشبكات

ويمكنك استخدام السياسة لضبط شبكات Wi-Fi على أحد الأجهزة. تستخدم واجهة برمجة التطبيقات Android Management API إعداد Open Network Configuration (إعدادات الشبكة المفتوحة)، وهو تنسيق عادي مستند إلى JSON تم تطويره في الأصل كجزء من مشروع Chromium. راجِع المواصفات للحصول على التفاصيل الكاملة عن إعدادات الشبكة المفتوحة.

لتضمين إعداد شبكة مفتوحة في إحدى السياسات، اضبط الحقل openNetworkConfiguration على أحد موارد Policy.

بالنسبة إلى الأجهزة المُدارة بالكامل، يمكنك اختياريًا منع المستخدم من ضبط إعدادات Wi-Fi يدويًا على جهازه من خلال ضبط wifiConfigDisabled على true في المرجع Policy.

الميزات المتاحة

لا تتوافق واجهة برمجة التطبيقات Android Management API إلا مع مجموعة فرعية من مواصفات ضبط شبكة Open Network.

  • عنصر المستوى الأعلى:
    • يجب حذف السمة Type أو ضبطها على السمة UnencryptedConfiguration. ليس هناك حاجة إلى تشفير إعدادات الشبكة ضمن السياسة، لأنّ السياسة بأكملها يتم تشفيرها ضمن خدمة Android Management API. بالإضافة إلى ذلك، هناك طبقة ثانية من التشفير للمعلومات الحساسة مثل عبارات المرور والمفاتيح الخاصة.
  • كائنات NetworkConfiguration:
    • تُعد GUID وName وType وWiFi حقولاً متاحة، وجميعها مطلوبة.
    • "ProxySettings" هو حقل اختياري. وفي حال استخدام ذلك، لن تتوفَّر سوى إمكانية Manual وPAC (الإعداد التلقائي للخادم الوكيل).
    • يجب ضبط 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 التي تم ضبطها مع القيمتَين Hardware أو Automatic. هذا الموقع غير متاح حاليًا في مواصفات إعداد الشبكة المفتوحة (ONC) ولكن يتم توفيره في AMAPI ويمكن تحديده أثناء إعداد شبكات Wi-Fi. لا ينطبق ذلك إلا على الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث في جميع أوضاع الإدارة.
      • يستخدم Hardware عنوان MAC للمصنع عند الاتصال بالشبكة.
      • يتيح Automatic لإطار عمل شبكة Wi-Fi تحديد استراتيجية توزيع MAC العشوائي تلقائيًا. وقد تكون عناوين MAC دائمة أو غير دائمة يتم إنشاؤها عشوائيًا ويتم استخدامها أثناء الاتصال بالشبكة.
  • كائنات EAP:
    • ‫"ClientCertPattern" غير متاح
    • ‫"SaveCredentials" غير متاح
    • ‫"UseSystemCAs" غير متاح
    • يمكن استخدام DomainSuffixMatch.
      تُعدّ عمليات ضبط الإعدادات اللاسلكية في Enterprise بدون هذا الحقل (أو تحتوي على قائمة فارغة كقيمة) على أنّها غير آمنة وترفضها النظام الأساسي. يجب أن تكون القيم أسماء نطاقات صالحة (مثل "example.com" أو "subdomain.example.com").
    • تتيح السمة ClientCertType استخدام القيمة Ref فقط.
    • القيم التالية مسموح بها للسمات Inner: MSCHAPv2 وPAP
    • يمكن استخدام القيم التالية للسمتَين Outer: EAP-AKA وEAP-TLS وEAP-TTLS وEAP-SIM وPEAP.
  • كائنات Certificate:
    • ‫"Remove" غير متاح احذف الشهادة في الإعداد بدلاً من ذلك.
    • ‫"TrustBits" غير متاح

أمثلة

شبكات Wi-Fi متعددة

يعرض هذا الجزء من السياسة ثلاث شبكات Wi-Fi تم ضبطها باستخدام أنظمة أمان مختلفة. يتم دمج تنسيق JSON لإعدادات الشبكة المفتوحة في الحقل openNetworkConfiguration من تنسيق 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"
   }
 }]
}

مصادقة بروتوكول المصادقة القابلة للتوسيع (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 ) زوج مفاتيح KeyChain المستخدَم في مصادقة Wi-Fi. في نظام التشغيل Android 12 والإصدارات الأحدث، يتم منح زوج مفاتيح KeyChain الذي له الاسم المستعار المحدَّد مع ClientCertKeyPairAlias لمصادقة شبكات Wi-Fi ويتم استخدامه لمصادقة شبكة Wi-Fi المقابلة. أسفل الإصدار 12 من نظام التشغيل Android، تم الإبلاغ عن 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 أيضًا 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"
      }
   ]
}