كيفية إعداد التحكم في الوصول لمساحة عمل 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
يستخدم هذا المستند الأسماء القياسية لتبسيط الإرشادات. استبدلها بأسماء من اختيارك.
الخطوة 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.
هذه المجموعات الخمس كافية لإعداد أساسي. في وقت لاحق، يمكنك إضافة مجموعات أمان للتعامل مع المستخدمين الذين يحتاجون إلى وصول أكثر تخصصاً أو تقييد الوصول إلى الموارد الفردية فقط.
إشعار
- تعرف على كيفية إنشاء مجموعة أمان في هذه المقالة: إنشاء مجموعة أساسية وإضافة أعضاء باستخدام معرف Microsoft Entra.
- تعرف على كيفية إضافة مجموعة أمان من مجموعة أمان أخرى في هذه المقالة: إضافة مجموعة أو إزالتها من مجموعة أخرى باستخدام معرف Microsoft Entra.
- عند إنشاء مجموعة أمان، تأكد من أن نوع المجموعة هو الأمان. مجموعات Microsoft 365 غير مدعومة ل Azure 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
الخطوة 3: إنشاء مساحة عمل Synapse وتكوينها
في مدخل Microsoft Azure، أنشئ مساحة عمل Synapse:
حدد اشتراكك
حدد أو أنشئ مجموعة موارد يكون لديك دور مالك Azure لها.
قم بتسمية مساحة العمل
workspace1
اختر
storage1
لحساب التخزيناختر
container1
للحاوية التي يتم استخدامها ك "نظام الملفات".فتح
workspace1
في Synapse Studioفي Synapse Studio، انتقل إلى إدارة>التحكم في الوصول. في نطاق مساحة العمل، قم بتعيين أدوار Synapse لمجموعات الأمان كما يلي:
- تعيين دور مسؤول Synapse إلى
workspace1_SynapseAdministrators
- تعيين دور مساهم Synapse إلى
workspace1_SynapseContributors
- تعيين دور عامل تشغيل حساب Synapse إلى
workspace1_SynapseComputeOperators
- تعيين دور مسؤول Synapse إلى
الخطوة 4: منح مساحة العمل MSI حق الوصول إلى حاوية التخزين الافتراضية
لتشغيل المسارات وتنفيذ مهام النظام، يتطلب Azure Synapse هوية الخدمة المدارة (MSI) للوصول إلى container1
في حساب ADLS Gen2 الافتراضي، لمساحة العمل. لمزيد من المعلومات، راجع الهوية المدارة لمساحة عمل Azure Synapse.
فتح مدخل Azure
حدد موقع حساب التخزين،
storage1
، ثمcontainer1
.حدد Access control (IAM).
لفتح صفحة إضافة تعيين دور، حدد إضافة>إضافة تعيين دور.
تعيين الدور التالي. للحصول على خطوات تفصيلية، راجع تعيين أدوار Azure باستخدام مدخل Azure.
الإعداد القيمة الدور المساهم في بيانات مخزن البيانات الثنائية الكبيرة تعيين الوصول إلى MANAGEDIDENTITY الأعضاء اسم الهوية المُدارة إشعار
اسم الهوية المدارة هو أيضاً اسم مساحة العمل.
الخطوة 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
الخطوة 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 بعد الإنشاء. فيما يلي أمثلة تتطلب منك تشغيل هذه البرامج النصية:
لمنح المستخدمين حق الوصول إلى تجمع SQL بلا خادم و"مضمن" وقواعد البيانات الخاصة به.
لمنح المستخدمين حق الوصول إلى قواعد بيانات تجمع SQL المخصصة. مثال على البرامج النصية SQL مضمنة لاحقاً في هذه المقالة.
لمنح حق الوصول إلى قاعدة بيانات تجمع SQL مخصصة، يمكن تشغيل البرامج النصية بواسطة منشئ مساحة العمل أو أي عضو في
workspace1_SynapseAdministrators
المجموعة.لمنح حق الوصول إلى تجمع SQL بلا خادم، "مضمن"، يمكن تشغيل البرامج النصية بواسطة أي عضو في
workspace1_SQLAdmins
المجموعة أوworkspace1_SynapseAdministrators
المجموعة.
تلميح
يمكنك منح حق الوصول إلى جميع قواعد بيانات SQL عن طريق اتخاذ الخطوات التالية لكل تجمع SQL. يعد القسم تكوين أذونات نطاق مساحة العمل استثناء للقاعدة ويسمح لك بتعيين دور مسؤول النظام للمستخدم على مستوى مساحة العمل.
الخطوة 7أ: تجمع 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 ب: تكوين تجمعات SQL المخصصة
يمكنك منح حق الوصول إلى قاعدة بيانات تجمع SQL واحدة ومخصصة. استخدم هذه الخطوات في محرر البرنامج النصي Azure Synapse SQL:
إنشاء مستخدم في قاعدة البيانات عن طريق تشغيل الأوامر التالية. حدد قاعدة البيانات الهدف في القائمة المنسدلة 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
امنح المستخدم دوراً للوصول إلى قاعدة البيانات:
--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: أمان الشبكة
كخطوة أخيرة لتأمين مساحة العمل الخاصة بك، يجب تأمين الوصول إلى الشبكة، باستخدام جدار حماية مساحة العمل.
- باستخدام شبكة ظاهرية مدارةأو بدونها، يمكنك الاتصال بمساحة العمل من الشبكات العامة. للمزيد من المعلومات، راجع إعدادات الاتصال.
- يمكن التحكم في الوصول من الشبكات العامة عن طريق تمكين ميزة الوصول إلى الشبكة العامة أو جدار حماية مساحة العمل.
- بدلاً من ذلك، يمكنك الاتصال بمساحة العمل باستخدام نقطة نهاية خاصة مدارة ورابط خاص. لا تتمتع مساحات عمل Azure Synapse بدون الشبكة الظاهرية المدارة Azure Synapse Analytics بالقدرة على الاتصال عبر نقاط النهاية الخاصة المدارة.
الخطوة 10: الإكمال
تم الآن تكوين مساحة العمل وتأمينها بالكامل.
دعم سيناريوهات أكثر تقدماً
ركز هذا الدليل على إعداد نظام أساسي للتحكم في الوصول. يمكنك دعم سيناريوهات أكثر تقدما عن طريق إنشاء مجموعات أمان أخرى وتعيين أدوار أكثر دقة لهذه المجموعات في نطاقات أكثر تحديدا. يجب وضع العناصر التالية في الاعتبار:
تمكين دعم Git لمساحة العمل لسيناريوهات التطوير الأكثر تقدماً بما في ذلك CI/CD. أثناء العمل في وضع Git، ستحدد أذونات Git وSynapse RBAC ما إذا كان يمكن للمستخدم إجراء تغييرات على فرع العمل الخاص به. يتم النشر إلى الخدمة فقط من فرع التعاون. فكر في إنشاء مجموعة أمان للمطورين الذين يحتاجون إلى تطوير التحديثات وتصحيحها في فرع عمل ولكن لا يحتاجون إلى نشر التغييرات على الخدمة المباشرة.
تقييد وصول المطور إلى موارد معينة. إنشاء مجموعات أمان أخرى أكثر دقة للمطورين الذين يحتاجون إلى الوصول إلى موارد محددة فقط. قم بتعيين هذه المجموعات المناسبة لأدوار Azure Synapse التي تم تحديد نطاقها لتجمعات Spark أو أوقات تشغيل التكامل أو بيانات الاعتماد المحددة.
تقييد عوامل التشغيل من الوصول إلى أدوات التعليمات البرمجية. إنشاء مجموعات أمان للمشغلين الذين يحتاجون إلى مراقبة الحالة التشغيلية لموارد حساب Synapse وعرض السجلات ولكنهم لا يحتاجون إلى الوصول إلى التعليمات البرمجية أو لنشر تحديثات للخدمة. قم بتعيين هذه المجموعات دور عامل تشغيل الحوسبة المحدد لتجمعات Spark محددة وأوقات تشغيل التكامل.
تعطيل المصادقة المحلية. من خلال السماح بمصادقة Microsoft Entra فقط، يمكنك إدارة الوصول إلى موارد Azure Synapse مركزيا، مثل تجمعات SQL. يمكن تعطيل المصادقة المحلية لكافة الموارد داخل مساحة العمل أثناء إنشاء مساحة العمل أو بعدها. لمزيد من المعلومات حول مصادقة Microsoft Entra فقط، راجع تعطيل المصادقة المحلية في Azure Synapse Analytics.