SnowflakeアカウントのMFAを有効にしてみた

Snowflakeのログイン認証では、ユーザ名とパスワードでの認証に加えてMulti-Factor Authentication (MFA)を利用することができます。 今回はこのMFAを有効化してログインするところを試してみました。
2020.01.16

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

こんにちは!DA(データアナリティクス)事業本部 インテグレーション部の大高です。

Snowflakeのログイン認証では、ユーザ名とパスワードでの認証に加えて Multi-Factor Authentication (MFA) / 2要素認証 を利用することができます。 今回はこのMFAを有効化してログインするところを試してみました。

Multi-Factor Authentication (MFA) — Snowflake Documentation

前提条件

MFA利用設定を行うには、以下が必要となります。事前にスマートフォンを用意して、アプリをインストールしておくと良いです。

MFAの有効化

MFAを有効にするには、まずはSnowflake環境にログインし、画面右上のプルダウンから「Preferences」画面を開き、「General」メニューの「Multi-factor Authentication」から「Enroll in MFA」をクリックします。

すると、ポップアップで初回認証でのSMS送信先を尋ねられるので、「Japan」を選択して携帯電話番号を入力して(090-1234-5678など)、「Add Phone」をクリックします。

すぐにSMSで数字4桁の認証番号が送られてくるので、入力して「Verify Phone」をクリックします。

次に、アプリの「Duo Mobile」を起動して「+」ボタンをクリックしてQRコードを読み取ります。なお、他のMFAアプリでも出来るか少し試してみましたが、ここは「Duo Mobile」のみになるようです。

アプリでの登録が済むと、自動的に画面が変わりデバイス追加に成功した旨が表示されます。これで、次回からはMFAが有効な状態でログインができます。「Re-authenticate Now」ですぐに再認証できるので試してみましょう。

ログイン画面で「ユーザ名」と「パスワード」入力後に、MFAコードの入力画面に遷移しますが、一方で自動的に「Duo Mobile」が反応してPush通知がきます。ログインを認証するか聞かれるので「Accept」をタッチすれば認証OKです。もちろん手動でパスコードを入力したり、SMS経由で認証コードを取得・入力したりということもできます。

ログインユーザの「Preference」画面に戻って確認すると、ちゃんとMFAが有効化されていることが確認できます。

MFAの無効化

MFAが有効化されてる状態から、MFAを無効化することができます。万が一「Duo Mobile」のアプリが消えてしまってログインできなくなってしまった場合などには、以下の手順で無効化できます。

無効化するには、「ACCOUNTADMIN」ロールを利用できるユーザで、以下のクエリを実行するだけです。

use role accountadmin;
alter user <username> set disable_mfa = true;

これで、MFAが無効化されます。

まとめ

以上、「SnowflakeアカウントのMFAを有効にしてみた」でした。これで、MFAを有効化しておけばセキュリティも向上できますね。

どなたかのお役に立てば幸いです。それでは!