🚀

Snowflake ユーザ発行のtips

2021/12/12に公開

Snowflake Advent Calendar 12/6 の記事です。
公開日が遅れている気はしますが、すみませんごめんなさい。

概要

Snowflakeの新規ユーザ発行tipsです。
ざっくりとまとめると、CREATE USERを発行した後に各種ログイン情報を伝える代わりに、RESET PASSWORDクエリでパスワードリセットのURLを発行することで、ちょっと楽にちょっとセキュアに伝えることができます、みたいな話です。

本題

新規ユーザを発行するとき、大体こんなクエリを発行すると思います。

CREATE USER HOGEHOGE
    PASSWORD = 'hogehoge' MUST_CHANGE_PASSWORD = TRUE
;

https://docs.snowflake.com/ja/sql-reference/sql/create-user.html

その上で、ユーザ発行した人に

  • webコンソールリンク
  • ユーザ名
  • 初期パスワード

を共有しないといけませんよね?これは大きな手間ですよね?(ということにしておきます)
そんな中、ユーザ作成の後にパスワードリセットURLを発行すると、そんな手間がなくなりURLを共有するだけで良くなります。

ALTER USER HOGEHOGE RESET PASSWORD
;

また、下記にある通り
https://docs.snowflake.com/ja/user-guide/admin-user-management.html#resetting-the-password-for-a-user

生成された URL は1回の使用に対してのみ有効であり、4時間後に有効期限が切れます。

URLに制約があり、少しだけセキュアになります。いいですよねワンタイムURLだったり有効期限があったり。
1つ注意点としてはSlackでURLを共有する場合に、コードブロックを作ってからそこにURLを記載しないと、プレーンなURLに対してSlackが先読み込みしてプレビュー表示をするためにURLにアクセスしてしまうため、「1回の使用に対してのみ有効」を消費してしまいます。

Discussion