Alteryx Designer Desktopから Snowflake OAuth 認証をする方法

Alteryx Designer Desktopから Snowflake OAuth 認証をする方法

2026.04.14

こんにちは、業務効率化ソリューション部のikumiです。
今回は、Alteryx Designer Desktopから Snowflake OAuth 認証をする方法について紹介いたします。

以前、Alteryx Oneから Snowflake OAuth 認証をする方法について紹介しましたが、今回はDesktop版となります。
https://dev.classmethod.jp/articles/alteryx-analytics-cloud-snowflake-oauth/

また、キーペアを利用して認証する方法については以下で紹介されておりますので、こちらも参考にしてください。
https://dev.classmethod.jp/articles/alteryx-2024-1-new-feature-snowflake-key-pair/

Snowflake OAuth 接続の作成方法

Snowflake側での作業

基本的にはAlteryx Oneで行ったことと同じですが、入力内容が異なります。

  • SnowflakeでOAuth 2.0クライアントアプリを作成するために、ACCOUNTADMINロールで作業を行こなう
  • ワークシートに移動し、以下のコマンドを実行しセキュリティ統合を作成
CREATE SECURITY INTEGRATION
         <NAME> ##任意の名前
         TYPE = OAUTH
         OAUTH_CLIENT = CUSTOM
         OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
         OAUTH_REDIRECT_URI = 'http://localhost:5010/'  ##Alteryx Designer の場合は基本はこの値
         ENABLED = TRUE
         OAUTH_ALLOW_NON_TLS_REDIRECT_URI = FALSE
         PRE_AUTHORIZED_ROLES_LIST = ( 'ROLE_NAME' )  ##アクセスを許可するロールリスト 
         ##BLOCKED_ROLES_LIST = ( 'ROLE_NAME' ) ##明示的にアクセスを許可しないロールがある場合に記載
         OAUTH_ISSUE_REFRESH_TOKENS = TRUE
         OAUTH_REFRESH_TOKEN_VALIDITY = 7776000
  • セキュリティ統合が作成できたら、以下のコマンドを実行し情報を取得
DESC integration <NAME> ##先ほど設定した任意の名前
  • 実行出来たら、以下の情報を後ほど使用するので安全な場所に保存
    • OAUTH_CLIENT_ID
    • OAUTH_AUTHORIZATION_ENDPOINT
    • OAUTH_TOKEN_ENDPOINT

  • 続いて、以下のコマンドを実行しクライアント シークレットを取得
select system$show_oauth_client_secrets('<NAME>'); ##先ほど設定した任意の名前
  • 取得した値の中にある、以下のパラメータ値を安全な場所に保存
    • OAUTH_CLIENT_SECRET

以上でSnowflake側の作業は一旦終了です

Alteryx Designer Desktop 側での作業

つづいて、Alteryx Designer Desktop側でDCM接続を作成します

  • ファイル > 接続を管理 から、接続マネージャーを起動
    alteryx-designer-snowflake-oauth-no1
  • + 新規から接続を作成
    alteryx-designer-snowflake-oauth-no2
  • Snowflakeを選択し新しい接続を作成
    alteryx-designer-snowflake-oauth-no3
  • まずは、データソース側の入力項目を設定していきます
     - 1) 接続の詳細
      - 接続名:任意のDCM接続の名前を入力します (ここでは、Snowflake-OAuth認証と設定)
    • 2) データソース
        - テクノロジー:Snowflake ODBC DSN レス with Simba
        - データソース:今回は新しいデータソースを作成を選択
        - データソース名:任意のDCMデータソース名(ここでは、Snowflake-OAuth認証データソースと設定)
        - Server:SnowflakeのアカウントURL
        - ドライバ:Simba Snowflake ODBC ドライバー
        - Database:アクセスしたいデータベース(オプション)
        - スキーマ: 使用したいスキーマ(オプション)
        - ウェアハウス: 使用したいウェアハウス
        - Role:使用したいロール(オプション)
        alteryx-designer-snowflake-oauth-no4
    • 3) 資格情報:汎用OAUTHアプリケーション
      • 認証方法:汎用OAuth2
      • 資格情報: 今回は新しい資格情報を選択
      • 資格情報名:任意のDCM資格情報名(ここでは、Snowflake-OAuth認証資格情報と設定)
      • 付与タイプ:PKCEを使用した認証コード
      • OAuth認証URL:先ほど取得したOAUTH_AUTHORIZATION_ENDPOINTの値
      • OAuthトークンURL:先ほど取得したOAUTH_TOKEN_ENDPOINTの値
      • OAuthリダイレクトURL:http://localhost:5010/
      • クライアントID:先ほど取得したOAUTH_CLIENT_IDの値
      • クライアントシークレット:先ほど取得したOAUTH_CLIENT_SECRETの値
      • コードチャレンジメソッド:SHA-256
      • クライアント認証:クライアントの資格情報を本文に送信
    • 3) 資格情報:汎用OAUTHトークン
      • 資格情報名:任意のDCM資格情報名(ここでは、Snowflake-OAuth認証トークンと設定)
      • 保管庫:DCM
      • スコープ:refresh_token session:role:<role name> (オプション)
        alteryx-designer-snowflake-oauth-no5
  • 全ての設定が完了したら、保存を実行します

設定は以上です

Alteryx からSnowflakeに接続する

先ほど作成したDCM接続を使用して、AlteryxからSnowflakeに接続をしてみます

  • データ入力ツールをキャンバスに配置し、接続を設定します > データソース > Snowflake | クイック接続 を選択
    alteryx-designer-snowflake-oauth-no6
  • 接続マネージャーから、先ほど作成した接続を選択
    alteryx-designer-snowflake-oauth-no7
  • ブラウザが起動するので、画面に沿ってログインをします
    alteryx-designer-snowflake-oauth-no8
  • 以下の画面が出てくれば、認証は成功です
    alteryx-designer-snowflake-oauth-no9
  • テーブルの選択画面が出てくるので、任意のテーブルを選択し接続が可能です
    alteryx-designer-snowflake-oauth-no10

さいごに

今回はAlteryx Designer Desktopから Snowflake OAuth 認証をする方法について紹介しました。ロールを指定する場合は、資格情報の項目でOAuthを選択すると失敗してしまったり、リダイレクトURIが分からなかったりと、混乱したポイントが多かったので記事にしてみました。どなたかの参考になれば幸いです。

この記事をシェアする

関連記事