Команда «описать таблицу» не авторизована

#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;