22.4. Назначение и отзыв прав (metastore.mgrant, metastore.mrevoke) #
Требуемые права:
Для хранимой процедуры
metastore.mgrant: правоGRANTна прокси-таблицу.Для хранимой процедуры
metastore.mrevoke: правоREVOKEна прокси-таблицу.
Вы можете предоставлять и отзывать права на объекты pgpro_metastore с помощью следующих команд:
SELECT metastore.mgrant(право,тип_объекта,имя_объекта,роль, with_grant_option trueилиfalse); SELECT metastore.mrevoke(право,тип_объекта,имя_объекта,роль, grant_option_only trueилиfalse);
Где:
право: право, которое назначается или отзывается.Возможные значения:
ALLINSERTSELECT
тип_объекта: тип объекта pgpro_metastore, на который предоставляется или отзывается право.Возможные значения:
TABLEдля аналитических таблиц.FOLDERдля общих каталогов.
имя_объекта: имя объекта pgpro_metastore, на который предоставляется и отзывается право.Имена аналитических таблиц содержатся в столбце
table_nameтаблицы метаданныхpga_table. Имена общих каталогов содержатся в столбцеfolder_nameтаблицы метаданныхpga_folder.роль: роль, которой предоставляется или у которой отзывается право.(Для команды
metastore.mgrant)with_grant_option: указывает, может ли роль предоставлять право другим ролям.(Для команды
metastore.mrevoke)grant_option_only: указывает, отзывается ли только возможность предоставлять право другим ролям, при этом само право остаётся.
Пример 22.5.
Предоставить роли
user1правоINSERTна аналитическую таблицуhits:SELECT metastore.mgrant('INSERT','TABLE','hits','user1');Отозвать у роли
user1правоINSERTна аналитическую таблицуhits:SELECT metastore.mrevoke('INSERT','TABLE','hits','user1');
Альтернативный способ — вы можете предоставлять или отзывать права на прокси-таблицы объектов pgpro_metastore напрямую с помощью следующих запросов:
GRANTправоON metastore.имя_прокси-таблицыTOроль[WITH GRANT OPTION]; REVOKE [GRANT OPTION FOR]правоON metastore.имя_прокси-таблицыFROMроль;
Где:
(Для команды
REVOKE)GRANT OPTION FOR: указывает, что отзывается только возможность предоставлять право другим ролям, при этом само право остаётся.право: право, которое назначается или отзывается.Возможные значения:
ALLINSERTSELECT
имя_прокси-таблицы: имя прокси-таблицы.Имена прокси-таблиц содержатся в столбце
proxy_table_nameтаблицы метаданныхpga_proxy_table. За подробной информацией о получении имён прокси-таблиц обратитесь к Разделу 22.3.роль: роль, которой предоставляется или у которой отзывается право.(Для команды
GRANT)WITH GRANT OPTION: указывает, что роль может предоставлять право другим ролям.
Пример 22.6.
Предоставьте роли
user1правоINSERTна прокси-таблицу, связанную с аналитической таблицейhits:GRANT INSERT ON metastore.t_hits_00001 TO user1;
Отозвать у роли
user1правоINSERTна прокси-таблицу, связанную с аналитической таблицейhits:REVOKE INSERT ON metastore.t_hits_00001 FROM user1;