Salesforce.com OAuth を保存済み認証資格情報に変更する

既定では、Salesforce.com のコネクタでは、プロバイダーにより Tableau Server 用に生成され、同一サイト内のすべてのユーザーにより共有される OAuth トークンの管理キーチェーンを使用します。保存されたクライアント ID とクライアント シークレットを使用して Tableau Server を構成できます。これを行うシナリオは 2 つあります。

  • Salesforce データ コネクタ - Salesforce データ コネクタを使用する場合は、OAuth クライアントの ID とシークレットを使用して Tableau Server を設定できるため、データ コネクタは保存済みの認証資格情報を使用できます。
  • Einstein Discovery - Einstein Discovery 拡張機能を Tableau Server と統合する場合は、OAuth クライアントの ID とシークレットを設定する必要があります。Einstein Discovery と Tableau Server を統合する機能は、バージョン 2021.1.0 で追加されました。詳細については、「Einstein Discovery 統合の設定」を参照してください。

管理キーチェーンと保存済み認証資格情報の詳細についてはOAuth 接続を参照してください。

このトピックでは、OAuth で保存済み認証資格情報を使用するために、Salesforce.com のデータ ソースと Einstein Discovery の拡張機能を設定する方法を説明します。各Tableau Serverインスタンスでこれらのステップを実行します。

OAuth を設定するには、次の 2 つの手順を実行します。

  • Salesforce で接続アプリを作成します。
  • 取得した情報を使用してサーバーを構成します。

Salesforce 接続アプリの作成

注: この手順では、Salesforce Lightning でのプロセスについて説明します。従来のインターフェイスを使用している場合、ナビゲーションは異なる場合がありますが、設定は同じです。

  1. Salesforce.com 開発者アカウントにサインインし、右上のユーザー名をクリックしその後 [設定] を選択します。

  2. 左側のナビゲーション列の [アプリ] で、[アプリ マネージャ] を選択します。

  3. [接続アプリ] セクションで、[新しい接続アプリ] をクリックします。

  4. [基本情報] でアプリに名前を付け、[api] フィールドをタブで移動して正しい形式で自己入力されるようにし、アプリの連絡先メールアドレスを入力します。

  5. API の [OAuth 設定を有効にする] セクションで、[OAuth 設定を有効にする] を選択します。

  6. 表示された新しい OAuth 設定で、[コールバック URL] に https プロトコルを使用してサーバーの完全修飾ドメイン名を入力し、URL に auth/add_oauth_token を追加します。

    例は次のとおりです。

    https://www.your_tableau_server.com/auth/add_oauth_token

  7. 次の項目を [利用可能な OAuth スコープ] から [選択した OAuth スコープ] に移動します。

    • データへのアクセスおよび管理 (api)

    • 基本情報へのアクセス (id)

    • ユーザーに代わっていつでも要求を実行 (refresh_token)

  8. [保存] をクリックします。

アプリを保存すると、Tableau Server の構成に使用する次の ID が Salesforce の API セクションに表示されます。

  • コンシューマー キー
  • コンシューマー シークレット
  • コールバック URL

Tableau Serverで Salesforce.com OAuth を構成する

接続アプリが Salesforce で作成され、カスタマー キー、カスタマー シークレット、およびコールバック URL を取得したら、Salesforce データ接続と Einstein Discovery 用に Tableau Server を構成できます。

  1. 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>

  2. (任意) 既定のログイン サーバーを変更するには、次のコマンドを入力してください。

    tsm configuration set -k oauth.salesforce.server_base_url -v <URL>

  3. 次のコマンドを入力して変更を適用します。

    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://myco.com/auth/add_oauth_token

ステップ 2: OAuth クライアント ID とクライアント シークレットを登録する

以下の手順に従って、カスタム OAuth クライアントをサイトに登録します。

  1. 管理者の認証資格情報を使用して Tableau Server にサインインし、[設定] ページに移動します。

  2. [OAuth Clients Registry (OAuth クライアント レジストリ)]で、[Add OAuth Client (Oauth クライアントの追加)] ボタンをクリックします。

  3. 上記のステップ 1 の情報を含む、必要な情報を入力します。

    1. [接続タイプ] に、カスタム OAuth クライアントを構成するコネクタに応じて次のいずれかの値を入力します。

      • azuredatalakestoragegen2
      • azure_sqldb
      • azure_sql_dw
      • bigquery
      • databricks
      • google-analytics
      • google-sheets
      • salesforce
    2. クライアント Id、クライアントクライアント シークレットリダイレクト URL には、上記のステップ 1 で準備した情報を入力します。

    3. [Add OAuth Client (Oauthクライアントの追加)] ボタンをクリックして、登録プロセスを完了します。

  4. (オプション) サポートされているすべてのコネクタに対して、ステップ 3 を繰り返します。

  5. [設定] ページの下部または上部にある [保存] ボタンをクリックして、変更を保存します。

ステップ3: 保存された認証資格情報を確証および更新する

データ アクセスが中断されないようにするため、サーバー管理者 (およびサイト ユーザー) は、以前に保存した認証資格情報を削除してから、サイトのカスタム Oauth クライアントを使用できるように再度追加する必要があります。

  1. [アカウント設定] ページに移動します。

  2. [データ ソースの保存済み認証資格情報] で、次の手順を実行します。

    1. 上記の ステップ 2 カスタム OAuth クライアントを構成したコネクタの既存の保存済み認証資格情報の横にある [削除] をクリックします。

    2. コネクタ名の横にある [追加] をクリックし、プロンプトに従って 1) 上記のステップ 2 で構成したカスタム OAuth クライアントに接続し、2) 最新の認証資格情報を保存します。

ステップ4: 保存した認証資格情報を更新するようにユーザーに通知する

上記のステップ 2 で構成したカスタム OAuth クライアントのコネクタの保存済み認証資格情報を更新するようにサイト ユーザーに通知します。サイト ユーザーは、保存済み認証資格情報の更新で説明されている手順を使用して、保存済み認証資格情報を更新できます。

アクセス トークンの管理

OAuth 用のサーバーを構成したら、プロファイル設定でのアクセス トークンの管理をユーザーに許可するか、トークンを一元的に管理できます。詳細については、保存済みアクセス トークンの許可を参照してください。

ありがとうございます!