0
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 初期設定:④SECURITYADMIN編 ロール階層作成

Last updated at Posted at 2023-05-15

目次に戻る

■本記事の目的

Snowflakeのトライアルおよびご契約後の初期設定を行うため
管理者ロールの段階を理解するため

■前回の記事

Snowflake 初期設定:③USERADMIN編 ユーザー ロール作成

■今回の作業

SECURITYADMINでの作業に戻ります。
ロールを実際に階層化していきます。

■ロール階層の作成

前段でアクセスロールとファンクショナルロールを定義した理由ですが、
オブジェクト制御権限は、オブジェクトによっては非常に細かい制御をロールに対して行う必要があります。一つのロールに対してオブジェクトで都度考えながら権限を振るのは管理上の手間となります。そのためアクセスケースをあらかじめ整理して、オブジェクトのアクセス制御権限をロールでセットとする考え方で管理を効率化します。
上位ロールは下位ロールの操作権限を継承できるためアクセスロールとファンクショナルロールというロールの階層構成が可能となっています。
image.png

上位ロールに下位ロールを構成します。
アクセスロールとファンクショナルロールの関係性ですが、
継承を利用したロール階層構成ですので、以下の構文となります。

use role SECURITYADMIN ;
grant role <アクセスロール> to role <ファンクショナルロール> ;
例
--データベースアクセスを付与
grant role TEST_ACCESS_SELECT_ROLE to role TEST_FUNCTIONAL_ANALYST_ROLE ;
grant role TEST_ACCESS_ALL_ROLE to role TEST_FUNCTIONAL_DBADMIN_ROLE ;

--ウェアハウスアクセスを付与
grant role TEST_ACCESS_WH_ROLE to role TEST_FUNCTIONAL_ANALYST_ROLE ;
grant role TEST_ACCESS_WH_ROLE to role TEST_FUNCTIONAL_DBADMIN_ROLE ;

親ロールの最後は一部の例を除き、SYSADMINとしておきます。
SYSADMINで下位ロールのオブジェクト管理ができるようにしておきます。

use role SECURITYADMIN ;
grant role <ファンクショナルロール> to role SYSADMIN ;
例
grant role TEST_FUNCTIONAL_ANALYST_ROLE to role SYSADMIN ;
grant role TEST_FUNCTIONAL_DBADMIN_ROLE to role SYSADMIN  ;

Webコンソールの階層図を見ると以下のようになります。
image.png

■ロール階層における注意点

別の方の記事での注意点を閲覧したところ
共有(SHARE)の権限はむやみにSYSADMINに継承しない方がいいみたいです。
ロール階層を組むことが必須ではないロール構成もあるようです。
DB関連ではないですが、サポート管理ロールなども独立させるようにしていたので、
上位ロールに継承させたくない場合は考慮しましょう。

■あとがき

ロール設計については、お客様の要件や規模、DB環境などで構成が変わるので
図面化してから作成したほうが良さそうです。
ユーザーへのロールの割当ては、次回とさせてください。

■次の記事

Snowflake 初期設定:⑤SECURITYADMIN編 ユーザーへのロール割当て

目次に戻る

0
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
0
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?