أتمم أذونات فهرس Unity في Azure Databricks على مستوى المخطط

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

في هذه المقالة، سأقدم السيناريو لأتمتة إدارة الصلاحيات على مستوى مخطط Unity Catalog.

الامتيازات على مستوى مخطط Unity Catalog

Unity Catalog privilege model

يمكن لنموذج الامتيازات الهرمي في Unity Catalog للمستخدمين تطبيق الامتيازات على أي مستوى في التسلسل الهرمي، ويورث الكائن(ات) الفرعي(ن) نفس الأذونات تلقائيًا. لذا، إذا تم تطبيق الإذن على مستوى المخطط، سيتم تطبيقه تلقائيًا على جميع الجداول والعروض والأحجام والوظائف داخل المخطط.

في Unity Catalog (Databricks)، يتم تطبيق الأذونات على مستوى المخطط عندما ترغب في التحكم في الوصول إلى مجموعة من الجداول والعروض داخل مخطط محدد. تُطبق الأذونات على مستوى المخطط عادة في السيناريوهات التالية:

  1. منح الوصول إلى مجموعات الكائنات: إذا كنت ترغب في إدارة الأذونات لعدة جداول وعروض بشكل جماعي، فإنه من الكفء تطبيق الأذونات على مستوى المخطط بدلاً من تطبيقها بشكل فردي على كل جدول أو عرض. يتيح لك ذلك التحكم في الوصول إلى جميع الكائنات داخل ذلك المخطط بشكل متزامن.
  2. التحكم التنظيمي: عندما تحتاج الفرق أو الأقسام المختلفة داخل منظمة ما إلى الوصول إلى مجموعات بيانات محددة، التي يتم تخزينها تحت مخططات منفصلة. يسمح تطبيق أذونات مستوى المخطط بمنح أو تقييد الوصول إلى جميع الكائنات ذات الصلة بفريق داخل ذلك المخطط.
  3. إدارة الأذونات المتسقة: بالنسبة للبيئات التي يتم فيها إضافة كائنات جديدة (جداول/عرض) بشكل متكرر إلى مخطط، فإن ضبط الأذونات على مستوى المخطط يضمن أن ترث الكائنات الجديدة الأذونات تلقائيًا، مما يقلل من الحاجة إلى تحديثات الأذونات اليدوية.
  4. الحفاظ على أمان البيانات: عندما تريد فرض ضوابط الوصول على فئة معينة من مجموعات البيانات (مثل بيانات المالية، بيانات الموارد البشرية) التي تم تنظيمها منطقيًا تحت مخطط. من خلال ضبط الأذونات على مستوى المخطط، تحافظ على أمان البيانات مع تبسيط الإدارة.

نص الأتمتة

المتطلبات الأساسية

  • تم إعداد دليل الوحدة بالفعل.
  • الجهة الرئيسية مرتبطة بمساحة عمل Databricks.
  • لدى المستخدم الذي يقوم بتشغيل نص الأذونات الأذونات المناسبة على المخطط والدليل.

الخطوة 1: إنشاء دفتر ملاحظات وإعلان المتغيرات 

قم بإنشاء دفتر ملاحظات في مساحة عمل Databricks. لإنشاء دفتر ملاحظات في مساحة العمل الخاصة بك، انقر على “+” جديد في الشريط الجانبي، ثم اختر دفتر ملاحظات

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

Python

 

الخطوة 2: تحديد الكتالوج والمخطط

انسخ والصق وقم بتشغيل الكود أدناه في خلية جديدة أو موجودة ثم قم بتشغيل الخلية.

Python

 

الخطوة 3: تكرار الأدوار والامتيازات وتطبيق الإذن على الكتالوج والمخطط

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

Python

 

التحقق

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

Permissions applied in the default schema inside the main catalog available out of the box

يمكنك أيضًا تشغيل النص البرمجي SQL أدناه في دفتر ملاحظات لعرض جميع الأذونات لمخطط كجزء من التحقق.

SQL

 

الاستنتاج

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

Source:
https://dzone.com/articles/automate-databricks-unity-catalog-permissions-at-schema-level