Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
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 автоматически предоставляет или запрещает привилегию всем схемам в каталоге. Аналогичным образом привилегии, предоставленные объекту схемы, наследуются всеми объектами в этой схеме. Этот принцип соблюдается для всех защищаемых объектов.
Если вы отрицаете права пользователя в таблице, пользователь не может видеть таблицу, пытаясь перечислить все таблицы в схеме. Если вы отрицаете права пользователя на схеме, пользователь не может видеть, что схема существует, пытаясь перечислить все схемы в каталоге.
Типы привилегий
В следующей таблице показано, какие привилегии связаны с защищаемыми объектами.
| Тип привилегии | АНОНИМНАЯ ФУНКЦИЯ | ЛЮБОЙ ФАЙЛ | CATALOG | SCHEMA | ФУНКЦИЯ | TABLE | ВИД |
|---|---|---|---|---|---|---|---|
| СОЗДАЙ | Да | Да | |||||
| ИЗМЕНИТЬ | Да | Да | Да | Да | |||
| READ_METADATA | Да | Да | Да | Да | |||
| SELECT | Да | Да | Да | Да | Да | Да | Да |
| ИСПОЛЬЗОВАНИЕ | Да | Да |
ALL PRIVILEGESИспользуется для предоставления или отзыва всех привилегий, применимых к защищаемому объекту и его дочерним объектам, без необходимости их явного указания. Это распространяется на все доступные привилегии во время проверки разрешений.
CREATEСоздайте объекты в каталоге или схеме.
MODIFYCOPY 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 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`;