التحكم في الوصول وتكوينات مستودع البيانات في Azure Data Lake Storage Gen2

تساعدك هذه المقالة على تقييم وفهم آليات التحكم في الوصول في Azure Data Lake Storage Gen2. تتضمن هذه الآليات التحكم في الوصول المستند إلى دور Azure (RBAC) وقوائم التحكم في الوصول (ACLs). ستتعلم:

  • كيفية تقييم الوصول بين Azure RBAC وACLs
  • كيفية تكوين التحكم في الوصول باستخدام إحدى هاتين الآليتين أو كليهما
  • كيفية تطبيق آليات التحكم في الوصول على أنماط تنفيذ مستودع البيانات

تحتاج إلى معرفة أساسية بحاويات التخزين ومجموعات الأمان وAzure RBAC وACLs. لإطار المناقشة، نشير إلى بنية مستودع بيانات عامة للمناطق الأولية والمثرية والمنسقة.

يمكنك استخدام هذا المستند مع إدارة الوصول إلى البيانات.

استخدام أدوار Azure RBAC المضمنة

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

يمكن أن تحتوي الأدوار على أذونات للإدارة أو الوصول إلى طبقة البيانات. يمنح دور القارئ حق الوصول للقراءة فقط إلى موارد طبقة الإدارة ولكن ليس الوصول للقراءة إلى البيانات.

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

أدوار الإدارة المضمنة

فيما يلي أدوار الإدارة المضمنة.

  • المالك: يمكن للمستخدم إدارة كل شيء، بما في ذلك الوصول إلى الموارد. يوفر هذا الدور الوصول الرئيسي.
  • المساهم: إدارة كل شيء، باستثناء الوصول إلى الموارد. يوفر هذا الدور الوصول الرئيسي.
  • مساهم حساب التخزين: الإدارة الكاملة لحسابات التخزين. يوفر هذا الدور الوصول الرئيسي.
  • القارئ: قراءة وسرد الموارد. لا يوفر هذا الدور الوصول إلى المفتاح.

أدوار البيانات المضمنة

فيما يلي أدوار البيانات المضمنة.

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

ملاحظة

قد تستغرق تعيينات التحكم في الوصول استنادا إلى الدور في Azure ما يصل إلى خمس دقائق للنشر ونفاذها.

كيفية تقييم الوصول

أثناء التخويل المستند إلى أساس الأمان، يقيم النظام الأذونات بالترتيب التالي. لمزيد من المعلومات، راجع الرسم التخطيطي التالي.

  • يتم تقييم التحكم في الوصول استنادا إلى الدور في Azure أولا ويأخذ الأولوية على أي تعيينات ACL.
  • إذا كانت العملية معتمدة بالكامل استنادا إلى التحكم في الوصول استنادا إلى الدور، فلن يتم تقييم قوائم التحكم في الوصول على الإطلاق.
  • إذا لم تكن العملية مصرح بها بالكامل، يتم تقييم قوائم التحكم في الوصول.

لمزيد من المعلومات، راجع كيفية تقييم الأذونات.

ملاحظة

ينطبق نموذج الأذونات هذا على Azure Data Lake Storage فقط. لا ينطبق على الأغراض العامة أو تخزين الكائن الثنائي كبير الحجم دون تمكين مساحة الاسم الهرمية. يستبعد هذا الوصف المفتاح المشترك وأساليب مصادقة SAS. كما يستبعد السيناريوهات التي يتم فيها تعيين دور مالك بيانات Storage Blob المضمن، والذي يوفر وصول المستخدم الفائق. اضبط allowSharedKeyAccess على false بحيث يتم تدقيق الوصول حسب الهوية.

رسم تخطيطي لمخطط انسيابي يوضح كيفية تقييم الوصول.

لمزيد من المعلومات حول الأذونات المستندة إلى قائمة التحكم بالوصول المطلوبة لعملية معينة، راجع قوائم التحكم في الوصول في Azure Data Lake Storage Gen2.

ملاحظة

  • تنطبق قوائم التحكم في الوصول فقط على أساسيات الأمان في نفس المستأجر، بما في ذلك المستخدمين الضيوف.
  • يمكن لأي مستخدم لديه أذونات لإرفاقها بمجموعة إنشاء نقاط تحميل Azure Databricks. تكوين نقطة التحميل باستخدام بيانات اعتماد كيان الخدمة أو خيار Azure AD passthrough. في وقت الإنشاء، لا يتم تقييم الأذونات. يتم تقييم الأذونات عندما تستخدم عملية نقطة التحميل. يمكن لأي مستخدم يمكنه إرفاق نظام مجموعة محاولة استخدام نقطة التحميل.
  • عندما ينشئ المستخدم تعريف جدول في Azure Databricks أو Azure Synapse Analytics، يحتاج إلى الوصول للقراءة إلى البيانات الأساسية.

تكوين الوصول إلى Azure Data Lake Storage

إعداد التحكم في الوصول في Azure Data Lake Storage باستخدام Azure RBAC أو ACLs أو مزيج من كليهما.

تكوين الوصول باستخدام Azure RBAC فقط

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

تكوين الوصول باستخدام قوائم التحكم في الوصول فقط

فيما يلي قوائم التحكم في الوصول لتوصيات التكوين للتحليات على نطاق السحابة.

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

عند إضافة مستخدمين أو إزالتهم من المجموعة، لا يطلب منك إجراء تحديثات على Data Lake Storage. أيضا، يقلل استخدام المجموعات من فرصة تجاوز إدخالات التحكم في الوصول البالغ عددها 32 إدخالا لكل ملف أو مجلد ACL. بعد الإدخالات الافتراضية الأربعة، لا يوجد سوى 28 إدخالا متبقيا لتعيينات الأذونات.

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

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

تكوين الوصول باستخدام كل من Azure RBAC وقوائم التحكم في الوصول

توفر أذونات Storage Blob Data Contributor وStorage Blob Data Reader الوصول إلى البيانات وليس حساب التخزين. يمكنك منح حق الوصول على مستوى حساب التخزين أو مستوى الحاوية. إذا تم تعيين Storage Blob Data Contributor، فلا يمكن استخدام قوائم التحكم في الوصول لإدارة الوصول. حيث يتم تعيين قارئ بيانات Storage Blob، يمكنك منح أذونات كتابة مرتفعة باستخدام قوائم التحكم في الوصول. لمزيد من المعلومات، راجع كيفية تقييم الوصول.

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

نهج مجموعة قائمة التحكم في الوصول المتداخلة

هناك نهجان لمجموعات ACL المتداخلة.

الخيار 1: مجموعة التنفيذ الأصل

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

تحذير

نوصي مقابل هذا النمط حيث لديك عمليات حذف متكررة واستخدام الخيار 2 بدلا من ذلك: إدخال آخر لقائمة التحكم في الوصول.

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

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

الخيار 2: إدخال آخر لقائمة التحكم في الوصول

النهج الموصى به هو استخدام إدخال ACL الآخر المعين في الحاوية أو الجذر. حدد الإعدادات الافتراضية والوصول إلى قوائم التحكم بالوصول كما هو موضح في الشاشة التالية. يضمن هذا الأسلوب أن كل جزء من المسار من الجذر إلى المستوى الأدنى لديه أذونات تشغيل.

لقطة شاشة تعرض مربع حوار إدارة الوصول مع تمييز آخر وتحديد الوصول والافتراضي.

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

لقطة شاشة تعرض مربع حوار إدارة الوصول مع تمييز businessgrp 1 وتحديد الوصول والافتراضي.

الاستخدامات التالية هي أنماط الأمان الموصى بها لكل منطقة من مناطق مستودع البيانات:

  • يجب أن يسمح Raw بالوصول إلى البيانات فقط باستخدام أسماء الأمان الأساسية (SPNs).
  • يجب أن يسمح الإثراء بالوصول إلى البيانات فقط باستخدام أسماء الأمان الأساسية (SPNs).
  • يجب أن يسمح المنسق بالوصول مع كل من أسماء الأمان الأساسية (SPNs) وأسماء المستخدمين الأساسية (UPNs).

مثال على سيناريو استخدام مجموعات أمان Azure AD

هناك العديد من الطرق المختلفة لإنشاء مجموعات. على سبيل المثال، تخيل أن لديك دليلا باسم /LogData يحتوي على بيانات السجل التي تم إنشاؤها بواسطة الخادم الخاص بك. يدمج Azure Data Factory البيانات في هذا المجلد. يقوم مستخدمون محددون من فريق هندسة الخدمة بتحميل السجلات وإدارة المستخدمين الآخرين لهذا المجلد. يمكن لتحليلات Azure Databricks ومجموعات مساحة عمل علوم البيانات تحليل السجلات من هذا المجلد.

لتمكين هذه الأنشطة، قم بإنشاء مجموعة LogsWriter ومجموعة LogsReader . تعيين الأذونات التالية:

  • LogsWriter أضف المجموعة إلى قائمة التحكم بالوصول للدليل /LogData بأذوناتrwx.
  • LogsReader أضف المجموعة إلى قائمة التحكم بالوصول للدليل /LogData بأذوناتr-x.
  • أضف كائن كيان الخدمة أو هوية الخدمة المدارة (MSI) ل Data Factory إلى LogsWriters المجموعة.
  • أضف المستخدمين في فريق هندسة الخدمة إلى مجموعة LogsWriter.
  • تم تكوين Azure Databricks لتمرير Azure AD إلى مخزن Azure Data Lake.

إذا نقل مستخدم في فريق هندسة الخدمة إلى فريق مختلف، فما عليك سوى إزالة هذا المستخدم من LogsWriter المجموعة.

إذا لم تقم بإضافة هذا المستخدم إلى مجموعة، ولكن بدلا من ذلك، أضفت إدخال ACL مخصصا لهذا المستخدم، فستحتاج إلى إزالة إدخال ACL هذا من /LogData الدليل. ستحتاج أيضا إلى إزالة الإدخال من جميع الدلائل الفرعية والملفات في التسلسل /LogData الهرمي للدليل بأكمله.

التحكم في الوصول إلى بيانات Azure Synapse Analytics

لنشر مساحة عمل Azure Synapse، يتطلب حساب Azure Data Lake Storage Gen2. يستخدم Azure Synapse Analytics حساب التخزين الأساسي للعديد من سيناريوهات التكامل ويخزن البيانات في حاوية. تتضمن الحاوية جداول Apache Spark وسجلات التطبيق ضمن مجلد يسمى /synapse/{workspaceName}. تستخدم مساحة العمل أيضا حاوية لإدارة المكتبات التي تقوم بتثبيتها.

أثناء نشر مساحة العمل من خلال مدخل Microsoft Azure، قم بتوفير حساب تخزين موجود أو أنشئ حسابا جديدا. حساب التخزين المتوفر هو حساب التخزين الأساسي لمساحة العمل. تمنح عملية التوزيع هوية مساحة العمل حق الوصول إلى حساب Data Lake Storage Gen2 المحدد، باستخدام دور Storage Blob Data Contributor.

إذا قمت بتوزيع مساحة العمل خارج مدخل Microsoft Azure، أضف هوية مساحة عمل Azure Synapse Analytics يدويا إلى دور Storage Blob Data Contributor . يوصى بتعيين الدور Storage Blob Data Contributor على مستوى الحاوية لاتباع مبدأ الامتياز الأقل.

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

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

التحكم في الوصول إلى البيانات الدقيقة في Azure Synapse Analytics باستخدام قوائم التحكم في الوصول

عند إعداد التحكم في الوصول إلى مستودع البيانات، تتطلب بعض المؤسسات الوصول على مستوى متعدد المستويات. قد يكون لديهم بيانات حساسة لا يمكن لبعض المجموعات في المؤسسة رؤيتها. يسمح Azure RBAC بالقراءة أو الكتابة على حساب التخزين ومستوى الحاوية فقط. باستخدام قوائم التحكم في الوصول، يمكنك إعداد التحكم في الوصول الدقيق على مستوى المجلد والملف للسماح بالقراءة/الكتابة على مجموعة فرعية من البيانات لمجموعات معينة.

الاعتبارات عند استخدام جداول Spark

عند استخدام جداول Apache Spark في تجمع Spark، فإنه ينشئ مجلد مستودع. المجلد موجود في جذر الحاوية في التخزين الأساسي لمساحة العمل:

synapse/workspaces/{workspaceName}/warehouse

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

ينشئ هذا المثال جدول Spark:

df.write.saveAsTable("table01")

لمزيد من المعلومات، راجع كيفية إعداد التحكم في الوصول لمساحة عمل synapse.

ملخص الوصول إلى Azure Data Lake

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

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