[小ネタ]ACCOUNTADMIN以外のロールでもSnowsightのAdmin/Usageを閲覧できるようにしてみた #SnowflakeDB

2023.04.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

さがらです。

小ネタですが、ACCOUNTADMIN以外のロールでもSnowsightのAdmin/Usageを閲覧できるようにする方法について、本記事でまとめます。

なぜ必要?

SnowflakeをGUIで操作できる「Snowsight」では、AdminのUsageから、該当アカウントでの利用コストを確認することが出来ます。

しかし、この機能はACCOUNTADMINロールにしか付与されておらず、例えばデフォルトで誰でも使えるPUBLICロールでは、AdminのUsage画面も表示されません。

そのため、「ACCOUNTADMIN以外のロールにもクレジット使用状況をSnowsightで見せたいが、どうすればいいのか…」となる方もいると思います。そんな方向けの記事です。

手順

以下に手順をまとめます。

1.Global Privilegeである「MONITOR USAGE」を付与

まず、Global Privilegeである「MONITOR USAGE」を付与します。

-- MONITOR USAGEの付与。
grant monitor usage on account to role <ロール名>;

2.ACCOUNT_USAGEスキーマがあるSNOWFLAKEデータベースへの「IMPORTED PRIVILEGE」を付与

続いて、ACCOUNT_USAGEスキーマがあるSNOWFLAKEデータベースへの「IMPORTED PRIVILEGE」を付与します。

-- SNOWFLAKEデータベースへの、imported privilegesの付与。
grant imported privileges on database snowflake to role <ロール名>;

見れるようになったか確認

今回はPUBLICロールに対して上述の権限を付与してみたので、PUBLICロールだけを持つユーザーで確かめてみます。

すると、無事にAdmin/Usageを閲覧し、クレジットの使用状況がわかるようになりました!