Привилегии и защищаемые объекты в хранилище метаданных Hive

Область применения:проверка помечено да Databricks SQL проверка помечено да Databricks Runtime

Привилегия — это право, предоставленное субъекту для работы с защищаемым объектом в хранилище метаданных.

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

Защищаемые объекты в хранилище метаданных Hive

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

Для управления привилегиями для любого объекта необходимо быть его владельцем или администратором.

Синтаксис

  securable_object
    { ANY FILE |
      CATALOG [ catalog_name ] |
      { SCHEMA | DATABASE } schema_name |
      FUNCTION function_name |
      [ TABLE ] table_name |
      VIEW view_name
      }

Параметры

  • ANY FILE

    Управляет доступом к базовой файловой системе.

  • CATALOGcatalog_name

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

  • { SCHEMA | DATABASE }schema_name

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

  • FUNCTIONfunction_name

    Управляет доступом к именованной функции.

  • [ TABLE ]table_name

    Управляет доступом к управляемой или внешней таблице.

  • VIEWview_name

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

Модель наследования

Защищаемые объекты в хранилище метаданных Hive являются иерархическими, а привилегии наследуются вниз. Это означает, что предоставление или отказ в привилегии CATALOG для автоматически предоставляет или отклоняет привилегии для всех схем в каталоге. Аналогичным образом, привилегии, предоставляемые объекту схемы, наследуются всеми объектами в этой схеме. Этот шаблон применим ко всем защищаемым объектам.

Если запретить пользователю права доступа к таблице, пользователь не сможет просмотреть таблицу, попытаясь получить список всех таблиц в схеме. Если запретить пользователю права доступа к схеме, пользователь не сможет увидеть, что схема существует, попытаясь получить список всех схем в каталоге.

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

В следующей таблице показано, какие привилегии связаны с защищаемыми объектами.

Тип привилегий АНОНИМНАЯ ФУНКЦИЯ ЛЮБОЙ ФАЙЛ КАТАЛОГ СХЕМЫ ФУНКЦИИ ТАБЛИЦЕ ВИД
СОЗДАТЬ Да Да
ИЗМЕНИТЬ Да Да Да Да
READ_METADATA Да Да Да Да
ВЫБЕРИТЕ Да Да Да Да Да Да Да
ИСПОЛЬЗОВАНИЯ Да Да
  • ALL PRIVILEGES

    Используется для предоставления или отзыва всех привилегий, применимых к защищаемому объекту и его дочерним объектам, без их явного указания. Это расширение до всех доступных привилегий на момент проверки разрешений.

  • CREATE

    Создание объектов в каталоге или схеме.

  • MODIFY

    COPY INTO, UPDATEDELETE, INSERT или MERGE INTO таблицы .

    Если securable_object является hive_metastore схемой или в ней, предоставление MODIFY предоставляется MODIFY для всех текущих и будущих таблиц и представлений в защищаемом объекте.

  • READ_METADATA

    Обнаружение защищаемого объекта в show и запрос объекта в DESCRIBE

    Если защищаемый объект является hive_metastore каталогом или схемой в нем, предоставление READ_METADATA предоставляется READ_METADATA для всех текущих и будущих таблиц и представлений в защищаемом объекте.

  • READ FILES

    Запрос файлов напрямую с помощью учетных данных хранилища или внешнего расположения.

  • SELECT

    Запросите таблицу или представление, вызовите определяемую пользователем или анонимную функцию или выберите .ANY FILE Пользователю требуется SELECT таблица, представление или функция, а также USAGE схема и каталог объекта.

    Если защищаемый объект является hive_metastore или схемой в нем, предоставление SELECT предоставляется SELECT для всех текущих и будущих таблиц и представлений в защищаемом объекте.

  • USAGE

    Обязательный, но недостаточно для ссылки на любые объекты в каталоге или схеме. Субъект также должен иметь привилегии для отдельных защищаемых объектов.

  • WRITE FILES

    Непосредственно КОПИРОВАТЬ ФАЙЛЫ INTO , управляемые учетными данными хранилища или внешним расположением.

Примеры

-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;

-- Revoke a privilege from the general public group.
> REVOKE USAGE ON SCHEMA some_schema FROM `alf@melmak.et`;