Поделиться через


Привилегии и защищаемые объекты в каталоге Unity

Применяется к:отмечен галочкой да Databricks SQL отмечен галочкой да Databricks Runtime отмечен галочкой да только для Unity Catalog

Привилегия — это право, предоставленное субъекту для работы с защищаемым объектом в хранилище метаданных. Модель привилегий и защищаемые объекты различаются в зависимости от того, используется ли хранилище метаданных каталога Unity или устаревшее хранилище метаданных Hive. В этой статье описывается модель привилегий для каталога Unity. Если вы используете хранилище метаданных Hive, ознакомьтесь с правами и защищаемыми объектами в хранилище метаданных Hive.

Подробные сведения об управлении привилегиями в каталоге Unity см. в разделе "Управление привилегиями" в каталоге Unity.

Примечание.

Эта статья относится к привилегиям каталога Unity и модели наследования в модели привилегий версии 1.0. Если вы создали хранилище метаданных каталога Unity во время общедоступной предварительной версии (до 25 августа 2022 г.), возможно, вы используете более раннюю модель привилегий, которая не поддерживает текущую модель наследования. Вы можете обновить модель привилегий до версии 1.0, чтобы получить наследование привилегий. См. раздел "Обновление до наследования привилегий".

Защищаемые объекты

Защищаемый объект — это объект, определенный в хранилище метаданных каталога Unity, в котором привилегии могут быть предоставлены субъекту . Полный список защищаемых объектов каталога Unity и привилегий, которые можно предоставить на них, см. в разделе "Права каталога Unity" и защищаемые объекты.

Чтобы управлять привилегиями для любого объекта, необходимо быть его владельцем или иметь MANAGE привилегии для объекта, а также USE CATALOG родительского каталога объекта и USE SCHEMA его родительской схемы.

Синтаксис

securable_object
  { CATALOG [ catalog_name ] |
    CONNECTION connection_name |
    CLEAN ROOM clean_room_name |
    EXTERNAL LOCATION location_name |
    FUNCTION function_name |
    METASTORE |
    PROCEDURE procedure_name |
    SCHEMA schema_name |
    SHARE share_name |
    [ STORAGE | SERVICE ] CREDENTIAL credential_name |
    [ TABLE ] table_name |
    MATERIALIZED VIEW view_name |
    VIEW view_name |
    VOLUME volume_name
  }

Вы также можете указать SERVER вместо CONNECTION и DATABASE вместо SCHEMA.

Параметры

  • CATALOG catalog_name

    Управляет доступом ко всему каталогу данных.

  • MATERIALIZED VIEW view_name

    Управляет доступом к материализованному представлению.

  • METASTORE

    Управляет доступом к хранилищу метаданных каталога Unity, присоединенному к рабочей области. При управлении привилегиями в хранилище метаданных не включайте имя хранилища метаданных в команду SQL. Каталог Unity предоставит или отменит привилегию на хранилище метаданных, подключенное к рабочей области.

  • PROCEDURE procedure_name

    Управляет доступом к определяемой пользователем процедуре.

    Если не удается найти процедуру, Azure Databricks вызывает ошибку.

  • SCHEMA schema_name

    Управляет доступом к схеме.

  • [ STORAGE | SERVICE ] CREDENTIAL credential_name

    Управляет доступом к учетным данным.

    Ключевые слова STORAGE и SERVICE (флажок установлен в Databricks Runtime 15.4 и более поздних версиях) являются необязательными.

  • SHARE share_name

    Управляет доступом к общей папкеполучателю.

  • TABLE table_name

    Управляет доступом к управляемой или внешней таблице. Если таблица не найдена, Azure Databricks вызывает ошибку TABLE_OR_VIEW_NOT_FOUND .

  • VIEW view_name

    Управляет доступом к представлению. Если Azure Databricks не может найти представление, возникает ошибка TABLE_OR_VIEW_NOT_FOUND.

  • VOLUME volume_name

    Управляет доступом к разделу. Azure Databricks выдаёт ошибку, если том не удается найти.

Типы привилегий

Список типов привилегий см. в разделе "Права каталога Unity" и защищаемые объекты.

Примеры

-- Grant a privilege to the user [email protected]
> GRANT SELECT ON TABLE t TO `[email protected]`;

-- Revoke a privilege from the general public group.
> REVOKE USE SCHEMA ON SCHEMA some_schema FROM `[email protected]`;