إدارة الامتيازات في كتالوج Unity

توضح هذه المقالة كيفية التحكم في الوصول إلى البيانات والكائنات الأخرى في كتالوج Unity. للتعرف على كيفية اختلاف هذا النموذج عن التحكم في الوصول في Hive metastore، راجع العمل مع كتالوج Unity و Hive metastore القديم.

روبوت Who يمكنه إدارة الامتيازات؟

في البداية، لا يمكن للمستخدمين الوصول إلى البيانات في metastore. يتمتع مسؤولو حساب Azure Databricks ومسؤولي مساحة العمل ومسؤولي metastore بامتيازات افتراضية لإدارة كتالوج Unity. راجع مسؤول الامتيازات في كتالوج Unity.

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

يمكن منح الامتيازات إما من قبل مسؤول metastore أو مالك كائن أو مالك الكتالوج أو المخطط الذي يحتوي على الكائن. يمكن لمسؤولي الحساب أيضا منح الامتيازات مباشرة على metastore.

امتيازات كتالوج مساحة العمل

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

يحصل جميع مستخدمي مساحة العمل على الامتياز USE CATALOG على كتالوج مساحة العمل. يتلقى مستخدمو مساحة العمل أيضا الامتيازات USE SCHEMACREATE VOLUMECREATE MODELCREATE FUNCTIONCREATE TABLEو CREATE MATERIALIZED VIEW على default المخطط في الكتالوج.

لمزيد من المعلومات، راجع التمكين التلقائي للكتالوج Unity.

نموذج التوريث

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

التسلسل الهرمي لكائن كتالوج Unity

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

إشعار

إذا قمت بإنشاء مخزن بيانات تعريف كتالوج Unity أثناء المعاينة العامة (قبل 25 أغسطس 2022)، فقد تكون على نموذج امتياز سابق لا يدعم نموذج التوريث الحالي. يمكنك الترقية إلى الإصدار 1.0 من نموذج الامتياز للحصول على توريث الامتياز. راجع الترقية إلى توريث الامتيازات.

كيفية إدارة الامتيازات

يمكنك إدارة امتيازات كائنات metastore باستخدام أوامر SQL أو Databricks CLI أو موفر Databricks Terraform أو مستكشف الكتالوج.

في أوامر SQL التالية، استبدل قيم العنصر النائب هذه:

  • <privilege-type> هو نوع امتياز كتالوج Unity. راجع أنواع الامتيازات.
  • <securable-type>: نوع الكائن القابل للتأمين، مثل CATALOG أو TABLE. راجع الكائنات القابلة للتأمين
  • <securable-name>: اسم القابل للتأمين. إذا كان النوع القابل للتأمين هو METASTORE، فلا توفر الاسم القابل للتأمين. من المفترض أن يكون metastore مرفقا بمساحة العمل.
  • <principal> هو مستخدم أو كيان خدمة (ممثل بقيمة applicationId الخاصة به) أو مجموعة. يجب إحاطة المستخدمين وأساسيات الخدمة وأسماء المجموعات التي تتضمن أحرفا خاصة في backticks (` `). راجع الأساسي.

إظهار المنح على الكائنات في مخزن بيانات تعريف كتالوج Unity

الأذونات المطلوبة: مسؤول Metastore، مالك العنصر، مالك الكتالوج أو المخطط الذي يحتوي على الكائن. يمكنك أيضا عرض المنح الخاصة بك.

مستكشف الكتالوج

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

Sql

قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر استعلام SQL. يمكنك إظهار المنح على أساس معين، أو يمكنك عرض جميع المنح على عنصر قابل للتأمين.

  SHOW GRANTS [principal] ON  <securable-type> <securable-name>

على سبيل المثال، يعرض الأمر التالي جميع المنح على مخطط يسمى default في الكتالوج الأصل المسمى main:

  SHOW GRANTS ON SCHEMA main.default;

يعود الأمر:

  principal     actionType     objectType objectKey
  ------------- -------------  ---------- ------------
  finance-team   CREATE TABLE  SCHEMA     main.default
  finance-team   USE SCHEMA    SCHEMA     main.default

منح أذونات على الكائنات في مخزن بيانات تعريف كتالوج Unity

الأذونات المطلوبة: مسؤول Metastore أو مالك الكائن أو مالك الكتالوج أو المخطط الذي يحتوي على الكائن.

مستكشف الكتالوج

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوجكتالوج.
  2. حدد الكائن، مثل كتالوج أو مخطط أو جدول أو طريقة عرض.
  3. انتقل إلى علامة التبويب أذونات .
  4. انقر فوق منح.
  5. أدخل عنوان البريد الإلكتروني لمستخدم أو اسم مجموعة.
  6. حدد الأذونات التي تريد منحها.
  7. وانقر فوق موافق.

Sql

قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر استعلام SQL.

  GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>

على سبيل المثال، يمنح الأمر التالي مجموعة تسمى finance-team الوصول لإنشاء جداول في مخطط يسمى default مع الكتالوج الأصل المسمى main:

  GRANT CREATE TABLE ON SCHEMA main.default TO `finance-team`;

إبطال الأذونات على الكائنات في مخزن بيانات تعريف كتالوج Unity

الأذونات المطلوبة: مسؤول Metastore أو مالك الكائن أو مالك الكتالوج أو المخطط الذي يحتوي على الكائن.

مستكشف الكتالوج

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوجكتالوج.
  2. حدد الكائن، مثل كتالوج أو مخطط أو جدول أو طريقة عرض.
  3. انتقل إلى علامة التبويب أذونات .
  4. حدد امتيازا تم منحه لمستخدم أو كيان خدمة أو مجموعة.
  5. انقر فوق إبطال.
  6. للتأكيد، انقر فوق إبطال.

Sql

قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر استعلام SQL.

  REVOKE <privilege-type> ON <securable-type> <securable-name> TO <principal>

على سبيل المثال، يبطل الأمر التالي مجموعة تسمى finance-team access لإنشاء جداول في مخطط يسمى default مع الكتالوج الأصل المسمى main:

  REVOKE CREATE TABLE ON SCHEMA main.default TO `finance-team`;

إظهار المنح على مخزن بيانات التعريف

الأذونات المطلوبة: مسؤول Metastore أو مسؤول الحساب. يمكنك أيضا عرض المنح الخاصة بك على metastore.

مستكشف الكتالوج

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوجكتالوج.
  2. إلى جانب تسمية صفحة مستكشف الكتالوج، انقر فوق الأيقونة الموجودة بجانب اسم metastore.
  3. انتقل إلى علامة التبويب أذونات .

Sql

قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر استعلام SQL. يمكنك إظهار المنح على أساس معين، أو يمكنك عرض جميع المنح على metastore.

  SHOW GRANTS [principal] ON METASTORE

منح أذونات على مخزن بيانات التعريف

الأذونات المطلوبة: مسؤول Metastore أو مسؤول الحساب.

مستكشف الكتالوج

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوجكتالوج.
  2. إلى جانب تسمية صفحة مستكشف الكتالوج، انقر فوق الأيقونة الموجودة بجانب اسم metastore.
  3. على علامة التبويب أذونات ، انقر فوق منح.
  4. أدخل عنوان البريد الإلكتروني لمستخدم أو اسم مجموعة.
  5. حدد الأذونات التي تريد منحها.
  6. وانقر فوق موافق.

Sql

  1. قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر استعلام SQL.

    GRANT <privilege-type> ON METASTORE TO <principal>`;
    

    عند منح امتيازات على metastore، لا تقم بتضمين اسم metastore، لأنه يتم افتراض metastore المرفق بمساحة العمل الخاصة بك.

إبطال الأذونات على مخزن بيانات التعريف

الأذونات المطلوبة: مسؤول Metastore أو مسؤول الحساب.

مستكشف الكتالوج

  1. في مساحة عمل Azure Databricks، انقر فوق أيقونة الكتالوجكتالوج.
  2. إلى جانب تسمية صفحة مستكشف الكتالوج، انقر فوق الأيقونة الموجودة بجانب اسم metastore.
  3. في علامة التبويب أذونات ، حدد مستخدما أو مجموعة وانقر فوق إبطال.
  4. للتأكيد، انقر فوق إبطال.

Sql

  1. قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر استعلام SQL.

    REVOKE <privilege-type> ON METASTORE TO <principal>;
    

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