Снежинка пользователь / управление ролями - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть разные пользователи с ролью "sysadmin". Когда пользователь "AAA", который является системным администратором, создает таблицу, все работает, но затем, когда пользователь "BBB" хочет удалить / создать или заменить таблицу, созданную пользователем "AAA", мы получаем ошибку "недостаточные привилегии" ». Что мне делать? Что мне нужно изменить?

** У всех пользователей sysadmin есть «GRANT ALL» для нужной схемы, базы данных, таблицы.

Ответы [ 2 ]

2 голосов
/ 02 февраля 2020
  1. ROLE привилегий, пожалуйста, получите обзор ваших вариантов, прочитав, например,. Настройка контроля доступа .
    Необходимо учитывать комбинацию из следующих элементов:

    • Действует ROLE; убедитесь, что USER AAA и USER BBB используют ROLE SYSADMIN при создании таблиц. Проверьте владение соответствующими таблицами и выполните команду SHOW ROLES, чтобы проверить, все ли настроено должным образом.
    • В качестве альтернативы используйте GRANT OWNERSHIP ... FUTURE ...TO ROLE SYSADMIN, чтобы убедиться, что SYSADMIN владеет каждым объектом
    • Используйте управляемую схему, принадлежащую SYSADMIN, для управления доступом
  2. Вы можете создать JavaScript хранимую процедуру , которая запускает любое число SQL операторов и затем установите TASK для запуска / вызова этой процедуры.

0 голосов
/ 02 февраля 2020

Сначала несколько точек:

  1. В Snowflake используется контроль доступа на основе ролей (RBA C). Это означает, что не имеет значения, какой пользователь используется, все зависит от того, какую роль он активировал при выполнении чего-либо.

  2. Роль, которая активируется при создании объекта (например, таблица) становится владельцем этого объекта

  3. Вы можете удалить объект, только если активная роль является владельцем объекта, ИЛИ роль является членом той роли, которая его создала (она выше в иерархии ролей)

Если пользователь "AAA" создал таблицу с использованием роли SYSADMIN, то вам необходимо убедиться, что этот пользователь " BBB "отбрасывает таблицу, пока активирована SYSADMIN (или роль, которая является членом SYSADMIN, например ACCOUNTADMIN)

В качестве отступления, я бы предложила настроить иерархию ролей, а не назначить слишком много людей SYSADMIN.

...