Tableau Server での Snowflake 接続用 OAuth の設定
Snowflake 接続用に OAuth を設定する方法は、使用している Tableau Server のバージョンと更新するサイトの数に応じて複数あります。このトピックでは、利用可能な各オプションの設定について説明します。
Tableau バージョン 2024.1 までのすべてのバージョンでは、Tableau Snowflake コネクタは既定で、共通のクライアント ID とシークレットを使用する AWS (GALOP) でホスティングされている OAuth プロキシを使用します。Tableau Server は、Tableau インスタンスと同じ場所で稼動する、新しい OAuth サービスを使用するように設定することもできます。これを行うには、独自のクライアント ID とシークレットを指定する必要があります。これは「カスタム OAuth」と呼ばれ、以下の手順で設定できます。
2024.2 以降、GALOP プロキシは非推奨となり、認証にローカル OAuth サービスが使用されるようになるため、カスタム OAuth を設定する以下の手順が必須になります。
Tableau Desktop および Tableau Cloud のバージョン 2024.3 以降では、Snowflake にサードパーティの IdP (外部 OAuth) を構成できます。詳細については、「Snowflake の外部 OAuth」を参照してください。
カスタム OAuth によって得られる利点は次のとおりです。
セキュリティの向上
OAuth プロキシ (GALOP) に接続できない隔離された環境でも OAuth を使用可能
AWS Private Link や Azure Private Link の VPC で OAuth フローを実行するために、GALOP の IP アドレスを許可リストに登録する必要がない
ステップ 1: Snowflake で OAuth クライアントを設定して登録する
Tableau Server でカスタム OAuth 設定を使用するには、まず Snowflake で OAuth クライアントを設定して登録し、クライアント ID とクライアント シークレットを取得する必要があります。Tableau Server バージョン 2024.2 以降では、使用している設定オプションに関係なく、この手順は必須です。Snowflake でカスタム OAuth クライアントを登録するには、「カスタム クライアント用に Snowflake Oauth を設定する」(新しいウィンドウでリンクが開く)の手順に従います。
上記の Snowflake 記事の手順に従って Snowflake で OAuth クライアントを登録した後、次の Snowflake パラメーターを使用して Tableau Server を設定します。
アカウント インスタンス URL
クライアント ID
クライアント シークレット
リダイレクト URL
注: リダイレクト URL は、Snowflake 側と Tableau 側の両方で入力した場合と同じになります。形式は次のとおりです。
https://<your_tableau_server_url>.com/auth/add_oauth_token
ステップ 2: Snowflake 用の OAuthを使用するように Tableau Server を設定する
オプション 1: TSM を使用して Snowflake 接続の OAuth を設定する
複数の Tableau Server サイトを一度に更新する必要がある場合は、このオプションを使用することをお勧めします。
注: この設定オプションは、Tableau Cloud では使用できません。
(バージョン 2024.1 以前) Tableau Server コンピューターで次のコマンドを実行し、Snowflake OAuth サービスを有効にします。
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true注: バージョン 2024.2 以降では、Snowflake プライベート接続を使用しているかどうかに関係なく、手順 1 をスキップします。
テキスト エディターで、次のコマンドをコピーして貼り付け、カスタマイズします。
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"oauth.snowflake.clientsキーはキー ペアの配列を受け取ります。キー ペアの各要素は二重引用符でカプセル化する必要があります。二重引用符は、\"としてエスケープする必要があります。複数のアカウント インスタンス URL を指定するには、次の例のように、中かっこ ({}) で囲まれた追加の各 OAuth クライアントをコンマ (,) で区切ります。
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"次に示すように、各キーの値を置き換えます。
アカウント インスタンス URL:
oauth.snowflake.instance_urlクライアント ID:
oauth.snowflake.client_idクライアント シークレット:
oauth.snowflake.client_secretリダイレクト URL:
oauth.snowflake.redirect_uri
注: コマンドを実行する前に、構文を注意深く検証してください。TSM はこの入力を検証しません。
コマンドを TSM CLI にコピーして、コマンドを実行します。
次のコマンドを入力して変更を適用します。
tsm pending-changes apply保留中の変更にサーバーの再起動が必要な場合は、
pending-changes applyコマンドの実行時に、再起動が行われることを知らせるメッセージが表示されます。このメッセージはサーバーが停止していても表示されますが、その場合には再起動は行われません。--ignore-promptオプションを使用してメッセージが表示されないようにできますが、そのようにしても再起動に関する動作が変わることはありません。変更に再起動が必要ない場合は、メッセージなしで変更が適用されます。詳細については、tsm pending-changes applyを参照してください。
オプション 2: サイトごとに Snowflake 接続の OAuth を構成する
注: このオプションは、バージョン 2024.2 以降の Tableau Cloud でも使用できます。
Tableau Server UI を使用して、サイト レベルでカスタムの Snowflake OAuth クライアントを設定できます。
以下の目的のために、サイト レベルでカスタム OAuth クライアントを設定することを検討してください。
サーバー用に設定されている OAuth クライアントを上書きする
固有の OAuth クライアントを必要とするデータに、安全に接続できるようにする
カスタム OAuth クライアントを設定すると、サイトレベルの設定がサーバー全体の設定よりも優先され、あらたに追加されたすべての OAuth 認証資格情報でサイトレベルの OAuth クライアントが既定で使用されます。サイトレベルのカスタム OAuth 設定を有効にするために、Tableau Server を再起動する必要はありません。
重要: カスタム OAuth クライアントを設定する前に確立された既存の OAuth 認証資格情報は一時的に使用できますが、データ アクセスが中断されないように、Tableau Server 管理者とユーザーの双方が保存された認証資格情報を更新する必要があります。
ステップ 1: OAuth クライアントID、クライアン トシークレット、リダイレクト URL の準備
カスタム OAuth クライアントを構成する前に、以下の情報が必要です。この情報を準備したら、サイトのカスタム OAuth クライアントを登録できます。詳細については、上記のセクション「ステップ 1: Snowflake で OAuth クライアントを設定して登録する」を参照してください。
アカウント インスタンス URL
OAuth クライアント ID とクライアント シークレット: 最初に OAuth クライアントをデータ プロバイダー (コネクタ) に登録して、Tableau Server 用に生成されたクライアント IDとシークレットを取得します。
リダイレクト URL: 正しいリダイレクト URL であることを確認します。これは、以下の「ステップ 2: OAuth クライアントを Tableau Server に追加する」の登録プロセスで必要になります。
https://<your_tableau_server_url>.com/auth/add_oauth_token
ステップ 2: OAuth クライアントを Tableau Server に追加する
以下の手順に従って、カスタム OAuth クライアントをサイトに登録します。
(バージョン 2024.1 以前) Tableau Server コンピューターで次の 2 つのコマンドを実行し、Snowflake OAuth サービスを有効にします。
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v truetsm pending-changes apply注: バージョン 2024.2 以降では、Snowflake プライベート接続を使用しているかどうかに関係なく、手順 1 をスキップします。
管理者の認証資格情報を使用して Tableau Server にサインインし、[設定] ページに移動します。
[OAuth Clients Registry (OAuth クライアント レジストリ)] で、[Add OAuth Client (Oauth クライアントの追加)] ボタンをクリックします。
上記のステップ 1 の情報を含む、必要な情報を入力します。
[接続タイプ] で、カスタム OAuth クライアントを設定するコネクタを選択します。
複数の OAuth クライアントを登録する場合は、[OAuth インスタンス URL] に情報を入力する必要があります。それ以外の場合は、任意で入力してください。
クライアント ID、クライアント シークレット、リダイレクト URL には、上記のステップ 1 で準備した情報を入力します。
[Add OAuth Client (Oauthクライアントの追加)] ボタンをクリックして、登録プロセスを完了します。

[設定] ページの下部または上部にある [保存] ボタンをクリックして、変更を保存します。
ステップ 3: 保存済みの認証資格情報を検証して更新する
データ アクセスが中断されないようにするため、サーバー管理者 (およびサイト ユーザー) は、以前に保存した認証資格情報を削除してから、サイトのカスタム Oauth クライアントを使用できるように再度追加する必要があります。
[マイ アカウント設定] ページに移動します。
[データ ソースの保存済み認証資格情報] で、次の手順を実行します。
上記の「ステップ 2: OAuth クライアントを Tableau Server に追加する」で設定したカスタム OAuth クライアントのコネクタについて、既存の保存済み認証資格情報の横にある [削除] をクリックします。
コネクタ名の横にある [追加] をクリックし、プロンプトに従って 1) 上記の「ステップ 2: OAuth クライアントを Tableau Server に追加する」で設定したカスタム OAuth クライアントに接続し、2) 最新の認証資格情報を保存します。
ステップ 4: 保存した認証資格情報を更新するようにユーザーに通知する
上記の「ステップ 2: OAuth クライアントを Tableau Server に追加する」で設定したカスタム OAuth クライアントのコネクタについて、保存済み認証資格情報を更新するようにサイト ユーザーに通知します。サイトのユーザーは、保存済み認証資格情報の更新で説明されている手順を使用して、保存された認証資格情報を更新できます。
OAuth 認証用フォワード プロキシ
Tableau Server の Oauth 認証を使用したフォワード プロキシの設定 (Windows のみ) の詳細については、Tableau ヘルプの「OAuth 認証用フォワード プロキシの設定」(新しいウィンドウでリンクが開く)を参照してください。
