#snowflake-cloud-data-platform
#платформа облачных данных snowflake
Вопрос:
Я хочу запустить инструкцию DESCRIBE TABLE dwh.ods.users
с ОБЩЕДОСТУПНОЙ ролью. Я уже предоставил привилегии role public с:
grant all privileges on schema ods to public;
Однако, когда я пытаюсь выполнить запрос, я получаю следующую ошибку:
Ошибка компиляции SQL:
Table 'DWH.ODS.USERS' does not exist or not authorized.
С ролью USERADMIN это работает. Как я мог это решить? Спасибо
Ответ №1:
Вы также должны разрешить ИСПОЛЬЗОВАНИЕ в базе данных. Предоставление всех привилегий для схемы не означает предоставления привилегий для базы данных.
GRANT USAGE ON DATABASE <database> TO ROLE <role>;
В вашем случае:
GRANT USAGE ON DATABASE dwh TO ROLE public;
Вы можете найти больше информации об ИСПОЛЬЗОВАНИИ — прямо здесь: https://docs.snowflake.com/en/user-guide/security-access-control-privileges.html
Комментарии:
1. Та же ошибка? Также попробуйте разрешить использование схемы. Не уверен, включена ли она во все привилегии или нет.
2. Дополнение: пожалуйста, также предоставьте выбор в таблице общедоступным.
Ответ №2:
Пожалуйста, попробуйте предоставить SELECT для таблицы, USAGE для схемы и базы данных:
grant usage on database DWH to public;
grant usage on schema DWH.ODS to public;
grant select on table DWH.ODS.USERS to public;