1
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】グローバル権限に気を付けよう!

1
Posted at

はじめに

皆さんはSnowflakeを利用していますか?
Snowflakeで、権限不足エラーが頻発したことはありませんか?

今回はSnowflakeの運用をしていく中で気を付けたいポイントのうち、グローバル権限について紹介します。

グローバル権限とは

グローバル権限とは、アカウントレベルのオブジェクトを操作する際に必要な権限です。

以下は、Snowflakeの公式ドキュメントにあるオブジェクトの階層構造です。
簡単にいうとグローバル権限は図の赤枠内のオブジェクトに対する管理・利用権限です。
image.png

グローバル権限の付与における注意点

グローバル権限は非常に強力な権限になっているため、必要最小限のグローバル権限を必要なユーザ/ロールにのみ付与するようにしましょう。

オブジェクトに対する権限をロールに付与を行う場合は、SECURITYADMINまたは、オブジェクトの管理者(オブジェクトに対するOWNERSHIP権限を持つロール)で行う必要があります。

ただし、グローバル権限をカスタムロール(手動で作成したロール)に付与する際、以下の通り付与できるロールが限られている場合があります。
image.png

グローバル権限を付与する際は、こちらのドキュメントを参考にしてどのロールがどの権限を割り当てられるか確認しましょう。
付与できるロールが指定されていない場合は、付与する際に利用するロールはSECURITYADMINで問題ありません。

利用する機会が多いグローバル権限

①CREATE WAREHOUSE

ウェアハウスを作成するときは、CREATE WAREHOUSE権限が必要です。
こちらを付与すると、ウェアハウスの作成が可能になります。

基本的には管理者レベルの作業になるので、基本的にはSYSADMINで実施することを推奨していますが、もしカスタムロールでこの権限が必要な場合は、管理者として利用するロールのみに付与しましょう。
この権限は、ACCOUNTADMINによる付与が必要です。

②CREATE DATABASE

こちらもウェアハウス同様で、データベースを作成する際に必要な権限です。
こちらを付与すると、データベースの作成が可能になります。

この権限は、ACCOUNTADMINによる付与が必要です。

③EXECUTE TASK / EXECUTE MANAGED TASK

タスクを実行する際に必要な権限です。
タスクを実行する場合は、タスクのOWNERSHIP権限を持つロールがEXECUTE TASK、もしくは、EXECUTE MANAGED TASKの権限を持っていることが必要になります。

EXECUTE TASKはウェアハウスを利用したタスク実行で、EXECUTE MANAGED TASKはサーバレスコンピュートを利用したタスク実行です。

なお、タスクの作成権限はスキーマ権限になっています。
タスクの作成ができる=タスクの実行ができる というわけではない点に気を付けたいですね。

④MANAGE ACCOUNT SUPPORT CASES

アカウント内のすべてのサポートケースを表示、コメント、管理ができる権限です。
この権限がないと、自身(もしくは自身が属するロール)で起票したサポートケースしか管理できません。

参考

おわりに

Snowflakeではセキュリティレベルを向上させるために、権限分離をしっかりと行う必要があります。
作りこむことで、高いセキュリティレベルを担保できる反面、初期の構築や保守フェーズで権限不足が頻発するケースがあります。

権限不足が怖いからと言って、強力な権限をたくさんロールに付与したり、ACCOUNTADMINやSYSADMINなどのロールで常に操作するということはせず、しっかりと権限設計をすることが重要であると感じました。

1
0
1

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