0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL 環境で Snowflake CLI の OAuth 認証を設定する方法

0
Last updated at Posted at 2026-10-26

概要

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;

image.png

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

image.png

uv を使用して Snowflake CLI をインストールします。

uv tool install 'snowflake-cli>=3.30,<4'

Snowflake CLI のバージョンを確認し、正常にインストールされたことを確認します。

snow --version

image.png

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

image.png

設定ファイルの内容を表示し、変更が正しく反映されていることを確認します。

cat ~/.snowflake/config.toml

ディレクトリと設定ファイルのアクセス権限を設定します。

chmod 700 ~/.snowflake
chmod 600 ~/.snowflake/config.toml

作成した oauth 接続設定を使用して、Snowflake への接続テストを実行します。

snow connection test --connection oauth

image.png

コマンドの実行結果に表示された URL をブラウザーで開き、Snowflake アカウントでログインします。

image.png

image.png

ブラウザーでの認証が完了すると、先ほど実行した接続テストの結果に接続情報が表示されます。

image.png

最後に、Snowflake CLI から SQL を実行し、現在のロールを取得できることを確認します。

snow sql --connection oauth \
  --query "SELECT CURRENT_ROLE()"

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?