يمكنك استخدام السياسة لضبط شبكات Wi-Fi على جهاز. تستخدم واجهة برمجة التطبيقات Android Management API تنسيق Open Network Configuration، وهو تنسيق عادي مستند إلى JSON تم تطويره في الأصل كجزء من مشروع Chromium. يُرجى الرجوع إلى المواصفات للحصول على التفاصيل الكاملة حول إعداد الشبكة المفتوحة.
لتضمين إعداد شبكة مفتوحة في سياسة، اضبط الحقل
openNetworkConfiguration
في مورد
Policy
.
بالنسبة إلى الأجهزة المُدارة بالكامل، يمكنك اختياريًا منع المستخدم من
ضبط إعدادات Wi-Fi يدويًا على جهازه من خلال ضبط wifiConfigDisabled
على
true
في موارد
Policy
.
الميزات المتاحة
لا تتوافق واجهة برمجة التطبيقات Android Management API إلا مع مجموعة فرعية من مواصفات Open Network Configuration.
- العنصر من المستوى الأعلى:
- يجب حذف
Type
أو ضبطه علىUnencryptedConfiguration
. ليس هناك حاجة إلى تشفير إعدادات الشبكة ضمن سياسة معيّنة لأنّه يتم تشفير السياسة بأكملها ضمن خدمة Android Management API. بالإضافة إلى ذلك، هناك طبقة ثانية من التشفير للمعلومات العميقة مثل عبارات المرور والمفاتيح الخاصة.
- يجب حذف
- عناصر
NetworkConfiguration
:GUID
وName
وType
وWiFi
هي حقول متوافقة، وجميعها مطلوبة.ProxySettings
هو حقل اختياري. في حال استخدام هذا الإجراء، لا يُسمح إلا باستخدامManual
وPAC
(الإعداد التلقائي للخادم الوكيل).- يجب ضبط
Type
علىWiFi
. لا تتوفّر أنواع أخرى من الشبكات.
- عناصر
WiFi
:- تكون السمتَان
SSID
وHexSSID
متوافقتَين ويجب أن تكون إحداهما متوفّرة على الأقل.- في حال ضبط كلّ من
HexSSID
وSSID
، يجب أن تكون القيم متسقة.
- في حال ضبط كلّ من
-
HiddenSSID
متوافقة. - "
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
set مع القيمHardware
أوAutomatic
. لا تتوفّر هذه السمة حاليًا في مواصفات Open Network Configuration (ONC)، ولكنها متوفّرة في AMAPI ويمكن تحديدها أثناء ضبط شبكات WiFi. لا ينطبق ذلك إلا على الإصدار 13 من نظام التشغيل Android والإصدارات الأحدث في جميع أوضاع الإدارة.- يستخدم
Hardware
عنوان MAC الأصلي عند الاتصال بالشبكة. Automatic
يتيح لإطار عمل Wi-Fi تحديد استراتيجية التوزيع العشوائي لعنوان MAC تلقائيًا. يمكن أن تكون هذه العناوين ثابتة أو غير ثابتة عناوين MAC تم إنشاؤها عشوائيًا ويتم استخدامها أثناء الاتصال بالشبكة.
- يستخدم
- تكون السمتَان
- عناصر
EAP
:- "
ClientCertPattern
" غير متاح - إنّ
SaveCredentials
غير متاحة لأنّه يتم حفظ بيانات الاعتماد دائمًا. - "
UseSystemCAs
" غير متاح -
ServerCARef
متوافقة. -
ServerCARefs
متوافقة. -
DomainSuffixMatch
متوافقة. إنّ إعدادات الشبكات اللاسلكية للمؤسسات التي لا تتضمّن هذا الحقل (أو التي تتضمّن ملفًا شخصيًا فارغًا كقيمة) تُعدّ غير آمنة وترفضها المنصة. يجب أن تكون القيم أسماء نطاقات صالحة (مثل "example.com"، "subdomain.example.com"). - في ما يلي القيم المسموح بها لسمة
ClientCertType
:Ref
وKeyPairAlias
. - في ما يلي القيم المسموح بها لسمة
Inner
:MSCHAPv2
وPAP
. - القيم التالية مسموح بها لسمة
Outer
:EAP-AKA
وEAP-TLS
EAP-TTLS
وEAP-SIM
وPEAP
- "
- عناصر
Certificate
:- "
Remove
" غير متاح واصِل عملية الإعداد بدون تضمين الشهادة. - "
TrustBits
" غير متاح
- "
أمثلة
شبكات Wi-Fi متعددة
يعرض مثال المقتطف من السياسة هذا ثلاث شبكات Wi-Fi تم ضبطها باستخدام
مخططات أمان مختلفة. يكون تنسيق JSON الخاص بإعدادات الشبكة المفتوحة مُدمجًا في
حقل 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" ], "ServerCARefs": ["abc123"], "ClientCertType": "Ref", "ClientCertRef": "xyz456" }, "Security": "WPA-EAP" } } ], "Certificates": [ { "GUID": "abc123", "Type": "Server", "X509": "TWFuIGlzIGRpc3Rpbmd1a" }, { "GUID": "xyz456", "Type": "Client", "PKCS12": "6PQIEQYJKoZbdDu8gwggRlqCCAPEbAAcGClgvcNAQc" } ] }
يمكن أيضًا ضبط الحقل ClientCertType
على KeyPairAlias
، ويمكن استخدام الحقل
ClientCertKeyPairAlias
لتحديد الاسم المعرِّف لمفتاح مفتاح KeyChain المثبَّت
(راجِع
DevicePolicyManager.installKeyPair
)
أو الذي تم إنشاؤه (راجِع
DevicePolicyManager.generateKeyPair
) والذي يتم استخدامه لمصادقة Wi-Fi. في الإصدار 12 من نظام التشغيل Android والإصدارات
الأحدث، يتم منح مفتاحَي التشفير في 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" ], "ServerCARefs": ["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", "ServerCARefs": ["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" } ] }