Управление, управление данными и совместная работа в Snowflake
Emily Melhuish
Technical Curriculum Developer, Snowflake



Шаг 1: Создайте роль доступа и предоставьте ей привилегии на объекты
CREATE ROLE credit_read;
GRANT USAGE ON DATABASE claro_db
TO ROLE credit_read;
GRANT USAGE ON SCHEMA claro_db.core
TO ROLE credit_read;
GRANT SELECT ON TABLE core.credit_scores
TO ROLE credit_read;
Шаг 2: Создайте функциональную роль и унаследуйте роль доступа
CREATE ROLE analyst;
GRANT ROLE credit_read TO ROLE analyst;
Шаг 3: Назначьте функциональную роль пользователю
GRANT ROLE analyst TO USER ana;
| Роли аккаунта | Роли базы данных | |
|---|---|---|
| Область действия | Любая база данных или схема | Ограничена одной базой данных |
| Назначаются пользователям? | Да | Нет — предоставляются роли аккаунта |
| SQL | CREATE ROLE | CREATE DATABASE ROLE |
| Применение | Представляют функции в рамках аккаунта | Группируют доступ к объектам одной БД |
USE ROLE <Role Name>Команда USE SECONDARY ROLES <role_name> активирует конкретное подмножество
USE SECONDARY ROLES NONE — ограничить сессию только первичной ролью
Управление вторичными ролями в сессии
USE SECONDARY ROLES ALL;
USE SECONDARY ROLES <role_name>;
USE SECONDARY ROLES NONE;
Автоматически предоставлять SELECT на новые таблицы, добавляемые в схему
GRANT SELECT ON FUTURE TABLES
IN SCHEMA core
TO ROLE credit_read;
Управление, управление данными и совместная работа в Snowflake