RBAC、DAC、セキュリティオブジェクト階層

Snowflake の管理、ガバナンス、コラボレーション

Emily Melhuish

Technical Curriculum Developer, Snowflake

Claroの紹介

  • グローバルな信用構築アプリ Claroのフェイクロゴ
Snowflake の管理、ガバナンス、コラボレーション

アクセス制御の課題

access_control.png

Snowflake の管理、ガバナンス、コラボレーション

基本的な構成要素

権限とはアクションを実行する許可のことです:

  • SELECT: 読み取り
  • INSERT: 書き込み
  • CREATE: 作成
用語 定義
権限 アクションを実行する許可(例: SELECT、INSERT、CREATE)
オブジェクト 権限を付与できる対象(テーブル、スキーマ、データベース、ウェアハウス)
ロール 権限が付与されるエンティティ。ユーザーや他のロールに付与可能
ユーザー Snowflakeに接続し、ロールを保持する人またはサービスアカウント
Snowflake の管理、ガバナンス、コラボレーション

ロールベースアクセス制御(RBAC)の仕組み

 

権限・ロール・ユーザーの左から右へのフロー

Snowflake の管理、ガバナンス、コラボレーション

RBACの実装

ロールに権限を付与する

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;

ユーザーにロールを割り当てる

GRANT ROLE analyst_role TO USER maria;
1 [Snowflake: Access Control Privileges](https://docs.snowflake.com/en/user-guide/security-access-control-privileges)
Snowflake の管理、ガバナンス、コラボレーション

任意アクセス制御(DAC)

転送前後のDACを示すパーティション

  • すべてのオブジェクトには所有者(ロール)が存在する
  • RBACはロール構造を定義する
  • DACは各ロールが管理する範囲を決定する
Snowflake の管理、ガバナンス、コラボレーション

所有権の移譲

所有権を別のロールに移譲する

-- Current owner: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
  TO ROLE data_engineer
  REVOKE CURRENT GRANTS;
Snowflake の管理、ガバナンス、コラボレーション

セキュリティオブジェクト階層

セキュリティオブジェクト階層

Snowflake の管理、ガバナンス、コラボレーション

すべての階層でのUSAGE適用

GRANT USAGE ON DATABASE <your_database>
  TO ROLE analyst_role;

GRANT USAGE ON SCHEMA core
  TO ROLE analyst_role;

GRANT SELECT ON TABLE core.credit_scores
  TO ROLE analyst_role;
Snowflake の管理、ガバナンス、コラボレーション

システム定義ロール

 

ロール 役割
ACCOUNTADMIN アカウント全体の管理
SYSADMIN データベースとウェアハウスの作成
SECURITYADMIN ネットワークポリシー、マスキングポリシー、ロール管理
USERADMIN ユーザーの作成とロールの割り当て
PUBLIC すべてのユーザーのデフォルトロール
1 [Snowflake: Access Control Overview](https://docs.snowflake.com/en/user-guide/security-access-control-overview)
Snowflake の管理、ガバナンス、コラボレーション

Let's practice!

Snowflake の管理、ガバナンス、コラボレーション

Preparing Video For Download...