
AlteryxOneにてSnowflakeに接続する方法をご紹介します
Alteryx ACEのAkimasaKajitaniです。
以前はSnowflakeに接続する場合、ユーザー名・パスワードで認証ができていたのですが、トライアル以外ではできなくなりました。
今回は、Alteryx One環境で、OAuth2.0でSnowflakeへ接続する方法をご紹介します(現状これ以外でSnowflakeに接続する接続方法はありません)。
OAuth2.0を使って接続する場合、少し手順としてはややこしくなります。手順としては以下のとおりです。
- SnowflakeでOAuth2.0の設定を行う
- Alteryx OneにてOAuth2.0の設定を行う
- Alteryx OneにてSnowflakeへの接続設定を作成する
- Alteryx Oneにて、Snowflakeに接続し、データセットを作成する
基本的に、1と2そして3を事前作業として完了しておけば、それ移行は都度データセットを作成することになります。ユーザー名・パスワードの認証で接続できていた頃は、1,2は必要ありませんでした。
制限事項
- SSO接続はサポートされていません
- SnowflakeのPrivateLinkを有効にしている場合、SnowflakeのOAuth接続はサポートされません。
- OAuthエンドポイントを公開すれば、接続は可能
- ステージを設定していない場合、PUBLICスキーマが必須
色々と他にも細かい制限があるため、詳細は、こちら をご覧ください。
1.SnowflakeでOAuth2.0の設定を行う
最初に、SnowflakeでOAuth2.0の設定を行う必要があります(これが少し手間ですが、一度できてしまえばそれほど難しいわけではありません)。
元になるAlteryx社のマニュアルはこちら 。
基本的には、SnowflakeでSQLを発行して実行する形になります。以下のSQLを実行しますが、以下の部分は読み替えてください。本コマンドは、Account Adminで実行する必要があります。
ALTERYXONE_OAUTH_SECURITY_INTEGRATION : 作成するセキュリティ統合(SECURITY INTEGRATION)の名称。任意の名称をつけてください。
OAUTH_REDIRECT_URI : Alteryx Oneの環境(リージョン)によって異なります。Alteryx OneのコールバックURIを指定します。最近USの環境の方が多いので、基本的には、以下のURLで問題ありませんが、AlteryxOneの環境がAPAC/EUの方はau1もしくはeu1になります。お使いの環境のURLを必ずご確認ください。「https://au1.alteryxcloud.com」であれば赤色部分の「au1」が該当します。
USE ROLE ACCOUNTADMIN;
CREATE SECURITY INTEGRATION ALTERYXONE_OAUTH_SECURITY_INTEGRATION
TYPE = OAUTH
ENABLED = TRUE
OAUTH_CLIENT = CUSTOM
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
OAUTH_REDIRECT_URI = 'https://us1.alteryxcloud.com/oauth2/callback'
OAUTH_ALLOW_NON_TLS_REDIRECT_URI = FALSE
OAUTH_ISSUE_REFRESH_TOKENS = TRUE
OAUTH_REFRESH_TOKEN_VALIDITY = 7776000
なお、上記のコマンド以外にもいくつか設定可能なオプションがあります。
PRE_AUTHORIZED_ROLES_LIST : 「Snowflakeへのアクセス時にユーザーの同意を必要としないSnowflakeのロールをカンマ区切りで指定できます。SECURITYADMINとACCOUNTADMINは、このリストに含めることはできません。」というのがHelpの記載です。Alteryx One の OAuth 2.0 クライアントのスコープ設定されているロールと一致する必要があるとのことですが、指定しなくても一応は動いています。ただ、APIアクセスやスケジュール実行で問題が出るケースがあるようなので、指定した方が無難かもしれません。
BLOCKED_ROLES_LIST :Snowflakeのアクセス時に禁止したいSnowflakeのロールを指定できます。SECURITYADMINとACCOUNTADMINはデフォルトで含まれています。それらを削除したい場合、Snowflakeのサポートに依頼する必要があるようです。ここに追加したい場合はカンマ区切りで複数指定可能です。
NETWORK_POLICY : 適用したいネットワークポリシーを指定できます。
COMMENT : 好きなコメントを記載できます。
セキュリティ統合(SECURITY INTEGRATION)ができたら、作成されたセキュリティ統合の設定を表示して、Alteryx OneのOAuth設定に必要なパラメータを取得します。
DESC INTEGRATION ALTERYXONE_OAUTH_SECURITY_INTEGRATION;
以下の赤枠の項目をメモっておきましょう。

次に、Client Secretを取得します。以下のコマンドを打ってください。「ALTERYXONE_OAUTH_SECURITY_INTEGRATION」の部分は、最初に作成したセキュリティ統合の名称を指定します。
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('ALTERYXONE_OAUTH_SECURITY_INTEGRATION');
得られた結果は、JSON形式で取得できます。

これだと見にくいので、以下のようなコマンドにすると、見やすく取得できます。
SELECT
f.key AS property_name,
f.value::STRING AS property_value
FROM TABLE(FLATTEN(INPUT => PARSE_JSON(
SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('ALTERYXONE_OAUTH_SECURITY_INTEGRATION')
))) f
結果は以下のようになります。

※OAUTH_CLIENT_SECRET_2は、ローテーション用のシークレットです
2.Alteryx OneにてOAuth2.0の設定を行う
この設定を行うためには、Workspace Adminの権限が必要です。Workspace Adminの権限がある方は、Alteryx Oneの画面の左下にある「Workspace Admin」をクリックします。

画面遷移後は、以下のように「接続」の中にある「OAuth」クライアントをクリックします。

右上にある「作成」ボタンをクリックします。

設定は以下のとおりとなりますが、Snowflakeでメモしておいた値をそれぞれ使っていきます。詳細はこちらのドキュメント も参考にしてください。


| 項目 | 入れるべき値 | コメント |
|---|---|---|
| 名称 | 任意の名称 | |
| テクノロジー | snowflake | 固定値 |
| Grant Type | Auth Code | |
| クライアントID | Snowflake側から取得 | SnowflakeのOAUTH_CLIENT_ID |
| クライアントシークレット | Snowflake側から取得 | SnowflakeのOAUTH_CLIENT_SECRET |
| Client Secret Expiration Date | 任意の日付。 | Client Secretの有効期限。任意の日付を設定します。 |
| 認証URL | Snowflake側から取得 | SnowflakeのOAUTH_AUTHORIZATION_ENDPOINT |
| トークンURL | Snowflake側から取得 | SnowflakeのOAUTH_TOKEN_ENDPOINT |
| 範囲 |
refresh_token session:role:[ロール名] |
使用するロールが「SYSADMIN」の場合
「refresh_token session:role:SYSADMIN」 |
| アクセストークン有効期限 | 600000 | 固定値 |
| リフレッシュトークン有効期限 | Snowflake側から取得 | SnowflakeのOAUTH_REFRESH_TOKEN_VALIDITY |
3.Alteryx OneにてSnowflakeへの接続設定を作成する
Alteryx Oneにて、Snowflakeの接続設定を作成する際は、左上にある「Data」から行います。

Data では、「New Connection」から接続設定を作成することができます。

以下のように、作成したいサービスを選択します。

ここで、「Snowflake」と入れるとSnowflakeがでてきます。

以下のように記載します。基本的には、データベースを指定して接続するので、アカウント全体で一つの接続、といった利用はできません。

アカウント名は要注意です。
Snowflakeにて、以下のように「アカウントの詳細を表示する」としたときに、

以下のような画面がでますが、この「アカウント識別子」を入力することになります。

残りの部分は以下のとおりです。

ここで、「認証する」ボタンを押すとSowflakeへの認証を求められます(スクショは省略します)。
最終的には右下の作成ボタンをクリックすると、接続が作成されます。

4.Alteryx Oneにて、Snowflakeに接続し、データセットを作成する
接続ができれば、いよいよデータセットを作成していきます。
Dataタブの、「接続」をクリックすると、登録されている接続の一覧がでてきます。ここから「データの参照」をクリックしてください。

ここで、接続したいテーブル名の右の方にある「データセットの作成」をクリックします。

データが表示されるので、「Create Dataset」をクリックします。

これでデータセットができあがります。

あとは、これをDesigner Cloudや、AutoInsightsで利用できます。2026.1であれば、Designer Desktopからも利用することが可能です。
さらに、「SQL データセット」を作成することができます。これは、データウェアハウス内のテーブルが正規化されていたり、スタースキーマで格納されていたり、年度で複数のテーブルに分かれていたりする場合に、一つのテーブルとして複数のテーブルを結合した状態で接続することができます。
例えば、以下のように「SQLデータセットの作成」をクリックします。

すると、以下のようにSQL文を書ける画面がでてきます。ここで、SQL文を書いたのち、Validate SQLでSQLが間違いないか確認頂き、問題なければNextボタンをクリックしましょう。

これで、SQLデータセットができあがります。

※2026/05/15時点の情報です
運営会社