Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: 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
Управляет доступом к базовой файловой системе.
CATALOG
catalog_nameУправляет доступом ко всему каталогу данных.
{ SCHEMA | DATABASE }
schema_nameУправляет доступом к схеме.
FUNCTION
function_nameУправляет доступом к именованной функции.
[ TABLE ]
table_nameУправляет доступом к управляемой или внешней таблице.
VIEW
view_nameУправляет доступом к представлениям SQL.
Модель наследования
Защищаемые объекты в хранилище метаданных Hive являются иерархическими и привилегиями наследуются вниз. Это означает, что предоставление или запрет привилегии на CATALOG
автоматически предоставляет или запрещает привилегию всем схемам в каталоге. Аналогичным образом привилегии, предоставленные объекту схемы, наследуются всеми объектами в этой схеме. Этот принцип соблюдается для всех защищаемых объектов.
Если вы отрицаете права пользователя в таблице, пользователь не может видеть таблицу, пытаясь перечислить все таблицы в схеме. Если вы отрицаете права пользователя на схеме, пользователь не может видеть, что схема существует, пытаясь перечислить все схемы в каталоге.
Типы привилегий
В следующей таблице показано, какие привилегии связаны с защищаемыми объектами.
Тип привилегии | ANONYMOUS FUNCTION | ANY FILE | CATALOG | SCHEMA | FUNCTION | TABLE | ВИД |
---|---|---|---|---|---|---|---|
CREATE | Да | Да | |||||
MODIFY | Да | Да | Да | Да | |||
READ_METADATA | Да | Да | Да | Да | |||
SELECT | Да | Да | Да | Да | Да | Да | Да |
ИСПОЛЬЗОВАНИЕ | Да | Да |
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
Файлы COPY INTO, управляемые учетными данными хранилища или внешним расположением .
Примеры
-- 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 USAGE ON SCHEMA some_schema FROM `[email protected]`;