استخدم الهويات المُدارة للوصول إلى Azure SQL Database أو Azure Synapse Analytics من وظيفة Azure Stream Analytics

يدعم Azure Stream Analytics مصادقة الهوية المدارة لقاعدة البيانات Azure SQL ومتلقيات الإخراج Azure Synapse Analytics. تُلغي الهويات المُدارة قيود أساليب المصادقة المستندة إلى المستخدم، مثل الحاجة إلى إعادة المصادقة بسبب تغييرات كلمة المرور أو انتهاء صلاحية الرمز المميز للمستخدم الذي يحدث كل 90 يومًا. عند إزالة الحاجة إلى المصادقة يدويًا، يمكن أن تكون عمليات توزيع Stream Analytics تلقائية بالكامل.

الهوية المدارة هي تطبيق مدار مسجل في معرف Microsoft Entra يمثل وظيفة Stream Analytics معينة. يتم استخدام التطبيق المُدار للمصادقة على مورد مستهدف. توضح هذه المقالة كيفية تمكين الهوية المُدارة لقاعدة بيانات Azure SQL Database أو مخرجات Azure Synapse Analytics لمهمة Stream Analytics من خلال مدخل Microsoft Azure.

نظرة عامة

توضح لك هذه المقالة الخطوات اللازمة لتوصيل وظيفة Stream Analytics بقاعدة بيانات Azure SQL أو تجمع Azure Synapse Analytics SQL باستخدام وضع مصادقة الهوية المُدارة.

  • يمكنك أولًا إنشاء هوية مُدارة معينة من قبل النظام لمهمة Stream Analytics. هذه هي هوية وظيفتك في معرف Microsoft Entra.

  • أضف مسؤول Active Directory إلى خادم SQL أو مساحة عمل Synapse، والتي تمكن مصادقة معرف Microsoft Entra (الهوية المدارة) لهذا المورد.

  • بعد ذلك، أنشئ مستخدمًا مضمنًا يمثل هوية مهمة Stream Analytics في قاعدة البيانات. عندما تتفاعل مهمة Stream Analytics مع مورد SQL DB أو Synapse SQL DB، فهذه هي الهوية التي ستشير إليها للتحقق من الأذونات التي تتمتع بها مهمة Stream Analytics.

  • امنح أذونات لمهمة Stream Analytics للوصول إلى قاعدة بيانات SQL أو تجمعات SQL Synapse.

  • وأخيرا، أضف Azure SQL Database/Azure Synapse Analytics كإخراج في مهمة Stream Analytics.

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

يلزم ما يلي لاستخدام هذه الميزة:

  • مهمة Azure Stream Analytics.

  • مورد قاعدة بيانات Azure SQL.

إنشاء هوية مدارة

أولاً، يمكنك إنشاء هوية مدارة لمهمة Stream Analytics.

  1. افتح مهمة Azure Stream Analytics في مدخل Microsoft Azure.

  2. من قائمة التنقل اليسرى، حدد Managed Identity الموجودة ضمن Configure. ثم حدد المربع الموجود بجوار Use System-assigned Managed Identity وحدد Save.

    Select system-assigned managed identity

    يتم إنشاء كيان خدمة لهوية وظيفة Stream Analytics في معرف Microsoft Entra. تُدار دورة حياة الهوية التي أُنشئت حديثًا عن طريق Azure. عند حذف مهمة Stream Analytics، يتم حذف الهوية المقترنة (أي كيان الخدمة) تلقائياً بواسطة Azure.

  3. يمكنك أيضا التبديل إلى الهويات المدارة المعينة من قبل المستخدم.

  4. عند حفظ التكوين، يتم إدراج معرف العنصر (OID) الخاص بكيان الخدمة كمعرف أساسي كما هو موضح أدناه:

    Object ID shown as Principal ID

    يحمل كيان الخدمة نفس اسم مهمة Stream Analytics. على سبيل المثال، إذا كان اسم المهمة الخاص بك هو MyASAJob، فإن اسم كيان الخدمة سيكون أيضاً MyASAJob.

حدد مسؤول Active Directory

بعد إنشاء هوية مدارة، يمكنك تحديد مسؤول Active Directory.

  1. انتقل إلى مورد قاعدة بيانات Azure SQL أو تجمع Azure Synapse Analytics SQL وحدد SQL Server أو Synapse Workspace التي يوجد المورد ضمنها، على التوالي. يمكنك العثور على الارتباط الخاص بها في صفحة نظرة عامة على الموارد بجوار اسم الخادم أو اسم مساحة العمل.

  2. حدد Active Directory Admin أو SQL Active Directory Admin ضمن Settings، لـSQL Server و Synapse Workspace على التوالي. ثم حدد Set admin.

    Active Directory admin page

  3. في صفحة مسؤول Active Directory، ابحث عن مستخدم أو مجموعة لتكون مسؤولة عن SQL Server وانقر فوق Select. سيكون هذا هو المستخدم الذي سيكون قادرًا على إنشاء مستخدم قاعدة البيانات مضمن في القسم التالي.

    Add Active Directory admin

    تعرض صفحة مسؤول خدمات مجال Active Directory جميع أعضاء ومجموعات خدمات مجال Active Directory الخاص بك. لا يمكن تحديد المستخدمين أو المجموعات الرمادية لأنها غير مدعومة كمسؤولي Microsoft Entra. راجع قائمة المسؤولين المعتمدين في قسم ميزات وقيود Microsoft Entra من استخدام مصادقة Microsoft Entra للمصادقة مع قاعدة بيانات SQL أو Azure Synapse.

  4. حدد Save في صفحة Active Directory admin. تستغرق عملية تغيير المسؤول بضع دقائق.

إنشاء مستخدم قاعدة بيانات مضمن

بعد ذلك، يمكنك إنشاء مستخدم قاعدة بيانات مضمن في قاعدة بيانات Azure SQL أو Azure Synapse التي تم تعيينها إلى هوية Microsoft Entra. لا يمكن لمستخدم قاعدة البيانات المضمن تسجيل دخول لقاعدة البيانات الأساسية، ولكنه يعين إلى هوية في الدليل المقترن بقاعدة البيانات. يمكن أن تكون هوية Microsoft Entra حساب مستخدم فردي أو مجموعة. في هذه الحالة، ينبغي عليك إنشاء مستخدم قاعدة بيانات مضمنة لمهمة Stream Analytics.

لمزيد من المعلومات، راجع المقالة التالية للحصول على خلفية حول تكامل Microsoft Entra: المصادقة العالمية مع قاعدة بيانات SQL وتحليلات Azure Synapse (دعم SSMS للمصادقة متعددة العوامل)

  1. اتصل بقاعدة بيانات Azure SQL أو Azure Synapse باستخدام SQL Server Management Studio. اسم المستخدم هو مستخدم Microsoft Entra مع إذن ALTER ANY USER. يعد المسؤول الذي قمت بتعيينه على SQL Server مثالًا على ذلك. استخدم معرف Microsoft Entra - Universal مع مصادقة MFA .

    Connect to SQL Server

    قد يختلف اسم الخادم <SQL Server name>.database.windows.net من منطقة إلى أخرى. على سبيل المثال، يجب أن تستخدم منطقة الصين <SQL Server name>.database.chinacloudapi.cn.

    يمكنك تحديد قاعدة بيانات Azure SQL أو Azure Synapse معينة عن طريق الانتقال إلى Options > Connection Properties > Connect to Database.

    SQL Server connection properties

  2. عند الاتصال للمرة الأولى، قد تصادف النافذة التالية:

    New firewall rule window

    1. إذا كان الأمر كذلك، فانتقل إلى مورد SQL Server/Synapse Workspace في مدخل Microsoft Azure. ضمن قسم Security، افتح صفحة Firewalls and virtual network/Firewalls.
    2. إضافة قاعدة جديدة مع أي اسم قاعدة.
    3. استخدم عنوان IP From من نافذة New Firewall Ruleلـ Start IP.
    4. استخدم عنوان IP To من نافذة New Firewall Ruleلـ End IP.
    5. حدد Save وحاول الاتصال من SQL Server Management Studio مرة أخرى.
  3. بمجرد الاتصال، قم بإنشاء مستخدم قاعدة البيانات مضمن. ينشئ أمر SQL التالي مستخدم قاعدة بيانات مضمنًا له نفس اسم مهمة Stream Analytics. تأكد من تضمين الأقواس حول ASA_JOB_NAME. استخدم بناء جملة T-SQL التالي وقم بتشغيل الاستعلام.

    CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
    

    للتحقق مما إذا كنت قد أضفت مستخدم قاعدة بيانات مضمن بشكل صحيح، قم بتشغيل الأمر التالي في Management Studio ضمن قاعدة البيانات ذات الصلة وتحقق مما إذا كان ASA_JOB_NAME الخاص بك ضمن عمود "name".

    SELECT * FROM <SQL_DB_NAME>.sys.database_principals
    WHERE type_desc = 'EXTERNAL_USER'
    
  4. لكي يتحقق معرف Microsoft Entra من Microsoft مما إذا كانت وظيفة Stream Analytics لديها حق الوصول إلى قاعدة بيانات SQL، نحتاج إلى منح Microsoft Entra الإذن للاتصال بقاعدة البيانات. للقيام بذلك، انتقل إلى صفحة "Firewalls and virtual network"/"Firewalls" في مدخل Microsoft Azure مرة أخرى، وقم بتمكين "Allow Azure services and resources to access this server/workspace."

    Firewall and virtual network

منح أذونات مهمة Stream Analytics

بمجرد إنشاء مستخدم قاعدة بيانات مضمن ومنح حق الوصول إلى Azure services في المدخل كما هو موضح في القسم السابق، يكون لدى مهمة Stream Analytics إذن من الهوية المدارة للاتصال بمورد قاعدة بيانات Azure SQL عبر الهوية المدارة. نوصي بمنح أذونات SELECTوINSERT إلى مهمة Stream Analytics حيث ستكون هناك حاجة إلى تلك الأذونات لاحقًا في سير عمل Stream Analytics. يسمح إذن SELECT للمهمة باختبار اتصالها بالجدول في قاعدة بيانات Azure SQL. يسمح إذن INSERT باختبار استعلامات Stream Analytics الشاملة بمجرد تكوين إدخال وإخراج قاعدة بيانات Azure SQL.

يمكنك منح هذه الأذونات لمهمة Stream Analytics باستخدام SQL Server Management Studio. لمزيد من المعلومات، راجع مرجع منح (Transact-SQL).

لمنح الإذن فقط لجدول أو كائن معين في قاعدة البيانات، استخدم بناء جملة T-SQL التالي وقم بتشغيل الاستعلام.

GRANT CONNECT TO ASA_JOB_NAME;
GRANT SELECT, INSERT ON OBJECT::TABLE_NAME TO ASA_JOB_NAME;

بدلًا من ذلك، يمكنك النقر بزر الماوس الأيمن فوق قاعدة بيانات Azure SQL أو Azure Synapse في SQL Server Management Studio وتحديد Properties > Permissions. من قائمة الأذونات، يمكنك رؤية مهمة Stream Analytics التي أضفتها سابقًا، ويمكنك منح الأذونات أو رفضها يدويًا على النحو الذي تراه مناسبًا.

لإلقاء نظرة على جميع الأذونات التي أضفتها إلى مستخدم ASA_JOB_NAME، قم بتشغيل الأمر التالي في Management Studio ضمن قاعدة البيانات ذات الصلة:

SELECT dbprin.name, dbprin.type_desc, dbperm.permission_name, dbperm.state_desc, dbperm.class_desc, object_name(dbperm.major_id)
FROM sys.database_principals dbprin
LEFT JOIN sys.database_permissions dbperm
ON dbperm.grantee_principal_id = dbprin.principal_id
WHERE dbprin.name = '<ASA_JOB_NAME>'

إنشاء قاعدة بيانات Azure SQL أو إخراج Azure Synapse

إشعار

عند استخدام مثيل SQL المدار (MI) كإدخال مرجعي، يجب تكوين نقطة نهاية عامة في مثيل SQL المدار. يجب تحديد اسم المجال المؤهل بالكامل مع المنفذ عند تكوين خاصية قاعدة البيانات . على سبيل المثال: sampleserver.public.database.windows.net,3342.

الآن بعد تكوين هويتك المدارة، فأنت مستعد لإضافة قاعدة بيانات Azure SQL أو إخراج Azure Synapse إلى مهمة Stream Analytics.

تأكد من إنشاء جدول في قاعدة بيانات SQL به مخطط الإخراج المناسب. اسم هذا الجدول هو أحد الخصائص المطلوبة التي ينبغي تعبئتها عند إضافة إخراج قاعدة بيانات SQL إلى مهمة Stream Analytics. تأكد أيضا من أن المهمة لديها أذونات SELECT وINSERT لاختبار الاتصال وتشغيل استعلامات Stream Analytics. راجع قسم منح أذونات مهمة Stream Analytics إذا لم تكن قد فعلت ذلك بالفعل.

  1. ارجع إلى مهمة Stream Analytics، وانتقل إلى صفحة Outputs ضمن Job Topology.

  2. حدد Add > SQL Database. في نافذة خصائص الإخراج لمتلقي إخراج قاعدة بيانات SQL، حدد Managed Identity من القائمة المنسدلة لوضع المصادقة.

  3. قم بتعبئة باقي الخصائص. لمعرفة المزيد حول إنشاء إخراج قاعدة بيانات SQL، راجع إنشاء إخراج قاعدة بيانات SQL باستخدام Stream Analytics. عند الانتهاء، حدد حفظ.

  4. بعد النقر فوق Save، من المفترض أن يعمل اختبار اتصال بموردك تلقائيًا. بمجرد اكتمال ذلك بنجاح، تكون قد نجحت في تكوين مهمة Stream Analytics للاتصال بقاعدة بيانات Azure SQL أو Synapse SQL Database باستخدام وضع مصادقة الهوية المُدارة.

خطوات إضافية للبيانات المرجعية ل SQL

يتطلب Azure Stream Analytics تكوين حساب التخزين الخاص بوظيفتك عند استخدام بيانات مرجع SQL. يتم استخدام حساب التخزين هذا لتخزين المحتوى المرتبط بمهمة Stream Analytics، مثل لقطات البيانات المرجعية ل SQL.

اتبع الخطوات التالية لإعداد حساب تخزين مقترن:

  1. في صفحة وظيفة Stream Analytics، حدد إعدادات حساب التخزين ضمن تكوين في القائمة اليمنى.

  2. في صفحة إعدادات حساب التخزين، حدد إضافة حساب تخزين.

  3. اتبع الإرشادات لتكوين إعدادات حساب التخزين.

    Screenshot of the Storage account settings page of a Stream Analytics job.

هام

  • للمصادقة باستخدام سلسلة الاتصال، يجب تعطيل إعدادات جدار حماية حساب التخزين.
  • للمصادقة باستخدام الهوية المدارة، يجب إضافة وظيفة Stream Analytics إلى قائمة التحكم في الوصول لحساب التخزين لدور Storage Blob Data Contributor ودور Storage Table Data Contributor. إذا لم تمنح حق الوصول إلى مهمتك، فلن تتمكن الوظيفة من تنفيذ أي عمليات. لمزيد من المعلومات حول كيفية منح الوصول، راجع Use Azure RBAC to assign a managed identity access to another resource.

خطوات إضافية باستخدام الهوية المدارة المعينة من قبل المستخدم

كرر الخطوات إذا حددت هوية مدارة معينة من قبل المستخدم لتوصيل ASA ب Synapse:

  1. إنشاء مستخدم قاعدة بيانات مضمن. استبدل ASA_Job_Name بالهوية المدارة المعينة من قبل المستخدم. انظر المثال أدناه.
    CREATE USER [User-Assigned Managed Identit] FROM EXTERNAL PROVIDER;
    
  2. منح أذونات للهوية المدارة المعينة من قبل المستخدم. استبدل ASA_Job_Name بالهوية المدارة المعينة من قبل المستخدم.

لمزيد من التفاصيل، يرجى الرجوع إلى الأقسام أعلاه.

احذف الهوية المُدارة

تُحذف الهوية المُدارة التي أُنشئت لمهمة Stream Analytics عند حذف المهمة فحسب. لا توجد طريقة لحذف الهوية المُدارة دون حذف المهمة. في حالة عدم رغبتك في استخدام الهوية المُدارة، يمكنك تغيير طريقة المصادقة للمخرجات. ستستمر الهوية المُدارة في الوجود حتى تُحذف الوظيفة، وسُتستخدم إذا قررت استخدام مصادقة Managed Identity مرة أخرى.

الخطوات التالية