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

既定では、Google アナリティクス、Google BigQuery、Google スプレッドシートのコネクタでは、プロバイダーにより Tableau Server 用に生成され、同一サイト内のすべてのユーザーにより共有される OAuth トークンの管理キーチェーンを使用します。

各コネクタの OAuth クライアント ID とシークレットを使用して Tableau Server を構成することで、管理キーチェーンを使用するコネクタを変換し、保存済み認証資格情報を使用することができます。

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

このトピックでは、Google BigQuery、Google スプレッドシート、Google アナリティクス データ ソースでの保存済み認証資格情報を使用した OAuth の設定方法を説明します。

Tableau Serverインスタンスでこれらのステップを実行します。

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

  • API アクセスを有効にし、Google からアクセス トークンを作成します。
  • Tableau Server で OAuth を構成します。
  • Google データ ソースを作成して編集します。

クライアント ID を取得してGoogle API を有効にする

注:これらの手順は、本書の執筆中に Google Cloud Platform コンソールの設定を反映します。詳細については、Google Developers Console Help の「Using OAuth 2.0 for Web Server Applications (Web サーバー アプリケーションでの Oauth 2.0 の使用)」(新しいウィンドウでリンクが開く)を参照してください。

  1. Google Cloud Platform(新しいウィンドウでリンクが開く) にサインインし、[Go to my console] をクリックします。

  2. ドロップダウン メニューで [プロジェクトの選択] をクリックして、[プロジェクトの作成] を選択します。

  3. 表示される新しいプロジェクトフォームで次を実行します。

    • プロジェクトに、このプロジェクトを使用するTableau Serverインスタンスを反映するような意味のある名前を付けてください。

    • プロジェクトIDを変更するかを決めます。

      注:プロジェクトを作成した後はプロジェクト ID を変更することができません。詳細についてはクエスチョンマークのアイコンをクリックしてください。

  4. 新しいプロジェクトを開き、[APIs & Services (API とサービス)] > [OAuth 同意画面] に移動して、[User Type (ユーザー タイプ)] を選択します。

  5. [OAuth 同意画面] タブをクリックし、ユーザーに表示される [製品名] に意味のある名前を入力します。

  6. [認証資格情報] > [認証資格情報の作成] タブの順にクリックしてから、[OAuth クライアント ID] をクリックします。

  7. [OAuth クライアント IDの作成] 画面で、必須フィールドに入力します。OAuth トークンを承認する手順に従います。

    • [Web Application] を選択します。

    • クライアントを入力します。

    • Authorized JavaScript Origins の場合、[ADD URI (URI の追加)] をクリックして、Tableau Server のローカル コンピューター名を入力します。

    • Authorized Redirect URI の場合、[ADD URI (URI の追加)] をクリックして、サンプル テキストを Tableau Server のインターネット アドレスに置換し、末尾に auth/add_oauth_token を追加します。例は次のとおりです。

      https://your_server_url.com/auth/add_oauth_token

  8. 認証済みのリダイレクト URI をコピーして、Tableau Server コンピューターからアクセス可能な場所に貼り付けます。

  9. [作成] をクリックします。

  10. Google が返す次の値をコピーし、使用しているTableau Serverコンピューターからアクセスすることができる場所に貼り付けます。

    • クライアント ID

    • クライアント シークレット

  11. [APIs Manager][ダッシュボード] で、BigQuery APIGoogle Drive API (Google Sheets の有効化のため)、または Analytics API が有効化されていることを確認します。API を有効にするには、ページの一番上で ENABLE API をクリックします。

Google OAuth のための Tableau Server の構成

クライアント ID を取得してGoogle API を有効にするの手順を実行して取得した情報を使用することで、Tableau Serverを構成します。

  • Tableau Server PC でシェルを開き、以下のコマンドを実行してアクセス トークンと URI を指定します。

    tsm configuration set -k oauth.google.client_id -v <your_client_ID>

    tsm configuration set -k oauth.google.client_secret -v <your_client_secret>

    tsm configuration set -k oauth.google.redirect_uri -v <your_authorized_redirect_URI>

    tsm pending-changes apply

    保留中の変更にサーバーの再起動が必要な場合は、pending-changes apply コマンドの実行時に、再起動が行われることを知らせるメッセージが表示されます。このメッセージはサーバーが停止していても表示されますが、その場合には再起動は行われません。--ignore-prompt オプションを使用してメッセージが表示されないようにできますが、そのようにしても再起動に関する動作が変わることはありません。変更に再起動が必要ない場合は、メッセージなしで変更が適用されます。詳細については、tsm pending-changes applyを参照してください。

サイトに対するカスタム OAuth を構成する

サイトに対してカスタム GoogleOAuth クライアントを構成できます。

カスタム 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 クライアントのコネクタの保存済み認証資格情報を更新するようにサイト ユーザーに通知します。サイト ユーザーは、保存済み認証資格情報の更新で説明されている手順を使用して、保存済み認証資格情報を更新できます。

Google データ ソースの作成と編集

次に、Google データ ソースをサーバーにパブリッシュします。Tableau Desktop トピックの「Google BigQuery」(新しいウィンドウでリンクが開く)を参照してください。

データ ソースをパブリッシュした後、最後のステップは、前に構成した埋め込みアクセス トークンを使用するようにデータ ソース接続を編集することです。Tableau Server での接続の編集を参照してください。

アクセス トークンの管理

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

ありがとうございます!