【速報】SnowflakeでSnowsightからTime-based One-Time Passwordが設定できるようになっていました!
みなさんこんにちは、クルトンです。
今回はブログタイトルにもある通り、Time-based One-Time Password(以降、TOTPと略)について設定できるようになっていた件についてです。
TOTPとは何かというと、1PasswordやOneLogin、Microsoft Authenticatorなどで設定できるMFAの一種です。短時間毎に切り替わる数字の羅列を指すことが多いです。
今まではDUO系のアプリ以外は設定できていなかったので、選択肢が増えて嬉しいニュースですね!
それでは、早速やり方をみていきます。今回は1Passwordを使っての設定方法です。
やってみた
TOTPを設定したいユーザーでSnowsightへログインをします。
ログイン後に以下のような画面が出るかと思います。
左下のユーザー名をクリックし、「Settings」をクリックします。ご使用の言語設定によっては「設定」などといった表記に変わっている可能性があります。
クリックすると、以下のような画面が表示されます。画面上では、自分はすでにMFAを設定しているので1つ表示されています。人によってはこれがDUOなどと表記されている可能性があります。
今回はTOTPを使えるように追加をしたいので、赤枠で囲っている「Add new authentication method」をクリックします。
クリックすると、以下のような画面が出ますのでログイン時と同じく必要な情報を入力します。DUOを使っている場合は通知が行きますので、承認をすれば良いです。
以下のような設定画面が出てきました。TOTPを設定したいので、「オーセンティケーター」と書かれているところをクリックします。
QRコードが表示されました!1PasswordでそのままQRコードを読み取れる方はそのまま読み取ってから、TOTPとして表示された数字の羅列を「コード」と書かれているところへ入力すれば認証完了です!
QRコードが読み取れない場合
QRコード読み取りが出来なかった場合を想定して、登録処理をしてみます。
「コードをスキャンできませんか?」と記載されているところを、クリックしてください。
すると以下のように、認証用のコードが表示されるのでコピーします。
次に1Passwordでの処理に移ります。1Passwordアプリへログインしてください。
既存と新規のどちらのアイテムでも良いのですが、以下のように「さらに追加」と書かれているところをクリックし、表示される選択肢から「ワンタイムパスワード」を選択してください。
以下のようなコードを入力できる画面になったかと思います。こちらへ、先ほどコピーしておいたものを貼り付けてください。その後保存をします。
保存後、6桁の数値が表示されます!アプリ上ではこちらをクリックするとコピーされますので、コピー後すぐにSnowsightの画面へ戻り入力します。
入力すると以下のように登録ができたことを意味する画面が表示されます。
自分はここでニックネームに「ブログ用TOTP」と日本語を入力しました。もちろんニックネームは英語でも良いのですが、日本語も使用できますのでお好みで分かりやすい名前をつけましょう。
ニックネーム入力画面の次に、またSnowsightの設定画面が表示され、確かに設定ができていることを確認できました。
これで登録は完了です。お疲れ様でした!
もし登録したMFA認証を登録解除したい場合
先ほど登録した「ブログ用TOTP」を登録解除してみます。まずは「︙」をクリックして、「unroll」のボタンをクリックします。
以下のように表示されるので、登録解除したいアプリのTOTPを入力しましょう。
以下のように登録解除するかどうかが聞かれますので、「削除」をクリックします。
これにて登録解除が完了です!Snowsightの設定画面へ遷移します。お疲れ様でした!
2025/05/23時点でログイン処理にTOTPのみを使う場合に注意が必要なこと
今回のTOTP設定を行なった後、人によっては自分のお気に入りアプリで今後統一したいためDUO系のアプリでの認証を登録解除する方がいらっしゃるかもしれません。
ここで注意が必要なポイントがあります。それはSnowflake認証させる必要があるSaaSやアプリ、CLIの実装が対応していない可能性が高いということです。
出たばかりの認証方法なので当たり前のことといえば当たり前のことなのですが、「自分がそのユーザーをどのような使い方をしているか」をキチンと把握してMFA認証に必要なアプリを判断しましょう。
ちなみに自分はdbt CoreのCLIで利用できるか検証したところ、以下のようなエラーが出て認証できませんでした。
Failed to authenticate: MFA with TOTP is required. To authenticate, provide both your password and a current TOTP passcode.
profiles.ymlファイルでの設定値でそれらしいものがないか確認しましたが、やはり出たばかりの機能なので対応していないようでした。ちなみに自分は authenticator: username_password_mfa
を設定していました。
MFAの設定は複数設定が可能なので、DUOと1Passwordなどのアプリ両方を設定しておくのが便利かと思われます。
終わりに
今回は出たばかりの機能を使ってSnowsightへログインするときにTOTPが使えることを、1Passwordへ実際に登録する流れで確認しました。
今後ログインする際に、さらに選択肢が増える嬉しい機能追加でした!
本日はここまで。
それでは、また!