الاتصال ب Azure Storage باستخدام هوية مدارة (Azure الذكاء الاصطناعي Search)

توضح هذه المقالة كيفية تكوين اتصال خدمة بحث بحساب Azure Storage باستخدام هوية مدارة بدلا من توفير بيانات الاعتماد في سلسلة الاتصال.

يمكنك استخدام هوية مدارة معينة من قبل النظام أو هوية مدارة يعينها المستخدم. الهويات المدارة هي عمليات تسجيل دخول Microsoft Entra وتتطلب تعيينات الأدوار للوصول إلى Azure Storage.

المتطلبات الأساسية

  • Azure الذكاء الاصطناعي Search أو المستوى الأساسي أو أعلى، بهوية مدارة.

إشعار

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

إنشاء تعيين دور في Azure Storage

  1. سجل الدخول إلى مدخل Microsoft Azure وابحث عن حساب التخزين الخاص بك.

  2. حدد Access control (IAM).

  3. حدد إضافة ثم حدد تعيين الدور.

  4. من قائمة أدوار الوظائف الوظيفية، حدد الأدوار المطلوبة لخدمة البحث:

    مهمة تعيين الدور
    فهرسة Blob باستخدام مفهرس إضافة Storage Blob Data Reader
    فهرسة ADLS Gen2 باستخدام مفهرس إضافة Storage Blob Data Reader
    فهرسة الجدول باستخدام مفهرس إضافة القارئ والوصول إلى البيانات
    فهرسة الملفات باستخدام مفهرس إضافة القارئ والوصول إلى البيانات
    الكتابة إلى مخزن معارف أضف Storage Blob DataContributor لإسقاطات الكائنات والملفات، والقارئ والوصول إلى البيانات لإسقاطات الجدول.
    الكتابة إلى ذاكرة التخزين المؤقت للإثراء إضافة Storage Blob Data Contributor
    حفظ حالة جلسة تصحيح الأخطاء إضافة Storage Blob Data Contributor
  5. حدد التالي.

  6. حدد الهوية المدارة ثم حدد الأعضاء.

  7. تصفية حسب الهويات المدارة المعينة من قبل النظام أو الهويات المدارة المعينة من قبل المستخدم. يجب أن تشاهد الهوية المدارة التي قمت بإنشائها مسبقا لخدمة البحث. إذا لم يكن لديك واحدة، فشاهد تكوين البحث لاستخدام هوية مدارة. إذا قمت بإعداد واحد بالفعل ولكنه غير متوفر، فامنحه بضع دقائق.

  8. حدد الهوية واحفظ تعيين الدور.

تحديد هوية مدارة في سلسلة الاتصال

بمجرد أن يكون لديك تعيين دور، يمكنك إعداد اتصال ب Azure Storage الذي يعمل ضمن هذا الدور.

تستخدم المفهرسات كائن مصدر بيانات للاتصالات بمصدر بيانات خارجي. يشرح هذا القسم كيفية تحديد هوية مدارة معينة من قبل النظام أو هوية مدارة يعينها المستخدم على مصدر بيانات سلسلة الاتصال. يمكنك العثور على المزيد من الأمثلة سلسلة الاتصال في مقالة الهوية المدارة.

تلميح

يمكنك إنشاء اتصال مصدر بيانات ب Azure Storage في مدخل Microsoft Azure، وتحديد إما نظام أو هوية مدارة معينة من قبل المستخدم، ثم عرض تعريف JSON لمعرفة كيفية صياغة سلسلة الاتصال.

الهوية المُدارة التي يُعيّنها النظام

يجب أن يكون لديك هوية مدارة معينة من قبل النظام تم تكوينها بالفعل، ويجب أن يكون لها تعيين دور على Azure Storage.

بالنسبة للاتصالات التي تم إجراؤها باستخدام هوية مدارة معينة من قبل النظام، فإن التغيير الوحيد في تعريف مصدر البيانات هو تنسيق الخاصية credentials .

توفير لا يحتوي على ResourceId مفتاح حساب أو كلمة مرور. ResourceId يجب أن يتضمن معرف الاشتراك لحساب التخزين ومجموعة الموارد لحساب التخزين واسم حساب التخزين.

POST https://[service name].search.windows.net/datasources?api-version=2023-11-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    }
}   

الهوية المُدارة التي يعيّنها المُستخدم

يجب أن يكون لديك هوية مدارة معينة من قبل المستخدم مكونة بالفعل ومقترنة بخدمة البحث الخاصة بك، ويجب أن يكون للهوية تعيين دور على Azure Storage.

تستخدم الاتصالات التي تم إجراؤها من خلال الهويات المدارة المعينة من قبل المستخدم نفس بيانات الاعتماد مثل الهوية المدارة المعينة من قبل النظام، بالإضافة إلى خاصية هوية إضافية تحتوي على مجموعة الهويات المدارة المعينة من قبل المستخدم. يجب توفير هوية مدارة واحدة فقط يعينها المستخدم عند إنشاء مصدر البيانات. تعيين userAssignedIdentity إلى الهوية المدارة المعينة من قبل المستخدم.

توفير لا يحتوي على ResourceId مفتاح حساب أو كلمة مرور. ResourceId يجب أن يتضمن معرف الاشتراك لحساب التخزين ومجموعة الموارد لحساب التخزين واسم حساب التخزين.

identity قم بتوفير باستخدام بناء الجملة الموضح في المثال التالي.

POST https://[service name].search.windows.net/datasources?api-version=2023-11-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    },
    "identity" : { 
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" 
    }
}   

يتم التحقق من صحة معلومات الاتصال والأذونات على الخدمة البعيدة في وقت التشغيل أثناء تنفيذ المفهرس. إذا نجح المفهرس، يكون بناء جملة الاتصال وتعيينات الدور صالحين. لمزيد من المعلومات، راجع تشغيل المفهرسات أو المهارات أو المستندات أو إعادة تعيينها.

الوصول إلى البيانات المؤمنة للشبكة في حسابات التخزين

يمكن تأمين حسابات تخزين Azure بشكل أكبر باستخدام جدران الحماية والشبكات الظاهرية. إذا كنت تريد فهرسة المحتوى من حساب تخزين مؤمن باستخدام جدار حماية أو شبكة ظاهرية، فشاهد إجراء اتصالات المفهرس إلى Azure Storage كخدمة موثوق بها.

(راجع أيضًا )