كيفية إعداد التحكم في الوصول لمساحة عمل Azure Synapse

تعلمك هذه المقالة كيفية التحكم في الوصول إلى مساحة عمل Microsoft Azure Synapse. سنستخدم مجموعة من أدوار Azure وأدوار Azure Synapse وأذونات SQL وأذونات Git لتحقيق ذلك.

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

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

قبل البدء في هذه المعاينة، اقرأ نظرة عامة على التحكم في الوصول إلى Azure Synapse للتعرف على آليات التحكم في الوصول المستخدمة من قبل Synapse Analytics.

آليات التحكم في الوصول

إشعار

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

لتأمين مساحة عمل Synapse، ستقوم بتكوين العناصر التالية:

  • مجموعات الأمان، لتجميع المستخدمين الذين لديهم متطلبات وصول مماثلة.
  • أدوار Azure، للتحكم في من يمكنه إنشاء مجموعات SQL وإدارتها، وتجمعات Apache Spark وأوقات تشغيل التكامل، والوصول إلى تخزين ADLS Gen2.
  • أدوار Synapse، للتحكم في الوصول إلى البيانات الاصطناعية للتعليمات البرمجية المنشورة، واستخدام موارد حساب Apache Spark وأوقات تشغيل التكامل.
  • أذونات SQL، للتحكم في الوصول الإداري ومستوى البيانات إلى تجمعات SQL.
  • أذونات Git، للتحكم في من يمكنه الوصول إلى عناصر التعليمات البرمجية في التحكم بالمصادر إذا قمت بتكوين Git-support لمساحات العمل.

خطوات تأمين مساحة عمل Synapse

يستخدم هذا المستند الأسماء القياسية لتبسيط الإرشادات. استبدلها بأسماء من اختيارك.

الإعدادات الاسم القياسي الوصف
مساحة عمل Synapse workspace1 الاسم الذي ستمتلكه مساحة عمل Azure Synapse.
حساب ADLSGEN2 storage1 حساب ADLS لاستخدامه مع مساحة العمل الخاصة بك.
الحاوية container1 الحاوية في storage1 التي ستستخدمها مساحة العمل بشكل افتراضي.
مستأجر معرف Microsoft Entra contoso اسم مستأجر معرف Microsoft Entra.
كيان الخدمة SERVICEPRINCIPAL كيان خدمة في مستأجر معرف Microsoft Entra.

الخطوة 1: إعداد مجموعات الأمان

تلميح

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

إنشاء مجموعات الأمان التالية لمساحة العمل الخاصة بك:

  • workspace1_SynapseAdministrators، للمستخدمين الذين يحتاجون إلى التحكم الكامل في مساحة العمل. أضف نفسك إلى مجموعة الأمان هذه، على الأقل في البداية.
  • workspace1_SynapseContributors، للمطورين الذين يحتاجون إلى تطوير التعليمات البرمجية وتصحيحها ونشرها إلى خدمة.
  • workspace1_SynapseComputeOperators، للمستخدمين الذين يحتاجون إلى إدارة ومراقبة تجمعات Apache Spark وأوقات تشغيل التكامل.
  • workspace1_SynapseCredentialUsers، للمستخدمين الذين يحتاجون إلى تصحيح أخطاء وتشغيل المسارات المتزامنة باستخدام بيانات اعتماد مساحة العمل MSI (هوية الخدمة المُدارة) وإلغاء عمليات تشغيل المسارات.

ستقوم بتعيين أدوار Synapse لهذه المجموعات في نطاق مساحة العمل قريباً.

قم أيضاً بإنشاء مجموعة الأمان هذه:

  • workspace1_SQLAdmins، مجموعة للمستخدمين الذين يحتاجون إلى SQL Active Directory مسؤول السلطة، داخل تجمعات SQL في مساحة العمل.

workspace1_SQLAdmins المجموعة لتكوين أذونات SQL عند إنشاء تجمعات SQL.

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

إشعار

تلميح

يمكن لمستخدمي Synapse الفرديين استخدام معرف Microsoft Entra في مدخل Microsoft Azure لعرض عضويات المجموعة الخاصة بهم. يسمح لهم هذا بتحديد الأدوار التي تم منحها لهم.

الخطوة 2: إعداد حساب تخزين ADLS Gen2

تستخدم مساحات عمل Synapse حاويات التخزين الافتراضية من أجل:

  • تخزين ملفات بيانات النسخ الاحتياطي لجداول Spark
  • سجلات التنفيذ لوظائف Spark
  • إدارة المكتبات التي تختار تثبيتها

حدد المعلومات التالية حول التخزين الخاص بك:

  • حساب ADLS Gen2 لاستخدامه لمساحة العمل الخاصة بك. يسميه هذا المستند storage1. storage1 يعتبر حساب التخزين "الأساسي" لمساحة العمل الخاصة بك.

  • الحاوية داخل storage1 مساحة عمل Synapse الخاصة بك ستستخدم بشكل افتراضي. يسميه هذا المستند container1.

  • حدد Access control (IAM).

  • حدد Add>Add role assignment لفتح صفحة إضافة تعيين الدور.

  • تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Azure.

    الإعداد القيمة‬
    الدور المساهم في بيانات مخزن البيانات الثنائية الكبيرة
    تعيين الوصول إلى SERVICEPRINCIPAL
    الأعضاء workspace1_SynapseAdministrators, workspace1_SynapseContributors, and workspace1_SynapseComputeOperators

    صفحة Add role assignment في مدخل Microsoft Azure.

الخطوة 3: إنشاء مساحة عمل Synapse وتكوينها

في مدخل Microsoft Azure، أنشئ مساحة عمل Synapse:

  • حدد اشتراكك

  • حدد أو أنشئ مجموعة موارد يكون لديك دور مالك Azure لها.

  • قم بتسمية مساحة العمل workspace1

  • اختر storage1 لحساب التخزين

  • اختر container1 للحاوية التي يتم استخدامها ك "نظام الملفات".

  • فتح workspace1 في Synapse Studio

  • في Synapse Studio، انتقل إلى إدارة>التحكم في الوصول. في نطاق مساحة العمل، قم بتعيين أدوار Synapse لمجموعات الأمان كما يلي:

    • تعيين دور مسؤول Synapse إلى workspace1_SynapseAdministrators
    • تعيين دور مساهم Synapse إلى workspace1_SynapseContributors
    • تعيين دور عامل تشغيل حساب Synapse إلى workspace1_SynapseComputeOperators

الخطوة 4: منح مساحة العمل MSI حق الوصول إلى حاوية التخزين الافتراضية

لتشغيل المسارات وتنفيذ مهام النظام، يتطلب Azure Synapse هوية الخدمة المدارة (MSI) للوصول إلى container1 في حساب ADLS Gen2 الافتراضي، لمساحة العمل. لمزيد من المعلومات، راجع الهوية المدارة لمساحة عمل Azure Synapse.

  • فتح مدخل Azure

  • حدد موقع حساب التخزين، storage1، ثم container1.

  • حدد Access control (IAM).

  • لفتح صفحة إضافة تعيين دور، حدد إضافة>إضافة تعيين دور.

  • تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Azure.

    الإعداد القيمة‬
    الدور المساهم في بيانات مخزن البيانات الثنائية الكبيرة
    تعيين الوصول إلى MANAGEDIDENTITY
    الأعضاء اسم الهوية المُدارة

    إشعار

    اسم الهوية المدارة هو أيضاً اسم مساحة العمل.

    صفحة Add role assignment في مدخل Microsoft Azure.

الخطوة 5: منح مسؤولي Synapse دور Azure Contributor لمساحة العمل

لإنشاء تجمعات SQL وتجمعات Apache Spark وأوقات تشغيل التكامل، يحتاج المستخدمون إلى دور Azure Contributor لمساحة العمل، كحد أدنى. يسمح دور المساهم أيضاً للمستخدمين بإدارة الموارد، بما في ذلك الإيقاف المؤقت والتحجيم. لاستخدام مدخل Microsoft Azure أو Synapse Studio لإنشاء تجمعات SQL وتجمعات Apache Spark وأوقات تشغيل التكامل، تحتاج إلى دور المساهم على مستوى مجموعة الموارد.

  • فتح مدخل Azure

  • حدد موقع مساحة العمل، workspace1

  • حدد Access control (IAM).

  • لفتح صفحة إضافة تعيين دور، حدد إضافة>إضافة تعيين دور.

  • تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Azure.

    الإعداد القيمة‬
    الدور المساهم (مدرج ضمن "أدوار المسؤول المتميز")
    تعيين الوصول إلى SERVICEPRINCIPAL
    الأعضاء workspace1_SynapseAdministrators

    صفحة Add role assignment في مدخل Microsoft Azure.

الخطوة 6: تعيين دور مسؤول SQL Active Directory

يتم تعيين منشئ مساحة العمل تلقائياً كـ مسؤول SQL Active Directory لمساحة العمل. يمكن منح مستخدم واحد أو مجموعة واحدة فقط هذا الدور. في هذه الخطوة، يمكنك تعيين مسؤول SQL Active Directory لمساحة العمل إلى workspace1_SQLAdmins مجموعة الأمان. وهذا يعطي المجموعة حق الوصول المسؤول المتميز للغاية إلى جميع تجمعات SQL وقواعد البيانات في مساحة العمل.

  • فتح مدخل Azure
  • انتقل إلى workspace1
  • ضمن Settings، حدد Microsoft Entra ID
  • حدد تعيين المسؤول واختر workspace1_SQLAdmins

إشعار

الخطوة 6 اختيارية. قد تختار منح workspace1_SQLAdmins المجموعة دوراً أقل امتيازاً. لتعيين db_owner أو أدوار SQL أخرى، يجب تشغيل البرامج النصية على كل قاعدة بيانات SQL.

الخطوة 7: منح حق الوصول إلى تجمعات SQL

يتم بشكل افتراضي منح مسؤول Synapse دور SQL db_owner لتجمعات SQL بلا خادم في مساحة العمل أيضاً.

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

  1. لمنح المستخدمين حق الوصول إلى تجمع SQL بلا خادم و"مضمن" وقواعد البيانات الخاصة به.

  2. لمنح المستخدمين حق الوصول إلى قواعد بيانات تجمع SQL المخصصة. مثال على البرامج النصية SQL مضمنة لاحقاً في هذه المقالة.

  3. لمنح حق الوصول إلى قاعدة بيانات تجمع SQL مخصصة، يمكن تشغيل البرامج النصية بواسطة منشئ مساحة العمل أو أي عضو في workspace1_SynapseAdministrators المجموعة.

  4. لمنح حق الوصول إلى تجمع SQL بلا خادم، "مضمن"، يمكن تشغيل البرامج النصية بواسطة أي عضو في workspace1_SQLAdmins المجموعة أو workspace1_SynapseAdministrators المجموعة.

تلميح

يمكنك منح حق الوصول إلى جميع قواعد بيانات SQL عن طريق اتخاذ الخطوات التالية لكل تجمع SQL. يعد القسم تكوين أذونات نطاق مساحة العمل استثناء للقاعدة ويسمح لك بتعيين دور مسؤول النظام للمستخدم على مستوى مساحة العمل.

الخطوة 7أ: تجمع SQL بلا خادم، مضمن

يمكنك استخدام أمثلة البرنامج النصي في هذا القسم لمنح المستخدمين الإذن للوصول إلى قاعدة بيانات فردية أو جميع قواعد البيانات في تجمع SQL بلا خادم، Built-in.

إشعار

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

تكوين أذونات نطاق قاعدة البيانات

يمكنك منح المستخدمين حق الوصول إلى قاعدة بيانات SQL واحدة بلا خادم مع الخطوات الموضحة في هذا المثال:

  1. إنشاء معلومات تسجيل دخول. تغيير إلى master سياق قاعدة البيانات.

    --In the master database
    CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
    
  2. إنشاء مستخدم في قاعدة البيانات الخاصة بك. تغيير السياق إلى قاعدة البيانات الخاصة بك.

    -- In your database
    CREATE USER alias FROM LOGIN [alias@domain.com];
    
  3. إضافة مستخدم كعضو في الدور المحدد في قاعدة البيانات (في هذه الحالة، دور db_owner).

    ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
    

تكوين أذونات نطاق مساحة العمل

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

CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
ALTER SERVER ROLE sysadmin ADD MEMBER [alias@domain.com];

الخطوة 7 ب: تكوين تجمعات SQL المخصصة

يمكنك منح حق الوصول إلى قاعدة بيانات تجمع SQL واحدة ومخصصة. استخدم هذه الخطوات في محرر البرنامج النصي Azure Synapse SQL:

  1. إنشاء مستخدم في قاعدة البيانات عن طريق تشغيل الأوامر التالية. حدد قاعدة البيانات الهدف في القائمة المنسدلة Connect to:

    --Create user in the database
    CREATE USER [<alias@domain.com>] FROM EXTERNAL PROVIDER;
    -- For Service Principals you would need just the display name and @domain.com is not required
    
  2. امنح المستخدم دوراً للوصول إلى قاعدة البيانات:

    --Grant role to the user in the database
    EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
    

هام

يمكن أن توفر أدوار قاعدة البياناتdb_datareader و db_datawriter إذن القراءة/الكتابة عندما لا تريد منح أذونات db_owner. ومع ذلك، إذن db_owner ضروري لمستخدمي Spark للقراءة والكتابة مباشرة من Spark إلى أو من تجمع SQL.

يمكنك تشغيل الاستعلامات لتأكيد أن تجمعات SQL بلا خادم يمكنها الاستعلام عن حسابات التخزين، بعد إنشاء المستخدمين.

الخطوة 8: إضافة مستخدمين إلى مجموعات الأمان

اكتمل التكوين الأولي لنظام التحكم في الوصول الآن.

يمكنك الآن إضافة مستخدمين وإزالتهم إلى مجموعات الأمان التي قمت بإعدادها، لإدارة الوصول إليها. يمكنك تعيين المستخدمين يدويا لأدوار Azure Synapse، ولكن هذا يعين الأذونات بشكل غير متناسق. بدلاً من ذلك، قم فقط بإضافة مستخدمين إلى مجموعات الأمان أو إزالتهم.

الخطوة 9: أمان الشبكة

كخطوة أخيرة لتأمين مساحة العمل الخاصة بك، يجب تأمين الوصول إلى الشبكة، باستخدام جدار حماية مساحة العمل.

الخطوة 10: الإكمال

تم الآن تكوين مساحة العمل وتأمينها بالكامل.

دعم سيناريوهات أكثر تقدماً

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

تمكين دعم Git لمساحة العمل لسيناريوهات التطوير الأكثر تقدماً بما في ذلك CI/CD. أثناء العمل في وضع Git، ستحدد أذونات Git وSynapse RBAC ما إذا كان يمكن للمستخدم إجراء تغييرات على فرع العمل الخاص به. يتم النشر إلى الخدمة فقط من فرع التعاون. فكر في إنشاء مجموعة أمان للمطورين الذين يحتاجون إلى تطوير التحديثات وتصحيحها في فرع عمل ولكن لا يحتاجون إلى نشر التغييرات على الخدمة المباشرة.

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

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

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