وصول المفهرس إلى المحتوى المحمي بواسطة ميزات أمان شبكة Azure
يمكن لمفهرسي البحث المعرفي في Azure إجراء مكالمات صادرة إلى موارد Azure المختلفة أثناء التنفيذ. توضح هذه المقالة المفاهيم الكامنة وراء وصول المفهرس إلى المحتوى المحمي بواسطة جدران حماية IP أو نقاط النهاية الخاصة أو آليات الأمان الأخرى على مستوى شبكة Azure.
الموارد التي يتم الوصول إليها بواسطة المفهرسين
يقوم المفهرس بإجراء مكالمات صادرة في ثلاث حالات:
- الاتصال بمصادر البيانات الخارجية أثناء الفهرسة
- الاتصال بالتعليمات البرمجية الخارجية المغلفة من خلال مجموعة من المهارات
- الاتصال ب Azure Storage أثناء تنفيذ مجموعة المهارات لتخزين الإثراءات مؤقتا أو حفظ حالة جلسة تصحيح الأخطاء أو الكتابة إلى مخزن معارف
يتم سرد قائمة بجميع أنواع الموارد المحتملة التي قد يصل إليها مفهرس في تشغيل نموذجي في الجدول أدناه.
| المورد | الغرض داخل تشغيل المفهرس |
|---|---|
| Azure Storage (blobs, ADLS Gen 2, files, tables) | مصدر البيانات |
| Azure Storage (blobs, tables) | مجموعات المهارات (إثراء التخزين المؤقت، وجلسات تصحيح الأخطاء، وتوقعات مخزن المعرفة) |
| Azure Cosmos DB (واجهات برمجة التطبيقات المختلفة) | مصدر البيانات |
| قاعدة بيانات Azure SQL | مصدر البيانات |
| Microsoft SQL Server على أجهزة Azure الظاهرية | مصدر البيانات |
| مثيل SQL المدار | مصدر البيانات |
| دالات Azure | مرفق بمجموعة مهارات ويستخدم لاستضافة مهارات واجهة برمجة تطبيقات الويب المخصصة |
ملاحظة
يتصل المفهرس أيضا بالخدمات المعرفية للحصول على مهارات مدمجة. ومع ذلك، يتم إجراء هذا الاتصال عبر الشبكة الداخلية ولا يخضع لأي أحكام تتعلق بالشبكة تحت سيطرتك.
يمكن حماية موارد Azure الخاصة بك باستخدام أي عدد من آليات عزل الشبكة التي يوفرها Azure. اعتمادا على المورد والمنطقة، يمكن لمفهرسي البحث المعرفي إجراء اتصالات صادرة من خلال جدران حماية IP ونقاط النهاية الخاصة، مع مراعاة القيود المشار إليها في الجدول التالي.
| المورد | تقييد الملكية الفكرية | نقطة نهاية خاصة |
|---|---|---|
| Azure Storage للفهرسة المستندة إلى النص (النقط، ADLS Gen 2، الملفات، الجداول) | مدعوم فقط إذا كان حساب التخزين وخدمة البحث في مناطق مختلفة. | مدعوم |
| Azure Storage for الذكاء الاصطناعي enrichment (التخزين المؤقت، جلسات التصحيح، مخزن المعارف) | مدعوم فقط إذا كان حساب التخزين وخدمة البحث في مناطق مختلفة. | مدعوم |
| Azure Cosmos DB - SQL API | مدعوم | مدعوم |
| Azure Cosmos DB - MongoDB API | مدعوم | غير مدعوم |
| Azure Cosmos DB - Gremlin API | مدعوم | غير مدعوم |
| Azure SQL Database | مدعوم | مدعوم |
| Microsoft SQL Server على أجهزة Azure الظاهرية | مدعوم | غير متوفر |
| مثيل SQL المدار | مدعوم | غير متوفر |
| دالات Azure | مدعوم | معتمد، فقط لمستويات معينة من وظائف Azure |
الوصول إلى حساب تخزين محمي بالشبكة
تخزن خدمة البحث الفهارس وقوائم المرادفات. بالنسبة للميزات الأخرى التي تتطلب تخزينا، يعتمد البحث المعرفي على تخزين Azure. يندرج التخزين المؤقت للإثراء، وجلسات تصحيح الأخطاء، ومخازن المعرفة ضمن هذه الفئة. سيحدد موقع كل خدمة، وأي حماية للشبكة مطبقة للتخزين، استراتيجية الوصول إلى البيانات الخاصة بك.
خدمات المنطقة نفسها
في Azure Storage، يتطلب الوصول من خلال جدار حماية أن ينشأ الطلب من منطقة مختلفة. إذا كان Azure Storage وAzure Cognitive Search موجودين في نفس المنطقة، فيمكنك تجاوز قيود IP على حساب التخزين عن طريق الوصول إلى البيانات ضمن هوية النظام لخدمة البحث.
هناك خياران لدعم الوصول إلى البيانات باستخدام هوية النظام:
قم بتكوين البحث ليعمل كخدمة موثوق بها واستخدم استثناء الخدمة الموثوق بها في Azure Storage.
تكوين قاعدة مثيل مورد (معاينة) في Azure Storage التي تقبل الطلبات الواردة من مورد Azure.
تعتمد الخيارات المذكورة أعلاه على Azure Active Directory للمصادقة، مما يعني أنه يجب إجراء الاتصال باستخدام تسجيل دخول Azure AD. حاليا، يتم دعم الهوية المدارة المعينة من قبل نظام البحث المعرفي فقط للاتصالات في نفس المنطقة من خلال جدار حماية.
الخدمات في مناطق مختلفة
عندما يكون البحث والتخزين في مناطق مختلفة، يمكنك استخدام الخيارات المذكورة سابقا أو إعداد قواعد IP التي تقبل الطلبات المقدمة من خدمتك. استنادا إلى عبء العمل، قد تحتاج إلى إعداد قواعد لبيئات تنفيذ متعددة كما هو موضح في القسم التالي.
بيئة تنفيذ المفهرس
مفهرسو البحث المعرفي في Azure قادرون على استخراج المحتوى بكفاءة من مصادر البيانات، وإضافة إثراءات إلى المحتوى المستخرج، وإنشاء إسقاطات اختياريا قبل كتابة النتائج إلى فهرس البحث.
للحصول على المعالجة المثلى، ستحدد خدمة البحث بيئة تنفيذ داخلية لإعداد العملية. استنادا إلى عدد المهام المعينة وأنواعها، سيتم تشغيل المفهرس في إحدى بيئتين:
بيئة خاصة بخدمة بحث معينة. تشارك المفهرسات التي تعمل في مثل هذه البيئات الموارد مع أحمال العمل الأخرى (مثل أحمال عمل الفهرسة أو الاستعلام الأخرى التي يبدأها العميل). عادة، يتم تشغيل المفهرسات التي تقوم بإجراء فهرسة مستندة إلى النص فقط (على سبيل المثال، لا تستخدم مجموعة مهارات) في هذه البيئة.
بيئة متعددة المستأجرين تستضيف مفهرسات كثيفة الاستخدام للموارد - مثل المفهرسين الذين لديهم مجموعات مهارات ، والمفهرسين الذين يعالجون المستندات الكبيرة ، والمفهرسين الذين يعالجون الكثير من المستندات وما إلى ذلك. يتم استخدام هذه البيئة لتفريغ المعالجة المكثفة حسابيا، مما يترك الموارد الخاصة بالخدمة متاحة للعمليات الروتينية. تتم إدارة هذه البيئة متعددة المستأجرين وتأمينها بواسطة Microsoft ، دون أي تكلفة إضافية على العميل.
بالنسبة لأي تشغيل مفهرس معين، يحدد Azure Cognitive Search أفضل بيئة لتشغيل المفهرس. إذا كنت تستخدم جدار حماية IP للتحكم في الوصول إلى موارد Azure، فستساعدك معرفة بيئات التنفيذ في إعداد نطاق IP شامل لكليهما، كما هو موضح في القسم التالي.
منح حق الوصول إلى نطاقات IP للمفهرس
إذا كان المورد الذي يسحب منه المفهرس البيانات موجودا خلف جدار حماية، فستحتاج إلى قواعد واردة تقبل اتصالات المفهرس. تأكد من أن نطاقات IP في القواعد الواردة تتضمن جميع عناوين IP التي يمكن أن ينشأ منها طلب مفهرس. وكما ذكر أعلاه، هناك بيئتان محتملتان تعمل فيهما المفهرسات ويمكن أن تنشأ منهما طلبات الوصول. ستحتاج إلى إضافة عناوين IP لكلتا البيئتين للوصول إلى المفهرس إلى العمل.
للحصول على عنوان IP للبيئة الخاصة بخدمة البحث، استخدم
nslookup(أوping) اسم النطاق المؤهل بالكامل (FQDN) لخدمة البحث الخاصة بك. سيكون FQDN لخدمة البحث في السحابة<service-name>.search.windows.netالعامة .للحصول على عناوين IP للبيئات متعددة المستأجرين التي قد يتم تشغيل مفهرس خلالها
AzureCognitiveSearch، استخدم علامة الخدمة. تحتوي علامات خدمة Azure على نطاق منشور من عناوين IP لكل خدمة. يمكنك العثور على عناوين IP هذه باستخدام واجهة برمجة تطبيقات الاكتشاف أو ملف JSON قابل للتنزيل. في كلتا الحالتين ، يتم تقسيم نطاقات IP حسب المنطقة. يجب عليك فقط تحديد نطاقات IP المعينة للمنطقة التي يتم فيها توفير خدمة البحث الخاصة بك.
بالنسبة لبعض مصادر البيانات، يمكن استخدام علامة الخدمة نفسها مباشرة بدلا من تعداد قائمة نطاقات IP (لا يزال عنوان IP لخدمة البحث بحاجة إلى استخدامه صراحة). تقيد مصادر البيانات هذه الوصول عن طريق إعداد قاعدة مجموعة أمان الشبكة، والتي تدعم في الأصل إضافة علامة خدمة، على عكس قواعد IP مثل تلك التي يقدمها Azure Storage وCosmos DB وAzure SQL وما إلى ذلك. مصادر البيانات التي تدعم القدرة على استخدام AzureCognitiveSearch علامة الخدمة مباشرة بالإضافة إلى عنوان IP لخدمة البحث هي:
منح حق الوصول عبر نقاط النهاية الخاصة
عند دمج Azure Cognitive Search في حل يعمل على شبكة ظاهرية، ضع في اعتبارك القيود التالية:
- لا يمكن للمفهرس إجراء اتصال مباشر بنقطة نهاية خدمة شبكة افتراضية. نقاط النهاية العامة مع بيانات الاعتماد ونقاط النهاية الخاصة والخدمة الموثوق بها وعنوان IP هي المنهجيات الوحيدة المدعومة لاتصالات المفهرس.
- تعمل خدمة البحث دائما في السحابة ولا يمكن توفيرها في شبكة افتراضية معينة ، تعمل أصلا على جهاز افتراضي. لن يتم توفير هذه الوظيفة بواسطة Azure Cognitive Search.
لتحقيق التكامل، يمكنك استخدام نقاط النهاية الخاصة على الاتصالات الصادرة بالموارد المؤمنة (التي تعمل على شبكة ظاهرية محمية، أو غير متوفرة عبر اتصال عام).
الآلية التي تتصل بها خدمة البحث بموردك المحمي هي من خلال رابط خاص مشترك. الارتباط الخاص المشترك هو مورد Azure Private Link الذي تم إنشاؤه وإدارته واستخدامه من داخل البحث المعرفي.
تأثير الفوترة
يتطلب الارتباط الخاص المشترك خدمة بحث قابلة للفوترة، حيث يكون الحد الأدنى للطبقة إما أساسيا للفهرسة المستندة إلى النص أو المعيار 2 (S2) للفهرسة المستندة إلى المهارات. راجع حدود الطبقة على عدد نقاط النهاية الخاصة للحصول على التفاصيل.
تخضع الاتصالات الواردة والصادرة لتسعير Azure Private Link.
الخطوة 1: إنشاء نقطة نهاية خاصة للمورد الآمن
في Azure Cognitive Search، يمكنك إنشاء ارتباط خاص مشترك باستخدام البوابة الإلكترونية أو واجهة برمجة تطبيقات الإدارة.
ستنشأ حركة المرور التي تمر عبر اتصال نقطة النهاية الخاص (الصادر) هذا فقط من الشبكة الظاهرية الموجودة في بيئة تنفيذ المفهرس "الخاص" الخاصة بخدمة البحث.
سيقوم Azure Cognitive Search بالتحقق من صحة أن المتصلين بواجهة برمجة التطبيقات هذه لديهم أذونات دور Azure RBAC للموافقة على طلبات اتصال نقطة النهاية الخاصة بالمورد الآمن. على سبيل المثال، إذا طلبت اتصال نقطة نهاية خاصة بحساب تخزين بأذونات للقراءة فقط، رفض هذه المكالمة.
الخطوة 2: الموافقة على اتصال نقطة النهاية الخاصة
عند اكتمال العملية (غير المتزامنة) التي تنشئ مورد ارتباط خاص مشترك، سيتم إنشاء اتصال نقطة نهاية خاص في حالة "معلقة". لا تتدفق حركة المرور عبر الاتصال حتى الآن.
ثم يتوقع من العميل تحديد موقع هذا الطلب على مورده الآمن و "الموافقة" عليه. عادة ، يمكن القيام بذلك إما عبر مدخل Azure أو عبر واجهة برمجة تطبيقات REST.
الخطوة 3: فرض تشغيل المفهرسات في البيئة "الخاصة"
تسمح نقطة النهاية الخاصة المعتمدة بالنجاح للمكالمات الصادرة من خدمة البحث إلى مورد يحتوي على شكل من أشكال قيود الوصول على مستوى الشبكة (على سبيل المثال مصدر بيانات حساب التخزين الذي تم تكوينه للوصول إليه فقط من شبكات افتراضية معينة).
وهذا يعني أن أي مفهرس قادر على الوصول إلى مصدر البيانات هذا عبر نقطة النهاية الخاصة سينجح.
إذا لم تتم الموافقة على نقطة النهاية الخاصة ، أو إذا لم يستخدم المفهرس اتصال نقطة النهاية الخاصة ، فسينتهي تشغيل المفهرس في transientFailure.
لتمكين المفهرسين من الوصول إلى الموارد عبر اتصالات نقطة النهاية الخاصة، من الضروري executionEnvironment تعيين المفهرس "Private" للتأكد من أن جميع عمليات تشغيل المفهرس ستكون قادرة على استخدام نقطة النهاية الخاصة. وذلك لأن نقاط النهاية الخاصة يتم توفيرها داخل البيئة الخاصة بخدمة البحث الخاصة.
{
"name" : "myindexer",
... other indexer properties
"parameters" : {
... other parameters
"configuration" : {
... other configuration properties
"executionEnvironment": "Private"
}
}
}
يتم وصف هذه الخطوات بمزيد من التفصيل في اتصالات المفهرس من خلال نقطة نهاية خاصة. بمجرد حصولك على نقطة نهاية خاصة معتمدة لأحد الموردين، تحاول المفهرسات التي تم تعيينها لتكون خاصة الحصول على حق الوصول عبر اتصال نقطة النهاية الخاصة.