الاتصال خدمة بحث إلى موارد Azure أخرى باستخدام هوية مدارة
يمكنك تكوين خدمة البحث Azure Cognitive للاتصال بموارد Azure الأخرى باستخدام هوية مدارة معينة من قبل النظام أو معينة من قبل المستخدم وتعيين دور Azure. تلغي الهويات المدارة وتعيينات الأدوار الحاجة إلى تمرير الأسرار وبيانات الاعتماد في سلسلة اتصال أو تعليمات برمجية.
المتطلبات الأساسية
خدمة بحث في المستوى الأساسي أو أعلى.
مورد Azure يقبل الطلبات الواردة من تسجيل دخول Azure AD يحتوي على تعيين دور صالح.
السيناريوهات المدعومة
يمكن أن يستخدم البحث المعرفي هوية مدارة معينة من قبل النظام أو معينة من قبل المستخدم على الاتصالات الصادرة بموارد Azure. تتم الإشارة إلى الهوية المدارة من قبل النظام عندما تكون سلسلة الاتصال هي معرف المورد الفريد لخدمة أو تطبيق Azure AD-aware . يتم تحديد هوية مدارة معينة من قبل المستخدم من خلال خاصية "الهوية".
تستخدم خدمة البحث Azure Storage كمصدر بيانات مفهرس وكبالوعة بيانات لجلسات تصحيح الأخطاء والتخزين المؤقت للإثراء ومخزن المعارف. بالنسبة إلى ميزات البحث التي تكتب مرة أخرى إلى التخزين، تحتاج الهوية المدارة إلى تعيين دور مساهم كما هو موضح في قسم "تعيين دور ".
| السيناريو | الهوية المدارة من قبل النظام | الهوية المدارة المعينة من قبل المستخدم (المعاينة) |
|---|---|---|
| اتصالات المفهرس بمصادر بيانات Azure المدعومة1 | نعم | نعم |
| Azure Key Vault للمفاتيح المدارة من قبل العميل | نعم | نعم |
| جلسات تصحيح الأخطاء (المستضافة في Azure Storage)1 | نعم | لا |
| ذاكرة التخزين المؤقت للإثراء (المستضافة في Azure Storage)1,2 | نعم | نعم |
| مخزن المعارف (مستضاف في Azure Storage)1 | نعم | نعم |
| المهارات المخصصة (المستضافة في وظائف Azure أو ما يعادلها) | نعم | نعم |
1 للاتصال بين البحث والتخزين، يفرض تكوين أمان الشبكة قيودا على نوع الهوية المدارة التي يمكنك استخدامها. يمكن استخدام هوية مدارة من قبل النظام فقط للاتصال بنفس المنطقة بالتخزين عبر استثناء الخدمة الموثوق به أو قاعدة مثيل المورد. راجع الوصول إلى حساب تخزين محمي بالشبكة للحصول على التفاصيل.
2 توجد إحدى الطرق لتحديد ذاكرة تخزين مؤقت للإثراء في معالج استيراد البيانات. حاليا، لا يقبل المعالج سلسلة اتصال هوية مدارة لذاكرة التخزين المؤقت للإثراء. ومع ذلك، بعد اكتمال المعالج، يمكنك تحديث سلسلة الاتصال في تعريف JSON المفهرس لتحديد إما نظام أو هوية مدارة معينة من قبل المستخدم، ثم إعادة تشغيل المفهرس.
إنشاء هوية مدارة من قبل النظام
عند تمكين هوية مدارة معينة من قبل النظام، يقوم Azure بإنشاء هوية لخدمة البحث الخاصة بك والتي يمكن استخدامها للمصادقة على خدمات Azure الأخرى داخل نفس المستأجر والاشتراك. يمكنك بعد ذلك استخدام هذه الهوية في تعيينات التحكم في الوصول المستندة إلى دور Azure (Azure RBAC) التي تسمح بالوصول إلى البيانات أثناء الفهرسة.
الهوية المدارة المعينة من قبل النظام فريدة من نوعها لخدمة البحث الخاصة بك ومرتبطة بالخدمة طوال عمرها.
ضمن الإعدادات، حدد الهوية.
في علامة التبويب النظام المعين ، ضمن الحالة، حدد تشغيل.
حدد حفظ.
بعد الحفظ، سترى معرف كائن تم تعيينه لخدمة البحث.
إنشاء هوية مدارة معينة من قبل المستخدم (معاينة)
الهوية المدارة المعينة من قبل المستخدم هي مورد على Azure. من المفيد إذا كنت بحاجة إلى مزيد من الدقة في تعيينات الأدوار لأنه يمكنك إنشاء هويات منفصلة لتطبيقات وسيناريوهات مختلفة.
هام
هذه الميزة في المعاينة العامة بموجب شروط الاستخدام التكميلية. الهويات المدارة المعينة من قبل المستخدم غير مدعومة حاليا للاتصالات بحساب تخزين محمي بالشبكة. يتطلب طلب البحث حاليا عنوان IP عاما.
حدد + Create a resource.
في شريط البحث "البحث عن الخدمات والسوق"، ابحث عن "الهوية المدارة المعينة من قبل المستخدم"، ثم حدد إنشاء.
حدد الاشتراك ومجموعة الموارد والمنطقة. امنح الهوية اسما وصفيا.
حدد إنشاء وانتظر حتى ينتهي المورد من النشر.
في الخطوات العديدة التالية، ستقوم بتعيين الهوية المدارة المعينة من قبل المستخدم لخدمة البحث.
في صفحة خدمة البحث، ضمن الإعدادات، حدد الهوية.
في علامة التبويب تم تعيينه بواسطة المستخدم ، حدد إضافة .
اختر الاشتراك، ثم حدد المورد المدار المعين من قبل المستخدم والذي قمت بإنشائه في الخطوة السابقة.
السماح بالوصول إلى جدار الحماية
إذا كان مورد Azure خلف جدار حماية، فتأكد من وجود قاعدة واردة تقبل الطلبات الواردة من خدمة البحث.
بالنسبة لاتصالات المنطقة نفسها ب Azure Blob Storage أو Azure Data Lake Storage Gen2، استخدم هوية مدارة من قبل النظام واستثناء الخدمة الموثوق بها. اختياريا، يمكنك تكوين قاعدة مثيل مورد (معاينة) لقبول الطلبات.
بالنسبة لجميع الموارد والاتصالات الأخرى، قم بتكوين قاعدة جدار حماية IP التي تقبل الطلبات الواردة من البحث. راجع وصول المفهرس إلى المحتوى المحمي بواسطة ميزات أمان شبكة Azure للحصول على التفاصيل.
تعيين دور
يجب إقران الهوية المدارة بدور Azure الذي يحدد الأذونات على مورد Azure.
هناك حاجة إلى أذونات قارئ البيانات لاتصالات بيانات المفهرس وللوصول إلى مفتاح مدار من قبل العميل في Azure Key Vault.
هناك حاجة إلى أذونات المساهم (الكتابة) لميزات الإثراء الذكاء الاصطناعي التي تستخدم Azure Storage لاستضافة بيانات جلسة تصحيح الأخطاء والتخزين المؤقت للإثراء وتخزين المحتوى على المدى الطويل في مخزن المعارف.
الخطوات التالية مخصصة لتخزين Azure. إذا كان المورد الخاص بك هو Cosmos DB أو Azure SQL، فإن الخطوات متشابهة.
سجل الدخول إلى مدخل Azure وابحث عن مورد Azure الذي يجب أن يكون لخدمة البحث حق الوصول إليه.
في Azure Storage، حدد التحكم في الوصول (AIM) في جزء التنقل الأيمن.
حدد Add role assignment.
في صفحة الدور ، اختر دورا:
الدور الاستخدام القارئ والوصول إلى البيانات يمنح أذونات القراءة للوصول إلى المفهرس إلى المحتوى في Azure Table Storage وAzure File Storage. قارئ بيانات للبيانات الثنائية الكبيرة للتخزين يمنح أذونات القراءة لوصول المفهرس إلى المحتوى في Blob Storage و Azure Data Lake Storage Gen2. مساهم بيانات للبيانات الثنائية الكبيرة للتخزين يمنح أذونات الكتابة اللازمة لجلسات تصحيح الأخطاء وإسقاطات كائن مخزن المعرفة وذاكرة التخزين المؤقت للإثراء. مساهم بيانات جدول التخزين يمنح أذونات الكتابة اللازمة لإسقاطات جدول مخزن المعرفة. في صفحة الأعضاء ، حدد الهوية المدارة.
حدد الأعضاء. في الصفحة تحديد الهوية المدارة ، اختر اشتراكك ثم قم بالتصفية حسب نوع الخدمة، ثم حدد الخدمة. فقط تلك الخدمات التي لها هوية مدارة ستكون متاحة للاختيار.
حدد Review + Assign.
أمثلة سلسلة الاتصال
بمجرد تعريف هوية مدارة لخدمة البحث ومنحها تعيين دور، يمكن تعديل الاتصالات الصادرة لاستخدام معرف المورد الفريد لمورد Azure الآخر. فيما يلي بعض الأمثلة على سلاسل الاتصال لسيناريوهات مختلفة.
يتضمن مصدر بيانات المفهرس خاصية "بيانات الاعتماد" التي تحدد كيفية إجراء الاتصال بمصدر البيانات. يوضح المثال التالي سلسلة اتصال تحدد معرف المورد الفريد لحساب تخزين. سيقوم Azure AD بمصادقة الطلب باستخدام الهوية المدارة من قبل النظام لخدمة البحث. لاحظ أن سلسلة الاتصال لا تتضمن حاوية. في تعريف مصدر البيانات، يتم تحديد اسم حاوية في الخاصية "حاوية" (غير معروضة)، وليس في سلسلة الاتصال.
"credentials": {
"connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}
يمكن أيضا إجراء طلب بحث إلى Azure Storage ضمن هوية مدارة معينة من قبل المستخدم، وهي قيد المعاينة حاليا. يتم تحديد هوية مستخدم خدمة البحث في الخاصية "الهوية". يمكنك استخدام البوابة الإلكترونية أو إصدار معاينة واجهة برمجة تطبيقات REST 2021-04-30-Preview لتعيين الهوية.
"credentials": {
"connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
},
. . .
"identity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
}
يتضمن تعريف مخزن المعارف سلسلة اتصال ب Azure Storage. على Azure Storage، سيقوم مخزن المعرفة بإنشاء إسقاطات كنقط وجداول. سلسلة الاتصال هي معرف المورد الفريد لحساب التخزين الخاص بك. لاحظ أن السلسلة لا تتضمن حاويات أو جداول في المسار. يتم تعريفها في تعريف الإسقاط المضمن، وليس في سلسلة الاتصال.
"knowledgeStore": {
"storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/storage-account-name};",
يقوم المفهرس بإنشاء واستخدام وتذكر الحاوية المستخدمة في عمليات الإثراء المخزنة مؤقتا. ليس من الضروري تضمين الحاوية في سلسلة اتصال ذاكرة التخزين المؤقت. يمكنك العثور على معرف الكائن في صفحة الهوية لخدمة البحث في البوابة الإلكترونية.
"cache": {
"id": "{object-id}",
"enableReprocessing": true,
"storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/storage-account-name};"
},
يتم تشغيل جلسة عمل تصحيح الأخطاء في البوابة الإلكترونية وتأخذ سلسلة اتصال عند بدء جلسة العمل. يمكنك لصق سلسلة مشابهة للمثال التالي.
"ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/{container-name};",
تستهدف المهارة المخصصة نقطة نهاية وظيفة Azure أو رمز مخصص لاستضافة التطبيق. يتم تحديد نقطة النهاية في تعريف المهارة المخصصة. يخبر وجود "authResourceId" خدمة البحث بالاتصال باستخدام هوية مدارة ، وتمرير معرف التطبيق للوظيفة المستهدفة أو التطبيق في الخاصية.
{
"@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
"description": "A custom skill that can identify positions of different phrases in the source text",
"uri": "https://contoso.count-things.com",
"authResourceId": "<Azure-AD-registered-application-ID>",
"batchSize": 4,
"context": "/document",
"inputs": [ ... ],
"outputs": [ ...]
}