Tableau Server プロキシの設定

多くの企業において、Tableau Server はインターネットと通信する必要があります。Tableau Server は保護された内部ネットワーク内で動作するように設計されました。Tableau Server をインターネット上や DMZ で直接設定しないでください。お使いのネットワークとインターネットとの間の通信は、プロキシ サーバーを使用して仲介するようお勧めします。フォワード プロキシ サーバーは、ネットワーク内部からインターネット上のターゲットへのトラフィックを仲介します。リバース プロキシ サーバーは、インターネットからネットワーク内のターゲットへのトラフィックを仲介します。

誰がこの記事を読むべきか

この記事は、ネットワーキング全般やゲートウェイ プロキシ ソリューション全般の経験がある IT プロフェッショナル向けです。この記事では、Tableau でいつ、またどのようにインターネット アクセスが必要であるかについて説明します。また、ネットワークと Tableau を構成してインターネットとの間のアクセスに転送およびリバース プロキシ サーバーを使用する方法についても説明します。多くのサード パーティ プロキシ ソリューションを使用できるので、この記事のいくらかのコンテンツは必然と一般的なものになります。

プロキシ サーバーを構成する前に、インターネットとの通信を参照してください。

フォワード プロキシ サーバーの構成

Tableau Server からインターネットへの通信を有効にするには、フォワード プロキシ サーバーの背後で Tableau Server を展開します。Tableau Server がインターネットへのアクセスを必要とする場合、要求を直接インターネットに送ることはしません。代わりに、フォワード プロキシに要求を送ることで、要求が転送されます。フォワード プロキシは、管理者がインターネットへのトラフィックで、ロード バランシング、サイトへのアクセスのブロックなどのタスクを管理するのをサポートします。

フォワード プロキシを使用する場合、トラフィックをフォワード プロキシに送るために、ネットワーク内で Tableau Server を実行するコンピューターを構成する必要があります。Tableau Server では、パススルー認証または手動プロキシ認証はサポートされていません。

フォワード プロキシを使用するための Tableau Server on Windows の構成

Tableau Server コンピューターのインターネット オプションを構成する手順は、会社を説明する次のシナリオのいずれに該当するかによって異なります。

  • 組織でフォワード プロキシ ソリューションを使用していない。組織でプロキシ ソリューションを実行しておらず、Tableau Server をインストールするコンピューターがインターネットに通信できる場合は、次の手順に従う必要はありません。

  • プロキシ ソリューションが展開されていて、自動構成ファイルが接続設定を定義している。組織がインターネット接続情報を指定するために自動構成ファイル (PAC や .ins ファイルなど) を使用している場合、Windows の [LAN (Local Area Network) 設定] ダイアログ ボックスで情報を使用できます。詳細は Microsoft サポートサイトの 『ブラウザ設定の自動検出と構成の有効化』 を参照してください。

  • プロキシ ソリューションが展開されていて、自動構成ファイルで接続設定を定義していない。このシナリオの場合、プロキシ サーバーへの接続が実行ユーザー アカウントのセキュリティ コンテキストで実行されるように、Tableau Server を実行している Windows コンピューターの LAN 設定を構成する必要があります。また、localhost や、その他の内部 Tableau Server インスタンスを例外として構成する必要があります。

次の手順は、Tableau Server が Windows サーバー上で稼働している場合の最後のシナリオの手順である、自動設定ファイルを使用しないプロキシ ソリューションを示しています。

注: Tableau Server の分散インストールを使用している場合は、初期サーバー ノードや追加する各ノードで次の手順を実行してください。

ステップ 1: 実行サービス アカウントのローカル管理者グループへの追加

この手順を実行するには、Tableau Server コンピューターに実行サービス アカウントとしてログオンする必要があります。既定では、実行サービス アカウントに「ローカルでログオン」ポリシーは適用されません。そのため、一時的に、実行サービス アカウントをローカル管理者グループに追加する必要があります。

Tableau Server をまだコンピューターにインストールしていない場合は、実行サービス アカウントの変更を参照してください。既に Tableau Server をインストールし、実行サービス アカウントを構成しているなら、TSM Web UI にサインインすることによって実行サービス アカウント名を特定することができます。Tableau Server 実行サービス アカウントは、[構成] ウィンドウの [セキュリティ] タブに一覧表示されます。Tableau Services Manager の Web UI へのサインインを参照してください。

Microsoft Web サイトの「メンバーをローカル グループに追加する」の手順を使用して、実行サービス アカウントをローカル管理者グループに追加します。フォワード プロキシ情報を構成し終えたなら、ローカル管理者グループから実行サービス アカウントを削除します。

ステップ 2: Windows LAN 設定でのプロキシ サーバーの構成

  1. 実行サービス アカウントを使用して、Tableau Server がインストールされている、またはインストールするコンピューターにログオンします。

  2. [ローカル エリア ネットワーク (LAN) 設定] ダイアログ ボックスを開きます。(このダイアログ ボックスにすばやく到達する方法は、Windows の [スタート] メニューから Internet Options を検索することです。[インターネット プロパティ] ダイアログ ボックスで、[接続] タブをクリックし、[LAN 設定] をクリックします)。

  3. [プロキシ サーバー] の下で、[LAN にプロキシ サーバーを使用する] を選択して、プロキシ サーバーのアドレスとポートを入力し、[ローカル アドレスにはプロキシ サーバーを使用しない] を選択します。

このダイアログ ボックスを開いたまま、次の手順を続行します。

ステップ 3: プロキシ サーバーの回避に例外を追加する

このプロキシ構成に例外を追加することで、ローカル Tableau Server クラスター内の通信すべて (今および後に持つ場合)、プロキシ サーバーに送られないことが保証されます。

  1. [LAN の設定] ダイアログ ボックスで [詳細] をクリックします。(このボタンは、LAN でプロキシ サーバーを使用するためのオプションが選択された場合のみ使用可能です)。

  2. [プロキシ設定] ダイアログ ボックスで、[例外] フィールドに以下を入力します。

    • localhost
    • 同じクラスター内にある他の Tableau Server コンピューターのサーバー ホスト名と IP アドレスを入力します。

    アイテムを区切るには、セミコロンを使用します。

  3. [プロキシ設定] ダイアログ ボックスと [LAN (Local Area Network) 設定] ダイアログ ボックスを閉じます。

  4. [インターネットのプロパティ] ダイアログ ボックスで [OK] をクリックして、設定を適用します。

コンピューターにログオンしたまま、次の手順を続行します。

ステップ 4: 環境変数として構成されていないプロキシ設定を検証する

一部の組織ではフォワード プロキシ設定をWindows オペレーティング システムの環境変数として構成します。そのような設定が Tableau Server を実行中のコンピューター上で構成された場合、ここで完成させた構成と対立しないことを検証しなくてはなりません。

  1. Tableau Server を実行中のコンピューター上で、検索ボックスに「高度なシステム設定」を入力して Enter をクリックし、[システム プロパティ] ボックスを開きます。

  2. [Advanced (詳細)] タブで、[環境変数] をクリックします。

  3. [システム変数] フィールドの内容をスクロールします。

    http_proxy または https_proxy が指定されている場合、その値がこの前の手順で構成したプロキシ サーバーのアドレスと対立していないことを確認してください。

    • 既存の設定が対立しない場合は、「ステップ 5: プロキシ構成をテストする」に進んでください。

    • 既存の設定が競合している場合は、no_proxy という名前で新しい変数を作成し、

      • ホスト名、
      • IP アドレス、および
      • その値の Tableau Server のポートを入力します。

      たとえば、localhost,192.168.0.10:80。詳細については Microsoft MSDN の記事、「環境変数の設定」を参照してください。

  4. [OK] をクリックします。

ステップ 5: プロキシ構成のテスト

新しい構成をテストするには、Tableau Server コンピューターに実行サービス アカウントとしてログインしている間に、Web ブラウザーを開いて次の Tableau URL をテストしてください。

https://mapsconfig.tableau.com/v1/config.json (Link opens in a new window)https://api.mapbox.com/(Link opens in a new window) では、json ファイルのダウンロードを求めるメッセージが表示されます。

ステップ 6: 実行サービス アカウントのローカル管理者グループからの削除

プロキシ設定をテストした後、実行サービス アカウントをローカル管理者グループから削除します。実行サービス アカウントを管理者グループに残しておくと、実行サービス アカウントのパーミッションが強化され、セキュリティ リスクとなります。

すべての変更を確実に実装するために、Tableau Server を再起動します。

サーバー クラッシュ レポーター

組織でプロキシ サーバーを使用してインターネットに接続する場合は、Tableau Server のクラッシュ レポーターでプロキシを使用するように構成する必要があります。Tableau Server でプロキシを使用するように既に構成している場合でも、別途、サーバー クラッシュ レポーターも構成する必要があります。サーバー クラッシュ レポーターでプロキシを構成するには、サーバー クラッシュ レポーターの構成を参照してください。

Tableau Server でのリバース プロキシの仕組み

リバース プロキシは、外部 (インターネット) クライアントから要求を受信し、Tableau Server に転送するサーバーです。リバース プロキシを使用する理由は何でしょうか。基本的な回答はセキュリティです。リバース プロキシは、特定の Tableau Server の個別 IP アドレスをインターネットに公開しなくても、Tableau Server をインターネットで使用可能にします。また、リバース プロキシは、社外のユーザーがアクセスできる場所にデータを格納しないよう、認証およびパススルー デバイスとして動作します。PCI や、HIPAA、SOX などのさまざまなプライバシー規制の対象となる組織にとって、この要件が重要となる場合があります。

次の図は、リバース プロキシ サーバーを使用するよう構成されている Tableau Server に対し、クライアントが要求を行った場合の通信パスを示しています。

  1. 外部クライアントは、Tableau Server への接続を開始します。クライアントは、リバース プロキシ サーバー用に設定されているパブリック URL (https://tableau.example.com など) を使用します。(クライアントはリバース プロキシにアクセスしていることを認識しません。)

  2. 代わりに要求されるリバース プロキシ マップは、Tableau Server へのリクエストを渡します。Tableau Server に要求を渡す前提条件として、クライアントを認証 (SSL/TLS を使用して) するようリバース プロキシを構成できます。

  3. Tableau Server は要求を取得し、リバース プロキシに応答を送信します。

  4. リバース プロキシはコンテンツをクライアントに戻します。クライアントに関しては、Tableau Server とやり取りを行ったにすぎないため、通信がリバース プロキシによって仲介されたことを知る方法はありません。

プロキシ サーバーと SSL

セキュリティを向上させるため、ネットワーク外部のトラフィックに対して SSL を使用するようリバース プロキシ サーバーを構成することをお勧めします。これにより、プライバシー、コンテンツの整合性、および認証を確保するのに役立ちます。また、その他のセキュリティ対策を展開してインターネット ゲートウェイと Tableau Server の間のトラフィックを保護している場合を除き、ゲートウェイ プロキシと Tableau Server の間に SSL を構成することをお勧めします。内部証明書または自己署名した証明書を使い、Tableau サーバーと他の内部コンピューターとの間のトラフィックを暗号化することができます。

モバイル アクセス

Tableau Server は Tableau Mobile セッションのすべての HTTP 応答に X ヘッダーを追加します。既定では、大半のプロキシ ソリューションが X ヘッダーを維持します。プロキシ ソリューションが X ヘッダーを維持しない場合は、モバイル クライアント セッションのすべての HTTP 応答で次のヘッダーを維持するようにプロキシ サーバーを設定する必要があります: X-Tableau: Tableau Server

プロキシ サーバー ゲートウェイに認証を設定している場合は、プロキシ サーバーが Tableau Mobile HTTP 要求に HTTP 302 応答で応答する必要があります。302 には、アイデンティティ プロバイダーのログイン ページへのリダイレクトが含まれている必要があります。302 の認証シーケンスが示されている図を確認するには、Tableau コミュニティの「Tableau Mobile Authentication Sequence」(英語)(Link opens in a new window) を参照してください。

リバース プロキシとユーザー認証

Tableau Server は必ずユーザーを認証します。これは、組織用ゲートウェイでのインバウンド接続を認証する場合でも、Tableau Server がユーザーを認証することを示します。

とはいえ、すべてのクライアントでリバース プロキシによるユーザー認証がサポートされているわけではありません。

  • サポート対象の Web ブラウザでは、SAML、OpenID Connect、Kerberos、Trusted Tickets、またはリバース プロキシによる手動の認証を使用できます。ただし、ユーザー要求に対してゲートウェイで認証を求めるプロンプトが表示されない、透過的なシナリオを推奨します。この推奨は、ゲートウェイ プロキシでクライアントおよびサーバーのシステム レベル認証に SSL の使用を禁止するものではありません。実際、SSL システム レベル認証の使用を強く推奨します。

  • Tableau Mobile は、SAML、またはリバース プロキシによる手動の認証がサポートされています。Tableau Mobile の iOS バージョンではさらに、リバース プロキシ付きの Kerberos がサポートされています。上記と同様の推奨事項が適用されます。

  • Tableau Desktop は、リバースプロキシでの認証はサポートされていません。Tableau Desktop でのリモート アクセスをサポートするには、VPN ソリューションを使用するか、リバース プロキシにおいてトラフィックが Tableau Desktop から Tableau Server に直接ルーティングするように構成し、認証が行われるようにする必要があります。

組織が Active Directory で認証している場合:

  • 自動ログオン (SSPI) を有効にした Active Directory はリバース プロキシではサポートされません。
  • Tableau Server を Kerberos 用に構成する前に、Tableau Server をリバース プロキシ用に構成する必要があります。詳細については、Kerberos の構成を参照してください。

リバース プロキシ サーバーを使用するための Tableau Server の構成

Tableau Server を構成する前に、プロキシ サーバー構成に関する次の情報を収集する必要があります。Tableau Server を構成するには、tsm configuration set コマンドを使用します。収集する必要のある情報は、tsm 実行の際に必要となるオプションに対応します。

以下の tsm オプションの大半も、ロード バランサーの背後で動作する Tableau Server 展開を設定するために使用できます。詳細については、ロード バランサーの追加を参照してください。

項目 説明 対応する tsm configuration set オプション
IP アドレスまたはCNAME

このオプションでは、IP アドレスまたは CNAME のいずれかを入力できます。

プロキシ サーバーのパブリック IP アドレス。IP アドレスは、203.0.113.0 などの IPv4 形式になります。また、静的 IP である必要があります。

静的 IP を提供できない場合や、クラウド プロキシまたは外部ロード バランサーを使用している場合は、クライアントが Tableau Server への接続に使用する CNAME (Canonical Name = 正規名) DNS 値を指定できます。この CNAME 値は、リバース プロキシ ソリューションで Tableau Server と通信するように設定する必要があります。

gateway.trusted
FQDN Tableau Server へのアクセスに使用される完全修飾ドメイン名 (tableau.example.com など)。Tableau Server は、このオプションのコンテキストの切り替えをサポートしていません。たとえば、以下の URL はサポートされていません。example.com/tableau gateway.public.host
非完全修飾ドメイン名 プロキシ サーバーのサブドメイン名。tableau.example.com の例では、サブドメイン名は tableau です。 gateway.trusted_hosts
別名 プロキシ サーバーの任意のパブリック代替名。たいていの場合、別名は CNAME 値を使って定義されます。例として、プロキシ サーバー bigbox.example.com および ftp.example.comwww.example.com の CNAME エントリがあります。 gateway.trusted_hosts
ポート クライアントからリバース プロキシ サーバーへのトラフィックのポート番号。

gateway.public.port

Tableau Server の分散インストールを使用している場合は、クラスタ内の初期ノードで次の tsm コマンドを実行します。

  1. 次のコマンドを入力して、クライアントがプロキシ サーバーを通じて Tableau Server にアクセスするために使用する FQDN を設定します。ここで、name は FQDN です。

    tsm configuration set -k gateway.public.host -v "name"

    たとえば、ブラウザに https://tableau.example.com と入力して Tableau Server に到達した場合、次のコマンドを入力します。

    tsm configuration set -k gateway.public.host -v "tableau.example.com"

  2. 次のコマンドを入力して、プロキシ サーバーのアドレスまたは CNAME を設定します。ここで、server_address は IPv4 アドレスまたは CNAME 値です。

    tsm configuration set -k gateway.trusted -v "server_ip_address"

    組織が複数のプロキシ サーバーを使用している場合、複数の IPv4 アドレスをコンマで区切りながら入力します。IP 範囲はサポートされていません。Tableau Server のスタート アップと初期化を改善するために、gateway.trusted のエントリー数を最小限に抑えます。

  3. 次のコマンドを入力し、完全修飾ドメイン名や非完全修飾ドメイン名、別名など、プロキシ サーバーの代替名を指定します。名前が複数ある場合は、名前をコンマで区切ります。

    tsm configuration set -k gateway.trusted_hosts -v "name1, name2, name3"

    例:

    tsm configuration set -k gateway.trusted_hosts -v "proxy1.example.com, proxy1, ftp.example.com, www.example.com"

  4. プロキシ サーバーがインターネットとの通信に SSL を使用している場合、次のコマンドを実行します。これは、リバース プロキシ サーバーがポート 80 の代わりにポート 443 を使っていることを Tableau に伝えます。

    tsm configuration set -k gateway.public.port -v 443

    : プロキシ サーバーが Tableau Server との通信に SSL を使用している場合、Tableau Server で SSL を設定して有効化する必要があります。

  5. 次のコマンドを入力し、構成の変更をコミットします。

    tsm pending-changes apply

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

Tableau Server を使用するためのリバース プロキシ サーバーの構成

クライアントがリバース プロキシを通して Tableau Server にアクセスする場合、特定のメッセージ ヘッダーを保持 (または追加) する必要があります。具体的には、メッセージ チェーン内のすべてのプロキシ サーバーを gateway.trusted および gateway.trusted_hosts 設定で示す必要があります。

次の図はシングル ホップのメッセージ チェーン用のヘッダー例を表しています。ここでは、プロキシ サーバーが直接 Tableau Server と通信しています。

次の図はマルチ ホップのメッセージ チェーン用のヘッダー例を示しています。ここでは、メッセージが Tableau Server に接続する前に 2 つのプロキシ サーバーを横断しています。

次の表は、これらのヘッダーについて、また Tableau Server 設定の構成にどう関連しているかについて説明します。

ヘッダー 説明 関連した Tableau Server 設定
REMOTE_ADDRX-FORWARDED-FOR (XFF) Tableau Server は、要求元の IP アドレスを特定するために、これらのヘッダーを必要としています。X-FORWARDED-FOR ヘッダーでは、IP アドレスのチェーンを接続が起きた順に Tableau Server に示す必要があります。 gateway.trusted に設定した IP アドレスは REMOTE_ADDR で表される IP と一致しなくてはなりません。gateway.trusted に複数のアドレスを送信した場合、そのうち 1 つが REMOTE_ADDR で表される IP に一致しなくてはなりません。
HOSTX-FORWARDED HOST (XFH) これらのヘッダーは、Tableau Server がクライアントに返信する際、Tableau Server への絶対リンクを生成するために使用されます。X-FORWARDED-HOST ヘッダーでは、 ホスト名を接続が起きた順に Tableau Server に示す必要があります。 X-FORWARDED-HOST ヘッダーに表示されるホスト名は gateway.trusted_hosts で指定されるホスト名に含まれている必要があります。
X-FORWARDED-PROTO (XFP) クライアントからプロキシへのトラフィックで SSL が有効化され、プロキシから Tableau Server へのトラフィックでは有効化されていない場合、このヘッダーが必要です。

メッセージ ルートの各ホップで HTTP や HTTPS が保持されないシナリオでは、 X-FORWARDED-PROTO ヘッダーが重要です。たとえばリバース プロキシが外部要求に SSL を必要としているが、リバース プロキシと Tableau Server の間のトラフィックが SSL を使用するよう構成されていない場合は、X-FORWARDED-PROTO ヘッダーが必要です。プロキシ ソリューションによって、X-FORWARDED-PROTO ヘッダーが自動的に追加される場合と追加されない場合があります。最後に、プロキシ ソリューションによっては、ポート転送を構成し、要求をポート 443 からポート 80 へ変換しなければならない場合があります。

関連する KB 記事: 「"Unable to Sign In" and "Invalid username or password" Error With SAML After Upgrading」(Link opens in a new window)

リバース プロキシのポート構成 (クライアントからのインバウンド接続と Tableau Server へのアウトバウンド接続) は、対応するパラメーター: gateway.public.port で指定する必要があります。これはプロキシへの接続に使用されるポート クライアントです。

プロキシ サーバーが Tableau Server との通信に SSL を使用している場合、Tableau Server で SSL を設定して有効化する必要があります。

リバース プロキシのセットアップ検証

リバース プロキシのセットアップを検証するには、Tableau Server の Web 作成または Tableau Desktop を使用して、ワークブックおよびデータソースをパブリッシュします。Web ブラウザーを使用してインターネットから Tableau Server に接続している場合、推奨ブラウザー(Link opens in a new window)を使用していることを確認してください。既存のデータソースおよびパブリッシュしたデータソースを使用するワークブックをパブリッシュして表示します。以下のリンクを参照して、エンドユーザーによる Tableau Server の接続について理解してください。

タスク ドキュメント
Web 作成の概要。 Web での Tableau の使用(Link opens in a new window)
Tableau Desktop または Web ブラウザから Tableau Server にログインする。 Tableau Server または Online へのサインイン(Link opens in a new window)
ワークブックを Tableau Server にパブリッシュする。 ワークブックのパブリッシュ(Link opens in a new window)
データ ソースをパブリッシュする。 データ ソースのパブリッシュ(Link opens in a new window)
Tableau Server からワークブックを開く。 サーバーからワークブックを開く(Link opens in a new window)
サーバーからログアウトする (Desktop で)。 Tableau Server または Online へのサインイン(Link opens in a new window)
Web ブラウザーからワークブックをダウンロードする。 ワークブックのダウンロード(Link opens in a new window)
tabcmd (非サーバー クライアントから) が正常に動作しているかを確認する。 tabcmd

関連トピック

ありがとうございます!