2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Snowflake]基本的なロール階層と権限の継承について

Posted at

はじめに

本記事では、Snowflakeにおけるロール階層と権限継承について解説します。
Snowflakeは独自のRole-Based Access Control(RBAC)システムを採用しており、
効率的で安全なデータアクセス管理を実現しています。
気かではその管理に使用されているロールに関する基本的な内容を解説します。

本記事で学べること:

  • Snowflakeの5つのシステムロールの特徴と用途
  • ロール階層における権限継承の仕組み
  • 他のクラウドサービスとの違い
  • ロールの制約

Snowflakeのロール階層と権限の継承

システムロール一覧

以下にSnowflakeにて使用されているシステムロールをまとめます。

ロール名 権限レベル 説明 主な用途
ACCOUNTADMIN 最上位 アカウント内で最上位のロール。すべての権限を持つ アカウント全体の設定、課金管理、セキュリティポリシーの設定
SECURITYADMIN セキュリティ管理 セキュリティ管理用のロール。ユーザとロールの管理権限を持つ ユーザ・ロールの作成、権限の割り当て、セキュリティ監査
USERADMIN ユーザー管理 ユーザとロールの管理専用のロール。SECURITYADMINより限定的 基本的なユーザ・ロール管理(セキュリティ権限なし)
SYSADMIN システム管理 データベースオブジェクトの管理権限を持つロール ウェアハウス、データベース、スキーマ、テーブルの作成・管理
PUBLIC 基本 すべてのユーザー・ロールに自動付与される基本ロール 基本的なシステム機能へのアクセス

各ロールの詳細

ACCOUNTADMIN(アカウント管理者)

  • アカウント内のすべてのオブジェクトとデータへの完全なアクセス権
  • 他のすべてのロールの権限を継承
  • 使用は最小限に抑え、必要な時のみ利用することを推奨

SECURITYADMIN(セキュリティ管理者)

  • グローバルなユーザー・ロール管理権限
  • セキュリティポリシーの設定と管理
  • USERADMINロールの権限を継承

USERADMIN(ユーザー管理者)

  • ユーザーとロールの作成・管理(限定的)
  • セキュリティ関連の権限は持たない
  • 日常的なユーザー管理業務に適している

SYSADMIN(システム管理者)

  • データベースオブジェクトの作成・管理
  • ウェアハウスの管理
  • カスタムロールの多くはこのロール配下に配置される

PUBLIC(パブリック)

  • すべてのユーザーに自動的に付与される
  • 基本的なシステム機能へのアクセスのみ
  • 最小限の権限のみを持つ

システムロールの階層

それぞれのシステムロールの関係性としては以下のようになっております。
image.png
引用元:ロール階層と権限の継承

権限の継承

継承の仕組み

権限継承は以下のように動作します:

例:3つのロールの権限継承
ロール3(権限C)→ ロール2(権限B)→ ロール1(権限A)→ ユーザ1
結果: ユーザ1は権限A、B、Cすべてを取得する

上記の権限継承を図で示すと以下のようになります
image.png
引用元:ロール階層と権限の継承

他のクラウドサービスとの違い

  • AWS IAM等: ポリシー → ロール → ユーザー/リソース
  • Snowflake: ロール → ロール → ユーザー(階層構造)

重要な制約

  • データベースロール → アカウントロール:付与可能
  • アカウントロール → データベースロール:付与不可

階層の特徴

  • 上位ロール下位ロールの権限をすべて継承する
  • PUBLICロールはすべてのユーザー・ロールに自動的に付与される
  • カスタムロールは主にSYSADMIN配下に配置される
  • データベースロールはデータベース内でのみ有効

さいごに

Snowflakeのロール階層システムは、適切に設計・運用することで組織のデータガバナンスを大幅に向上させることができます。

少しでもSnowflakeのロールに関する学習の参考になれば幸いです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?