مشاركة عبر


كيفية إعداد التحكم في الوصول على العناصر المتزامنة في تجمع SQL بلا خادم

في Azure Synapse Analytics، تتم مشاركة قواعد بيانات وجداول Spark مع تجمع SQL بلا خادم. تتوفر قواعد بيانات Lake وParquet وCSV التي تم إنشاؤها باستخدام Spark تلقائياً في تجمع SQL بلا خادم. تسمح هذه الميزة باستخدام تجمع SQL بلا خادم لاستكشاف والاستعلام عن البيانات المعدة باستخدام تجمعات Spark. في الرسم التخطيطي التالي، يمكنك الاطلاع على نظرة عامة حول البنية عالية المستوى لاستخدام هذه الميزة. أولا، تقوم Azure Synapse Pipelines بنقل البيانات من التخزين المحلي (أو غيرها) إلى Azure Data Lake Storage. يمكن ل Spark الآن إثراء البيانات وإنشاء قواعد البيانات والجداول التي تتم مزامنتها مع SQL Synapse بلا خادم. في وقت لاحق، يمكن للمستخدم تنفيذ استعلامات مخصصة على البيانات التي تم إثراؤها أو تقديمها إلى Power BI على سبيل المثال.

Enrich in Spark, serve with SQL diagram.

وصول المسؤول الكامل (مسؤول النظام)

بمجرد مزامنة قواعد البيانات والجداول هذه من Spark إلى تجمع SQL بلا خادم، يمكن استخدام هذه الجداول الخارجية في تجمع SQL بلا خادم للوصول إلى نفس البيانات. ولكن تكون العناصر في تجمع SQL بلا خادم للقراءة فقط بسبب الحفاظ على التناسق مع عناصر تجمعات Spark. يجعل القيد المستخدمين الذين لديهم أدوار مسؤول Synapse SQL أو مسؤول Synapse فقط يمكنهم الوصول إلى هذه العناصر في تجمع SQL بلا خادم. إذا حاول مستخدم غير مسؤول تنفيذ استعلام على قاعدة البيانات/الجدول المتزامن، فسيتلقى خطأ مثل: External table '<table>' is not accessible because content of directory cannot be listed. على الرغم من أن لهم حق الوصول إلى البيانات على حساب (حسابات) التخزين الأساسي.

نظراً إلى أن قواعد البيانات المتزامنة في تجمع SQL بلا خادم للقراءة فقط، فلا يمكن تعديلها. سيفشل إنشاء مستخدم أو منح أذونات أخرى إذا تمت المحاولة. لقراءة قواعد البيانات المتزامنة، يجب أن يكون لدى المستخدم أذونات مميزة على مستوى الخادم (مثل مسؤول النظام). يوجد هذا القيد أيضا على الجداول الخارجية في تجمع SQL بلا خادم عند استخدام جداول قواعد بيانات Azure Synapse Link for Dataverse وlake.

وصول غير المسؤول إلى قواعد البيانات المتزامنة

عادةً ما لا يتمتع المستخدم الذي يحتاج إلى قراءة البيانات وإنشاء التقارير بحق وصول المسؤول الكامل (مسؤول النظام). عادةً ما يكون هذا المستخدم محلل بيانات يحتاج فقط إلى قراءة البيانات وتحليلها باستخدام الجداول الموجودة. لا يحتاجون إلى إنشاء عناصر جديدة.

يجب أن يكون المستخدم الذي لديه الحد الأدنى من الأذونات قادراً على:

  • الاتصال بقاعدة بيانات يتم نسخها نسخا متماثلاً من Spark
  • تحديد البيانات عبر الجداول الخارجية والوصول إلى بيانات ADLS الأساسية.

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

-- Creating Azure AD login (same can be achieved for Azure AD app)
    CREATE LOGIN [login@contoso.com] FROM EXTERNAL PROVIDER;
    go;
    
    GRANT CONNECT ANY DATABASE to [login@contoso.com];
    GRANT SELECT ALL USER SECURABLES to [login@contoso.com];
    GO;

إشعار

يجب تنفيذ هذه العبارات على قاعدة البيانات الرئيسية، لأن هذه كلها أذونات على مستوى الخادم.

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

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

يمكن إدارة الوصول إلى البيانات على حساب التخزين عبر ACL أو أدوار مالك/قارئ/مساهم بيانات Storage Blob العادية لمستخدمي/مجموعات Microsoft Entra. بالنسبة لكيانات الخدمة (تطبيقات Microsoft Entra)، تأكد من استخدام إعداد ACL.

إشعار

  • إذا كنت تريد منع استخدام OPENROWSET على البيانات، يمكنك استخدام DENY ADMINISTER BULK OPERATIONS to [login@contoso.com];، لمزيد من المعلومات، تفضل بزيارة أذونات DENY Server.
  • إذا كنت تريد منع استخدام مخططات معينة، فيمكنك استخدام DENY SELECT ON SCHEMA::[schema_name] TO [login@contoso.com];، لمزيد من المعلومات، تفضل بزيارة أذونات DENY Schema.

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

لمزيد من المعلومات، اطلع على مصادقة SQL.