
はじめに
データドリブンな人間を目指している香取です。
今回はタイトルの通り、Snowflake のコマンドラインツールである SnowSQL をインストールして Snowflake アカウントに接続するまでの方法を紹介します。
個人的に MFA 設定の部分でつまずいたので記事にしてみました。
前提条件
今回の手順を実施した環境は以下の通りです。
- OS: macOS 15.5 (Sequoia)
- SnowSQL バージョン: 1.4.2
- Snowflake アカウントは作成済み
1. SnowSQL のインストール
今回は macOS でのインストール手順を紹介しますが、他の OS におけるインストール方法も公式ドキュメントに記載されていますので、そちらを参照してください。
macOS では Homebrew を使って簡単にインストールできます。
brew install --cask snowflake-snowsql
macOS の場合、デフォルトのターミナルシェルが Z シェル (zsh) であるため、インストール後に以下のコマンドを実行して、パスを通す必要があります。
echo 'alias snowsql=/Applications/SnowSQL.app/Contents/MacOS/snowsql' >> ~/.zshrc source ~/.zshrc
SnowSQL のバージョンを確認してみます。
$ snowsql -v Version: 1.4.2
2. Snowflake アカウントへの接続
SnowSQL を使って Snowflake アカウントに接続するには、以下のコマンドを実行します。
snowsql -a <accountname> -u <username>
accountname には アカウント識別子 (<組織名>-<アカウント名> の形式) を指定します。
Snowsight では「Account Details」の画面から確認できます。


コマンドを実行すると、パスワードの入力を求められるので、該当の Snowflake アカウントのパスワードを入力します。
すると以下のようなエラーが出ました。
$ snowsql -a <accountname> -u <username> Password: 250001 (08001): Failed to connect to DB: <accountname>.snowflakecomputing.com:443. Failed to authenticate: MFA authentication is required, but none of your current MFA methods are supported for programmatic authentication. If the error message is unclear, enable logging using -o log_level=DEBUG and see the log to find out the cause. Contact support for further help. Goodbye!
このエラーは、プログラムからの認証で使用可能な MFA (Multi-Factor Authentication) が見つからないため、接続できないことを示しています。
プログラムによる認証には、認証アプリ (TOTP) を使用する必要がありますが、私はこの時点では MFA には「生体認証」のみを設定していたため、SnowSQL からの接続ができなかったようです。
ということで、MFA を追加していきます。
2-1. MFA の追加
ここでは Google Authenticator を MFA として設定します。
Snowsight の「Settings」から「Authentication」を選択し、「Add new authentication method」をクリックします。


「オーセンティケーター」を選択すると QR コードが表示されます。 スマートフォンの Google Authenticator アプリでスキャンし、6桁のコードを入力します。


認証が完了すると、MFA が追加されていることが確認できます。
デフォルトの MFA には生体認証を使用したかったため、「PASSKEY」を指定しておきました。

2-2. MFA を使用した接続
再度 SnowSQL を実行します。-m オプションを使って、認証アプリで生成された 6桁のコードを指定します。
$ snowsql -a <accountname> -u <username> -m <mfa-passcode> Password: * SnowSQL * v1.4.2 Type SQL statements or !help <username>#COMPUTE_WH@(no database).(no schema)>
無事に Snowflake アカウントに接続できました!
3. SnowSQL の動作確認
CURRENT_VERSION で Snowflake のバージョンを確認してみます。
$ <username>#COMPUTE_WH@(no database).(no schema)>SELECT CURRENT_VERSION(); +-------------------+ | CURRENT_VERSION() | |-------------------| | 9.18.0 | +-------------------+ 1 Row(s) produced. Time Elapsed: 0.131s
さいごに
個人的に MFA 設定の部分でつまずいたので記事を書いてみました。
この記事がどなたかの参考になっていれば幸いです。
参考リンク
- SnowSQL のインストール | Snowflake Documentation
- SnowSQL を介した接続 | Snowflake Documentation
- Snowflakeに接続するためのクライアント、ドライバー、ライブラリ、またはサードパーティアプリケーションの構成 | Snowflake Documentation
- CURRENT_VERSION | Snowflake Documentation
香取 拓哉 (記事一覧)
2023年度新卒入社
データドリブンな人間を目指しています
好きな食べ物は芽ねぎ