Salesforce.com OAuth を保存済み認証資格情報に変更する
既定では、Salesforce.com のコネクタでは、データ プロバイダーにより Tableau Server 用に生成された、同一サイト内ですべてのユーザーが共有する OAuth トークンの管理キーチェーンを使用します。保存されたクライアント ID とクライアント シークレットを使用して Tableau Server を構成できます。このような場合、3 つのシナリオが考えられます。
- Salesforce データ コネクタ - Salesforce コネクタを使用する場合は、OAuth クライアントの ID とシークレットを使用して Tableau Server を構成できるため、保存済みの認証資格情報をコネクタに使用できます。
- CRM Analytics への書き込み-Tableau Prep のフロー データを Salesforce CRM Analytics (バージョン 2022.3 以降) に書き込む場合は、OAuth クライアント ID とシークレットを使用して Tableau Server を構成し、保存した認証資格情報を使用して Tableau Server でフローを実行できるようにします。
- Einstein Discovery - Einstein Discovery 拡張機能を Tableau Server と統合する場合は、OAuth クライアントの ID とシークレットを設定する必要があります。Einstein Discovery と Tableau Server を統合する機能は、バージョン 2021.1.0 で追加されました。詳細については、「Einstein Discovery 統合の構成」を参照してください。
このトピックでは、OAuth で保存済み認証資格情報を使用するために、Salesforce.com のデータ ソースと Einstein Discovery の拡張機能を設定する方法を説明します。各Tableau Serverインスタンスでこれらのステップを実行します。
管理キーチェーンと保存済み認証資格情報の詳細については、「OAuth 接続」を参照してください。
注:
- Salesforce のコネクタには、管理キーチェーン (既定)、サーバー全体の OAuth、またはサイト固有の OAuth のいずれかが必要です。
- 保存済み認証資格情報をサイトに使用するには、最初にサーバー全体の OAuth を構成する必要があります。
- サーバー全体の OAuth は、サイト全体の OAuth が構成されているかどうかに関係なく使用できます。
- サイト固有の OAuth を使用する場合は、各サイトを個別に構成する必要があります。
- ライブ接続プロンプト、接続の編集、および Web 作成をサポートするには、管理キーチェーンを保存済み認証資格情報に変換して、エラーを回避します。
手順の概要
OAuth を設定するには、次の 3 つの一般的なステップを実行します。
- Salesforce で接続アプリを作成します。
- ステップ 1 で取得した情報を使用して Tableau Server を構成します。
- (オプション) サイト固有の OAuth を構成します。
ステップ1: Salesforce に接続されたアプリを作成する
注: この手順では、Salesforce Lightning でのプロセスについて説明します。従来のインターフェイスを使用している場合、ナビゲーションは異なる場合がありますが、設定は同じです。
Salesforce.com 開発者アカウントにサインインし、右上のユーザー名をクリックしてから [設定] を選択します。
左のナビゲーション列の [アプリ] で、[アプリ マネージャー] を選択します。
[接続済みアプリ] セクションで、[新しい接続済みアプリ] をクリックします。
[基本情報] でアプリに名前を付け、[api] フィールドをタブで移動して正しい形式で自己入力されるようにし、アプリの連絡先メールアドレスを入力します。
API の [OAuth 設定を有効にする] セクションで、[OAuth 設定を有効にする] を選択します。
表示された新しい OAuth 設定で、[コールバック URL] に
https
プロトコルを使用してサーバーの完全修飾ドメイン名を入力し、URL にauth/add_oauth_token
を追加します。例は次のとおりです。
https://www.your_tableau_server.com/auth/add_oauth_token
次の項目を [利用可能な OAuth スコープ] から [選択した OAuth スコープ] に移動します。
- アイデンティティ URL サービス (Id、プロフィール、メール、住所、電話番号) にアクセスする
- API を介してユーザー データを管理する (api)
- いつでもリクエストを実行できる (refresh_token、オフライン アクセス)
[保存] をクリックします。
アプリを保存すると、Tableau Server の構成に使用する次の ID が Salesforce の API セクションに表示されます。
- コンシューマー キー
- コンシューマー シークレット
- コールバック URL
ステップ 2: Salesforce.com の Oauth 用に Tableau Server を構成する
接続済みアプリが Salesforce で作成され、カスタマー キー、カスタマー シークレット、およびコールバック URL を取得したら、Salesforce データの接続と出力、および Einstein Discovery 用に Tableau Server を構成できます。
Tableau Server コンピューターのコマンド プロンプトで、次のコマンドを実行します。
tsm configuration set -k oauth.salesforce.client_id -v <your_customer_key>
tsm configuration set -k oauth.salesforce.client_secret -v <your_customer_secret>
tsm configuration set -k oauth.salesforce.redirect_uri -v <your_redirect_URL>
(任意) 既定のログイン サーバーを変更するには、次のコマンドを入力してください。
tsm configuration set -k oauth.salesforce.server_base_url -v <URL>
次のコマンドを入力して変更を適用します。
tsm pending-changes apply
保留中の変更にサーバーの再起動が必要な場合は、
pending-changes apply
コマンドの実行時に、再起動が行われることを知らせるメッセージが表示されます。このメッセージはサーバーが停止していても表示されますが、その場合には再起動は行われません。--ignore-prompt
オプションを使用してメッセージが表示されないようにできますが、そのようにしても再起動に関する動作が変わることはありません。変更に再起動が必要ない場合は、メッセージなしで変更が適用されます。詳細については、tsm pending-changes applyを参照してください。
サイトのカスタム OAuth の構成
サイトに対してカスタム Salesforce OAuth クライアントを構成できます。
カスタム OAuth クライアントを構成して、1) サーバー用に構成されている場合は OAuth クライアントを上書きするか、2) 一意の OAuth クライアントを必要とするデータに安全に接続するためのサポートを有効にすることを検討してください。
カスタム OAuth クライアントが構成されている場合、サイトレベルの構成はサーバー側の構成よりも優先され、作成されたすべての新しい OAuth 認証資格情報では既定でサイトレベルの OAuth クライアントが使用されます。構成を有効にするために、Tableau Server を再起動する必要はありません。
重要: カスタム OAuth クライアントを構成する前に確立された既存の OAuth 認証資格情報は一時的に使用できますが、データ アクセスが中断されないように、サーバー管理者とユーザーの双方が保存された認証資格情報を更新する必要があります。
1: OAuth クライアント ID、クライアン トシークレット、リダイレクト URL の準備
カスタム OAuth クライアントを構成する前に、以下の情報が必要です。この情報を準備したら、サイトのカスタム OAuth クライアントを登録できます。
OAuth クライアント ID とクライアント シークレット: 最初に OAuth クライアントをデータ プロバイダー (コネクタ) に登録して、Tableau Server 用に生成されたクライアント IDとシークレットを取得します。
リダイレクト URL: 正しいリダイレクト URL であることを確認します。これは、以下のステップ 2 の登録プロセスで必要になります。
https://<your_server_name> .com / auth / add_oauth_token
例: https://example.com/auth/add_oauth_token
2: OAuth クライアント ID とクライアント シークレットの登録
以下の手順に従って、カスタム OAuth クライアントをサイトに登録します。
管理者の認証資格情報を使用して Tableau Server にサインインし、[設定] ページに移動します。
[OAuth Clients Registry (OAuth クライアント レジストリ)] で、[Add OAuth Client (Oauth クライアントの追加)] ボタンをクリックします。
上記のステップ 1 の情報を含む、必要な情報を入力します。
[接続タイプ] で、カスタム OAuth クライアントを設定するコネクタを選択します。
複数の OAuth クライアントを登録する場合は、OAuth インスタンス URL に情報を入力する必要があります。それ以外の場合は、任意で入力してください。
クライアント ID、クライアント シークレット、リダイレクト URL には、上記のステップ 1 で準備した情報を入力します。
[Add OAuth Client (Oauthクライアントの追加)] ボタンをクリックして、登録プロセスを完了します。
(オプション) サポートされているすべてのコネクタに対して、ステップ 3 を繰り返します。
- [設定] ページの下部または上部にある [保存] ボタンをクリックして、変更を保存します。
3: 保存した認証資格情報の検証と更新
データ アクセスが中断されないようにするため、サーバー管理者 (およびサイト ユーザー) は、以前に保存した認証資格情報を削除してから、サイトのカスタム Oauth クライアントを使用できるように再度追加する必要があります。
[マイ アカウント設定] ページに移動します。
[データ ソースの保存済み認証資格情報] で、次の手順を実行します。
上記のステップ 2 でカスタム OAuth クライアントを構成したコネクタの既存の、保存済み認証資格情報の横にある [削除] をクリックします。
コネクタ名の横にある [追加] をクリックし、プロンプトに従って 1) 上記のステップ 2 で構成したカスタム OAuth クライアントに接続し、2) 最新の認証資格情報を保存します。
4: 保存した認証資格情報を更新するようにユーザーに通知する
上記のステップ 2 で構成したカスタム OAuth クライアントのコネクタの保存済み認証資格情報を更新するようにサイト ユーザーに通知します。サイトのユーザーは、保存済み認証資格情報の更新で説明されている手順を使用して、保存された認証資格情報を更新できます。
アクセス トークンの管理
OAuth 用のサーバーを構成したら、プロファイル設定でのアクセス トークンの管理をユーザーに許可するか、トークンを一元的に管理できます。詳細については、保存済みアクセス トークンの許可を参照してください。