إعدادات موصى بها لعزل الشبكة

اتبع الخطوات أدناه لتقييد الوصول العام لموارد QnA Maker. حماية مورد خدمات Azure الذكاء الاصطناعي من الوصول العام عن طريق تكوين الشبكة الظاهرية.

إشعار

ستتوقف خدمة QnA Maker في 31 مارس 2025. يتوفر الآن إصدار أحدث من إمكانية السؤال والإجابة كجزء من Azure الذكاء الاصطناعي Language. للحصول على إمكانيات الإجابة على الأسئلة داخل خدمة اللغة، راجع الإجابة على الأسئلة. اعتبارًا من 1 أكتوبر 2022، لن تتمكن من إنشاء موارد QnA Maker جديدة. للحصول على معلومات عن ترحيل قواعد معارف صانع QnA الحالية إلى الإجابة على الأسئلة، راجع دليل الترحيل .

تقييد الوصول لخدمة التطبيق (وقت تشغيل QnA)

يمكن استخدام ServiceTag CognitiveServicesMangement لتقييد الوصول الوارد إلى قواعد أمان شبكة خدمة التطبيق أو ASE الواردة (بيئة خدمة التطبيق). يرجى مراجعة المزيد من المعلومات حول علامات الخدمة في مقالة علامات خدمة الشبكة الظاهرية.

الخدمة الخاصة بالتطبيقات العادية

  1. افتح Cloud Shell (PowerShell) من مدخل Microsoft Azure.
  2. شغل الأمر التالي في نافذة PowerShell في أسفل الصفحة:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "<resource group name>" -WebAppName "<app service name>" -Name "Cognitive Services Tag" -Priority 100 -Action Allow -ServiceTag "CognitiveServicesManagement" 
  1. تأكد من وجود قاعدة الوصول المضافة في قسم قيود الوصول في علامة التبويب Networking :

    Screenshot of access restriction rule

  2. للوصول إلى جزء الاختبار في مدخل https://qnamaker.ai، أضف عنوان IP العام للجهاز أينما تريد الوصول إلى المدخل. من صفحة قيود الوصول، حدد إضافة قاعدة، واسمح بالوصول إلى عنوان IP للعميل.

    Screenshot of access restriction rule with the addition of public IP address

الوصول الخارجي من خدمة التطبيق

تتطلب QnA Maker App Service الوصول الصادر إلى نقطة النهاية أدناه. تأكد من إضافته إلى قائمة السماح إذا كانت هناك أي قيود على حركة المرور الصادرة.

تكوين بيئة خدمة التطبيق لاستضافة خدمة تطبيق QnA Maker

ومن الممكن استخدام بيئة خدمة التطبيقات (ASE) لاستضافة مثيل خدمة التطبيق QnA Maker. اتبع الخطوات التالية:

  1. إنشاء مورد بحث Azure الذكاء الاصطناعي جديد.

  2. أنشئ ASE خارجي باستخدام خدمة التطبيق.

    • اتبع هذا التشغيل السريع لخدمة التطبيق للحصول على الإرشادات. يمكن أن تستغرق هذه العملية ما يصل إلى 1-2 ساعة.
    • وأخيرا، سيكون لديك نقطة نهاية App Service التي ستظهر مشابهة ل: https://<app service name>.<ASE name>.p.azurewebsite.net .
    • مثال: https:// mywebsite.myase.p.azurewebsite.net
  3. أضف تكوينات خدمة التطبيق الآتية:

    الاسم القيمة‬
    PrimaryEndpointKey <app service name>-PrimaryEndpointKey
    AzureSearchName <Azure AI Search Resource Name from step #1>
    AzureSearchAdminKey <Azure AI Search Resource admin Key from step #1>
    QNAMAKER_EXTENSION_VERSION latest
    DefaultAnswer no answer found
  4. أضف أصل CORS "*" على خدمة التطبيق للسماح بالوصول إلى جزء https://qnamaker.ai اختبار المدخل. يقع CORS ضمن عنوان واجهة برمجة التطبيقات في جزء خدمة التطبيقات.

    Screenshot of CORS interface within App Service UI

  5. إنشاء مثيل خدمات QnA Maker Azure الذكاء الاصطناعي (Microsoft.CognitiveServices/accounts) باستخدام Azure Resource Manager. يجب تعيين نقطة نهاية QnA Maker إلى نقطة نهاية خدمة التطبيق التي تم إنشاؤها أعلاه (https:// mywebsite.myase.p.azurewebsite.net). فيما يلي نموذج قالب Azure Resource Manager يمكنك استخدامه للرجوع إليه.

هل يمكن توزيع QnA Maker في ASE داخلي؟

السبب الرئيس لاستخدام ASE خارجي هو أن الواجهة الخلفية لخدمة QnAMaker (إنشاء واجهات برمجة التطبيقات) يمكن أن تصل إلى خدمة التطبيق عبر الإنترنت. ومع ذلك، لا يزال بإمكانك حمايته عن طريق إضافة تقييد الوصول الوارد للسماح بالاتصالات فقط من العناوين المقترنة بعلامة الخدمة CognitiveServicesManagement.

إن كنت لا تزال ترغب في استخدام ASE داخلي، فأنت بحاجة إلى كشف تطبيق QnA Maker المحدد في ASE على مجال عام عبر شهادة DNS TLS/SSL لبوابة التطبيق. للمزيد من المعلومات، يرجى مراجعة هذه المقالة حول نشر المؤسسة لخدمات التطبيقات.

تقييد وصول إلى مورد البحث المعرفي

يمكن عزل مثيل البحث المعرفي عبر نقطة نهاية خاصة وذلك بعد إنشاء موارد QnA Maker. استخدم الخطوات الآتية لتأمين الوصول:

  1. أنشئشبكة ظاهرية جديدة (VNet) أو استخدام شبكة ظاهرية موجودة من ASE (بيئة خدمة التطبيق).

  2. قم بفتح مورد VNet، ثم ضمن علامة التبويب Subnets أنشئ شبكتين فرعيتين. واحد لخدمة التطبيقات (appservicesubnet) وشبكة فرعية أخرى(searchservicesubnet) لمورد البحث المعرفي بدون تفويض.

    Screenshot of virtual networks subnets UI interface

  3. الآن، انتقل إلى علامة التبويب Networking في مثيل خدمة Azure Search وقم بتبديل بيانات اتصال نقطة النهاية من عام إلى خاص. هذه العملية هي عملية طويلة الأمد ويمكن أن تستغرق ما يصل إلى 30 دقيقةلإكمالها.

    Screenshot of networking UI with public/private toggle button

  4. بمجرد تبديل مورد البحث إلى خاص، حدد إضافة private endpoint.

    • علامة تبويب الأساسيات: تأكد من إنشاء نقطة النهاية في نفس المنطقة مثل مورد البحث.
    • علامة تبويب المورد: حدد مورد البحث المطلوب من نوع Microsoft.Search/searchServices.

    Screenshot of create a private endpoint UI window

    • علامة تبويب التكوين: استخدم الشبكة الظاهرية، الشبكة الفرعية (searchservicesubnet) المنشئة في الخطوة 2. وبعد ذلك، في القسم تكامل DNS الخاص حدد الاشتراك المقابل وأنشئ منطقة DNS خاصة جديدة تسمى privatelink.search.windows.net.

    Screenshot of create private endpoint UI window with subnet field populated

  5. تمكين تكامل VNET لخدمة التطبيقات العادية. يمكن تخطي هذه الخطوة لـ ASE، لأن ذلك لديه بالفعل حق الوصول إلى VNET.

    • انتقل إلى قسم خدمة التطبيق Networking، وافتح VNet Integration.
    • قم بربطها بالشبكة الظاهرية لخدمة التطبيقات المخصصة، والشبكة الفرعية (appservicevnet) التي تم إنشاؤها في الخطوة 2.

    Screenshot of VNET integration UI

انشئ نقاط نهاية خاصة إلى مورد Azure Search.

اتبع الخطوات أدناه لتقييد الوصول العام لموارد QnA Maker. حماية مورد خدمات Azure الذكاء الاصطناعي من الوصول العام عن طريق تكوين الشبكة الظاهرية.

بعد تقييد الوصول إلى مورد خدمة Azure الذكاء الاصطناعي استنادا إلى VNet، لاستعراض قاعدة المعارف على https://qnamaker.ai المدخل من شبكتك المحلية أو المستعرض المحلي.

  • منح حق الوصول إلى شبكة محلية.

  • منح حق الوصول إلى مستعرض/جهاز محلي.

  • أضف قسم عنوان IP العام للجهاز ضمن جدار الحماية من علامة التبويب Networking. بشكل افتراضي يعرض portal.azure.comIP العام لجهاز الاستعراض الحالي (حدد هذا الإدخال) ثم حدد Save.

    Screenshot of firewall and virtual networks configuration UI