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 |
| ユースケース | アカウント全体の職務機能を表す | 単一DB内のオブジェクトアクセスをまとめる |
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 の管理、ガバナンス、コラボレーション