كيفية إعداد التحكم في الوصول لمساحة عمل Azure Synapse
ستعلمك هذه المقالة كيفية التحكم في الوصول إلى مساحة عمل Microsoft Azure Synapse باستخدام أدوار Azure وأدوار Azure Synapse وأذونات SQL وأذونات Git.
في هذا الدليل، ستقوم بإعداد مساحة عمل وتكوين نظام أساسي للتحكم في الوصول مناسب للعديد من مشاريع Azure Synapse. ثم يصف خيارات أكثر تقدما للتحكم في الحبيبات الدقيقة إذا كنت بحاجة إليها.
يمكن تبسيط التحكم في الوصول إلى Azure Synapse باستخدام مجموعات الأمان المتوافقة مع الأدوار والشخصيات في مؤسستك. ما عليك سوى إضافة مستخدمين وإزالتهم من مجموعات الأمان لإدارة الوصول.
قبل بدء هذه الإرشادات التفصيلية، اقرأ نظرة عامة على التحكم في الوصول إلى Azure Synapse للتعرف على آليات التحكم في الوصول المستخدمة بواسطة Azure Synapse Analytics.
آليات التحكم في الدخول
ملاحظة
النهج المتبع في هذا الدليل هو إنشاء عدة مجموعات أمان ثم تعيين أدوار لهذه المجموعات. بعد إعداد المجموعات، تحتاج فقط إلى إدارة العضوية داخل مجموعات الأمان للتحكم في الوصول إلى مساحة العمل.
لتأمين مساحة عمل Azure Synapse، ستتبع نمطا لتكوين العناصر التالية:
- مجموعات الأمان، لتجميع المستخدمين الذين لديهم متطلبات وصول مماثلة.
- أدوار Azure، للتحكم في من يمكنه إنشاء تجمعات SQL وإدارتها وتجمعات Apache Spark وأوقات تشغيل التكامل والوصول إلى وحدة تخزين ADLS Gen2.
- أدوار Synapse ، للتحكم في الوصول إلى القطع الأثرية المنشورة للتعليمات البرمجية ، واستخدام موارد الحوسبة Apache Spark وأوقات تشغيل التكامل
- SQL الأذونات، للتحكم في الوصول الإداري ومستوى البيانات إلى تجمعات SQL.
- أذونات Git، للتحكم في من يمكنه الوصول إلى عناصر التعليمات البرمجية في عنصر تحكم المصدر إذا قمت بتكوين دعم Git لمساحة العمل
خطوات تأمين مساحة عمل Azure Synapse
يستخدم هذا المستند أسماء قياسية لتبسيط التعليمات. استبدلها بأسماء من اختيارك.
| الإعداد | الاسم القياسي | الوصف |
|---|---|---|
| مساحة عمل Synapse | workspace1 |
الاسم الذي سيكون لمساحة عمل Azure Synapse. |
| حساب ADLSGEN2 | storage1 |
حساب ADLS لاستخدامه مع مساحة العمل الخاصة بك. |
| الحاوية | container1 |
الحاوية الموجودة في STG1 التي ستستخدمها مساحة العمل بشكل افتراضي. |
| مستأجر الدليل النشط | contoso |
اسم مستأجر الدليل النشط. |
الخطوة 1: إعداد مجموعات الأمان
ملاحظة
أثناء المعاينة، يوصى بإنشاء مجموعات أمان تم تعيينها إلى أدوار Azure Synapse Synapse SQL Administrator و Synapse Apache Spark Administrator. مع إدخال أدوار ونطاقات Synapse RBAC جديدة أكثر دقة، يوصى الآن باستخدام هذه الإمكانات الجديدة للتحكم في الوصول إلى مساحة العمل الخاصة بك. توفر هذه الأدوار والنطاقات الجديدة مزيدا من المرونة في التكوين وتدرك أن المطورين غالبا ما يستخدمون مزيجا من SQL و Spark في إنشاء تطبيقات التحليلات وقد يحتاجون إلى منحهم حق الوصول إلى موارد محددة بدلا من مساحة العمل بأكملها. تعرف على المزيد حول Synapse RBAC.
قم بإنشاء مجموعات الأمان التالية لمساحة العمل الخاصة بك:
workspace1_SynapseAdministrators، للمستخدمين الذين يحتاجون إلى تحكم كامل في مساحة العمل. أضف نفسك إلى مجموعة الأمان هذه، على الأقل في البداية.workspace1_SynapseContributors، للمطورين الذين يحتاجون إلى تطوير التعليمات البرمجية وتصحيحها ونشرها على الخدمة.workspace1_SynapseComputeOperators، للمستخدمين الذين يحتاجون إلى إدارة ومراقبة تجمعات Apache Spark وأوقات تشغيل التكامل.workspace1_SynapseCredentialUsers، للمستخدمين الذين يحتاجون إلى تصحيح أخطاء خطوط أنابيب التزامن وتشغيلها باستخدام بيانات اعتماد MSI (هوية الخدمة المدارة) لمساحة العمل وإلغاء عمليات تشغيل خطوط الأنابيب.
ستقوم بتعيين أدوار Synapse لهذه المجموعات في نطاق مساحة العمل قريبا.
قم أيضا بإنشاء مجموعة الأمان هذه:
workspace1_SQLAdmins، مجموعة للمستخدمين الذين يحتاجون SQL سلطة مسؤول Active Directory داخل تجمعات SQL في مساحة العمل.
سيتم استخدام المجموعة workspace1_SQLAdmins عند تكوين أذونات SQL في تجمعات SQL أثناء إنشائها.
بالنسبة للإعداد الأساسي ، تكون هذه المجموعات الخمس كافية. في وقت لاحق، يمكنك إضافة مجموعات أمان للتعامل مع المستخدمين الذين يحتاجون إلى وصول أكثر تخصصا أو لمنح المستخدمين حق الوصول إلى موارد محددة فقط.
ملاحظة
- تعرف على كيفية إنشاء مجموعة أمان في إنشاء مجموعة أساسية وإضافة أعضاء باستخدام Azure Active Directory.
- تعرف على كيفية إضافة مجموعة أمان من مجموعة أمان أخرى في إضافة مجموعة أو إزالتها من مجموعة أخرى باستخدام Azure Active Directory.
تلميح
يمكن لمستخدمي Synapse الفرديين استخدام Azure Active Directory في مدخل Azure لعرض عضويات المجموعات الخاصة بهم لتحديد الأدوار التي تم منحهم إياها.
الخطوة 2: إعداد حساب تخزين ADLS Gen2 الخاص بك
تستخدم مساحة عمل Azure Synapse حاوية تخزين افتراضية من أجل:
- تخزين ملفات بيانات النسخ الاحتياطي لجداول Spark
- سجلات التنفيذ لمهام Spark
- إدارة المكتبات التي تختار تثبيتها
حدد المعلومات التالية حول مساحة التخزين الخاصة بك:
حساب ADLS Gen2 لاستخدامه لمساحة العمل الخاصة بك. هذه الوثيقة تسميها
storage1.storage1يعتبر حساب التخزين "الأساسي" لمساحة العمل الخاصة بك.سيتم استخدام الحاوية الموجودة بداخلها
workspace1مساحة عمل Synapse بشكل افتراضي. هذه الوثيقة تسميهاcontainer1.حدد Access control (IAM).
حدد Add>Add role assignment لفتح صفحة إضافة تعيين الدور.
تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure.
إعداد القيمة الدور مساهم بيانات Storage Blob تعيين الوصول إلى SERVICEPRINCIPAL الأعضاء workspace1_SynapseAdministrators workspace1_SynapseContributors workspace1_SynapseComputeOperators 
الخطوة 3: إنشاء مساحة عمل Azure Synapse وتكوينها
في مدخل Azure، قم بإنشاء مساحة عمل Azure Synapse:
اختر اشتراكك
حدد أو أنشئ مجموعة موارد لديك دور مالك Azure لها.
تسمية مساحة العمل
workspace1اختر
storage1لحساب التخزيناختر
container1للحاوية التي يتم استخدامها ك "نظام ملفات".افتح WS1 في Synapse Studio
انتقل إلى ManageAccess>Control وقم بتعيين أدوار Synapse في نطاق مساحة العمل إلى مجموعات الأمان كما يلي:
- تعيين دور مسؤول Synapse إلى
workspace1_SynapseAdministrators - تعيين دور مساهم Synapse إلى
workspace1_SynapseContributors - تعيين دور مشغل الحوسبة Synapse إلى
workspace1_SynapseComputeOperators
- تعيين دور مسؤول Synapse إلى
الخطوة 4: منح MSI مساحة العمل حق الوصول إلى حاوية التخزين الافتراضية
لتشغيل خطوط الأنابيب وتنفيذ مهام النظام، يتطلب Azure Synapse أن تحتاج هوية الخدمة المدارة في مساحة العمل (MSI) إلى الوصول إليها container1 في حساب ADLS Gen2 الافتراضي. لمزيد من المعلومات، راجع الهوية المدارة لمساحة عمل Azure Synapse.
افتح مدخل Microsoft Azure
حدد موقع حساب التخزين،
storage1ثم قم بتحديد موقعcontainer1حدد Access control (IAM).
حدد Add>Add role assignment لفتح صفحة إضافة تعيين الدور.
تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure.
إعداد القيمة الدور مساهم بيانات Storage Blob تعيين الوصول إلى MANAGEDIDENTITY الأعضاء اسم الهوية المدارة ملاحظة
اسم الهوية المدارة هو أيضاً اسم مساحة العمل.

الخطوة 5: منح مسؤولي Synapse دور مساهم Azure على مساحة العمل
لإنشاء تجمعات SQL وتجمعات Apache Spark وأوقات تشغيل التكامل، يجب أن يكون لدى المستخدمين دور مساهم Azure على الأقل في مساحة العمل. يسمح دور المساهم أيضا لهؤلاء المستخدمين بإدارة الموارد، بما في ذلك الإيقاف المؤقت وتغيير الحجم. إذا كنت تستخدم مدخل Azure أو Synapse Studio لإنشاء تجمعات SQL وتجمعات Apache Spark وأوقات تشغيل التكامل، فأنت بحاجة إلى دور مساهم Azure على مستوى مجموعة الموارد.
افتح مدخل Microsoft Azure
حدد موقع مساحة العمل،
workspace1حدد Access control (IAM).
حدد Add>Add role assignment لفتح صفحة إضافة تعيين الدور.
تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Microsoft Azure.
إعداد القيمة الدور مساهم تعيين الوصول إلى SERVICEPRINCIPAL الأعضاء workspace1_SynapseAdministrators 
الخطوة 6: تعيين دور مسؤول Active Directory SQL
يتم إعداد منشئ مساحة العمل تلقائيا كمسؤول Active Directory SQL لمساحة العمل. يمكن منح مستخدم واحد أو مجموعة واحدة فقط هذا الدور. في هذه الخطوة، يمكنك تعيين SQL مسؤول Active Directory على مساحة العمل إلى workspace1_SQLAdmins مجموعة الأمان. يمنح تعيين هذا الدور هذه المجموعة وصولا إداريا متميزا للغاية إلى جميع تجمعات SQL وقواعد البيانات في مساحة العمل.
يتحكم حساب مسؤول Azure Active Directory في الوصول إلى تجمعات SQL المخصصة، بينما يتم استخدام أدوار Synapse RBAC للتحكم في الوصول إلى التجمعات بدون خادم. قم بتكوين أدوار Synapse RBAC عبر Synapse Studio، لمزيد من المعلومات، راجع كيفية إدارة تعيينات دور Synapse RBAC في Synapse Studio.
- افتح مدخل Microsoft Azure
- انتقل إلى
workspace1 - ضمن الإعدادات، حدد مسؤول Active Directory SQL
- حدد تعيين المسؤول واختر
workspace1_SQLAdmins
ملاحظة
الخطوة 6 اختيارية. يمكنك اختيار منح المجموعة workspace1_SQLAdmins دورا أقل امتيازا. لتعيين db_owner أدوار أو أدوار SQL أخرى، يجب تشغيل البرامج النصية على كل قاعدة بيانات SQL.
الخطوة 7: منح حق الوصول إلى حمامات السباحة SQL
بشكل افتراضي، يتم أيضا تعيين دور "مسؤول Synapse" لجميع المستخدمين المعينين لدور "مسؤول Synapse" على مجموعات SQL SQL db_owner بدون خادم في مساحة العمل.
يتم التحكم في الوصول إلى تجمعات SQL للمستخدمين الآخرين باستخدام أذونات SQL. يتطلب تعيين أذونات SQL تشغيل البرامج النصية SQL على كل قاعدة بيانات SQL بعد إنشائها. هناك ثلاث حالات تتطلب منك تشغيل هذه البرامج النصية:
- منح المستخدمين الآخرين حق الوصول إلى تجمع SQL بدون خادم ، "مدمج" ، وقواعد البيانات الخاصة به
- منح أي مستخدم حق الوصول إلى قواعد بيانات تجمع SQL المخصصة
يتم تضمين أمثلة على البرامج النصية SQL أدناه.
لمنح حق الوصول إلى قاعدة بيانات تجمع SQL مخصصة، يمكن تشغيل البرامج النصية بواسطة منشئ مساحة العمل أو أي عضو في workspace1_SynapseAdministrators المجموعة.
لمنح حق الوصول إلى تجمع SQL بدون خادم ، "مضمن" ، يمكن تشغيل البرامج النصية بواسطة أي عضو في workspace1_SQLAdmins المجموعة أو workspace1_SynapseAdministrators المجموعة.
تلميح
يجب تشغيل الخطوات أدناه لكل تجمع SQL لمنح المستخدم حق الوصول إلى كافة قواعد البيانات SQL باستثناء الإذن المقطع نطاق مساحة العمل حيث يمكنك تعيين دور مسؤول النظام للمستخدم على مستوى مساحة العمل.
الخطوة 7.1: تجمع SQL بدون خادم ، مدمج
في هذا القسم، هناك أمثلة على البرامج النصية توضح كيفية منح المستخدم إذنا للوصول إلى قاعدة بيانات معينة أو إلى كافة قواعد البيانات في تجمع SQL بدون خادم، Built-in.
ملاحظة
في أمثلة البرنامج النصي، استبدل الاسم المستعار بالاسم المستعار للمستخدم أو المجموعة التي يتم منحها حق الوصول، والمجال بنطاق الشركة الذي تستخدمه.
إذن نطاق قاعدة البيانات
لمنح حق الوصول إلى مستخدم إلى قاعدة بيانات SQL واحدة بدون خادم، اتبع الخطوات الواردة في هذا المثال:
إنشاء تسجيل دخول. التغيير إلى
masterسياق قاعدة البيانات.--In the master database CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;إنشاء مستخدم في قاعدة البيانات الخاصة بك. تغيير السياق إلى قاعدة البيانات الخاصة بك.
-- In your database CREATE USER alias FROM LOGIN [alias@domain.com];إضافة مستخدم كعضو في الدور المحدد في قاعدة البيانات (في هذه الحالة، 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.2: حمامات SQL مخصصة
لمنح حق الوصول إلى قاعدة بيانات تجمع SQL مخصصة واحدة، اتبع الخطوات التالية في محرر البرامج النصية Azure Synapse SQL:
قم بإنشاء المستخدم في قاعدة البيانات عن طريق تشغيل الأمر التالي على قاعدة البيانات الهدف، المحدد باستخدام القائمة المنسدلة الاتصال إلى :
--Create user in the database CREATE USER [<alias@domain.com>] FROM EXTERNAL PROVIDER;منح المستخدم دورا للوصول إلى قاعدة البيانات:
--Grant role to the user in the database EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
هام
يمكن أن تعمل أدوار قاعدة البيانات db_datareader db_datawriter مع أذونات القراءة/الكتابة إذا لم يكن منح إذن db_owner مطلوبا. ومع ذلك، لكي يتمكن مستخدم Spark من القراءة والكتابة مباشرة من Spark إلى تجمع SQL أو منه، يلزم الحصول على إذن db_owner.
بعد إنشاء المستخدمين، قم بتشغيل الاستعلامات للتحقق من أن تجمع SQL بدون خادم يمكنه الاستعلام عن حساب التخزين.
الخطوة 8: إضافة مستخدمين إلى مجموعات الأمان
اكتمل التكوين الأولي لنظام التحكم في الوصول.
لإدارة الوصول، يمكنك إضافة مستخدمين إلى مجموعات الأمان التي قمت بإعدادها وإزالتهم. على الرغم من أنه يمكنك تعيين المستخدمين يدويا إلى أدوار Azure Synapse، إلا أنه إذا قمت بذلك، فلن يتم تكوين أذوناتهم باستمرار. بدلا من ذلك، يمكنك فقط إضافة مستخدمين إلى مجموعات الأمان أو إزالتهم.
الخطوة 9: أمان الشبكة
كخطوة أخيرة لتأمين مساحة العمل الخاصة بك، يجب عليك تأمين الوصول إلى الشبكة، باستخدام جدار حماية مساحة العمل.
- باستخدام شبكة افتراضية مدارة وبدونها، يمكنك الاتصال بمساحة العمل الخاصة بك من الشبكات العامة. للمزيد من المعلومات، راجع إعدادات الاتصال.
- يمكن التحكم في الوصول من الشبكات العامة عن طريق تمكين ميزة الوصول إلى الشبكة العامة أو جدار حماية مساحة العمل.
- بدلا من ذلك، يمكنك الاتصال بمساحة العمل الخاصة بك باستخدام نقطة نهاية خاصة مدارةوارتباط خاص. لا تملك مساحات عمل Azure Synapse بدون الشبكة الظاهرية المدارة Azure Synapse Analytics القدرة على الاتصال عبر نقاط النهاية الخاصة المدارة.
الخطوة 10: الإكمال
تم الآن تكوين مساحة العمل الخاصة بك وتأمينها بالكامل.
دعم سيناريوهات أكثر تقدما
ركز هذا الدليل على إعداد نظام أساسي للتحكم في الوصول. يمكنك دعم سيناريوهات أكثر تقدما من خلال إنشاء مجموعات أمان إضافية وتعيين أدوار أكثر تفصيلا لهذه المجموعات في نطاقات أكثر تحديدا. النظر في الحالات التالية:
تمكين دعم Git لمساحة العمل لسيناريوهات التطوير الأكثر تقدما بما في ذلك CI/CD. أثناء وجودك في وضع Git ، ستحدد أذونات Git و Synapse RBAC ما إذا كان بإمكان المستخدم إجراء تغييرات على فرع العمل الخاص به. يتم النشر إلى الخدمة فقط من فرع التعاون. فكر في إنشاء مجموعة أمان للمطورين الذين يحتاجون إلى تطوير التحديثات وتصحيحها في فرع عامل ولكنهم لا يحتاجون إلى نشر التغييرات على الخدمة المباشرة.
تقييد وصول مطور البرامج إلى موارد محددة. أنشئ مجموعات أمان إضافية أكثر دقة للمطورين الذين يحتاجون إلى الوصول إلى موارد محددة فقط. قم بتعيين أدوار Azure Synapse المناسبة لهذه المجموعات والتي تم تحديد نطاقها إلى تجمعات Spark أو أوقات تشغيل التكامل أو بيانات الاعتماد المحددة.
تقييد المشغلين من الوصول إلى القطع الأثرية التعليمات البرمجية. قم بإنشاء مجموعات أمان للمشغلين الذين يحتاجون إلى مراقبة الحالة التشغيلية لموارد حساب Synapse وعرض السجلات ولكنهم لا يحتاجون إلى الوصول إلى التعليمات البرمجية أو نشر تحديثات الخدمة. قم بتعيين دور مشغل الحوسبة لهذه المجموعات في نطاق تجمعات Spark وأوقات تشغيل تكامل محددة.
تعطيل المصادقة المحلية. من خلال السماح بمصادقة Azure Active Directory فقط، يمكنك إدارة الوصول إلى موارد Azure Synapse مركزيا، مثل تجمعات SQL. يمكن تعطيل المصادقة المحلية لجميع الموارد داخل مساحة العمل أثناء إنشاء مساحة العمل أو بعدها. لمزيد من المعلومات حول المصادقة Azure AD فقط، راجع تعطيل المصادقة المحلية في Azure Synapse Analytics.
الخطوات التالية
- تعرف على كيفية إدارة تعيينات دور Azure Synapse RBAC
- إنشاء مساحة عمل Synapse