#snowflake-cloud-data-platform
Вопрос:
Как я могу получить доступ к объектам в разделе INFORMATION_SCHEMA в базе данных в Snowflake?
Если я попытаюсь предоставить доступ к ИСПОЛЬЗОВАНИЮ ОБЩЕДОСТУПНОЙ или любой роли в INFORMATION_SCHEMA, я получу эту ошибку: Ошибка управления доступом SQL: Недостаточно привилегий для работы со схемой «INFORMATION_SCHEMA»
Я пытаюсь получить доступ к объектам в разделе INFORMATION_SCHEMA из Power BI. Можно ли было бы это сделать?..
Ответ №1:
В информационной системе базы данных существует множество представлений и табличных функций. Для некоторых требуются повышенные разрешения, но если вам нужен только базовый доступ для роли, все, что ей нужно, находится usage
в базе данных:
use role ACCOUNTADMIN;
create or replace role NEWROLE;
grant usage on database TEST to NEWROLE;
grant role NEWROLE to user MYUSER;
use role NEWROLE;
select * from "TEST"."INFORMATION_SCHEMA"."COLUMNS";
Ответ №2:
INFORMATION_SCHEMA находится на уровне БД, я считаю, что пока у вас есть доступ к использованию на уровне БД, вы должны иметь доступ к INFORMATION_SCHEMA под ним, как предложил пример Грега.
Но результат INFORMATION_SCHEMA может зависеть от доступа пользователя. Например, если у пользователя нет доступа к определенным таблицам, они не будут отображаться в результатах.