概要
WSL 環境に Snowflake CLI をインストールし、OAuth 2.0 の認可コードフロー(OAUTH_AUTHORIZATION_CODE)を使用して Snowflake に接続する手順と検証結果を共有します。
OAUTH_AUTHORIZATION_CODE は、ブラウザーを使用してユーザー認証を行う方式であり、ローカル環境にパスワードや秘密鍵を保存することなく Snowflake に接続できます。
本検証では、uv を使用した Snowflake CLI のインストールから、OAuth 認証の接続設定、ブラウザーでのログイン、接続テスト、SQL の実行までの一連の操作を確認します。
手順
Snowflake アカウントにて SNOWFLAKE$LOCAL_APPLICATION を確認
Snowflake アカウントにて SNOWFLAKE$LOCAL_APPLICATION の存在を確認します。
USE ROLE SECURITYADMIN;
DESCRIBE SECURITY INTEGRATION SNOWFLAKE$LOCAL_APPLICATION;
WSL での環境構築手順
WSL 環境に uv をインストールします。まず、必要なパッケージを導入し、uv のインストールスクリプトを実行します。
sudo apt update
sudo apt install -y curl ca-certificates
curl -LsSf https://astral.sh/uv/install.sh | sh
uv を利用できるようにパスを設定します。
source ~/.local/bin/env
uv のバージョンを確認し、正常にインストールされたことを確認します。
uv --version
uv を使用して Snowflake CLI をインストールします。
uv tool install 'snowflake-cli>=3.30,<4'
Snowflake CLI のバージョンを確認し、正常にインストールされたことを確認します。
snow --version
Snowflake CLI の接続設定を保存するため、~/.snowflake ディレクトリと config.toml ファイルを作成します。
mkdir -p ~/.snowflake
touch ~/.snowflake/config.toml
VS Code で config.toml を開きます。
code ~/.snowflake/config.toml
以下の接続設定を記述して保存します。account と user の値は、ご自身の Snowflake 環境に合わせて変更してください。
[connections.oauth]
account = "NGNJLVK-XXX"
user = "MANABIANXXXX"
authenticator = "OAUTH_AUTHORIZATION_CODE"
client_store_temporary_credential = true
oauth_enable_refresh_tokens = true
設定ファイルの内容を表示し、変更が正しく反映されていることを確認します。
cat ~/.snowflake/config.toml
ディレクトリと設定ファイルのアクセス権限を設定します。
chmod 700 ~/.snowflake
chmod 600 ~/.snowflake/config.toml
作成した oauth 接続設定を使用して、Snowflake への接続テストを実行します。
snow connection test --connection oauth
コマンドの実行結果に表示された URL をブラウザーで開き、Snowflake アカウントでログインします。
ブラウザーでの認証が完了すると、先ほど実行した接続テストの結果に接続情報が表示されます。
最後に、Snowflake CLI から SQL を実行し、現在のロールを取得できることを確認します。
snow sql --connection oauth \
--query "SELECT CURRENT_ROLE()"








