インターネットとの通信の設定

[前の章] では、クライアント (ブラウザ、モバイル デバイスなど) と Tableau Server との間の安全なトラフィックを助けるための SSL の設定方法について説明しました。いつでも SSL を構成するのは良い考えですが、クライアントにネットワークの外部から (つまり、公共のインターネットから) Tableau Server へのアクセスを許可するつもりなら、それは不可欠です。ネットワークの外部から Tableau Server へアクセスできる可能性があるのに、その章を読み飛ばしているなら、戻って確認してください。実際に、SSL を設定しておかない限り、絶対にサーバーへのアクセスを許可してはなりません

外部アクセスを許可する場合は、リバース プロキシ サーバーも設定する必要があります。この章では、プロキシ サーバーとは何か、およびなぜプロキシサーバーを使用するのかについて説明します。また、プロキシ サーバーを構成する方法についても、いくらかのガイダンスを提供します。

 

IT に詳しい友人を呼び出す状況

Tableau Server: 全ユーザー向けインストール ガイド の他の章は 1 人の IT プロフェッショナルによる最小限のサポートを得ながらサーバー構成を完了できるように書かれていますが、この章は、それらの章とは異なり、IT プロフェッショナル向けに書かれています。概念はすべての読者が理解できるように記述されていますが、プロキシ サーバーの設定には、証明書の管理、プロキシおよびゲートウェイ設定の構成、および高度なネットワーク構成が含まれています。IT プロフェッショナルではない読者が本ガイドを頼りにここまで単独で操作してこられたかもしれませんが、ここではプロフェッショナルの助けが必要になります。

Tableau がインターネットと通信する方法

Tableau Server はこれらのシナリオのためにインターネットへのアウトバウンド アクセスを要求します。

  • マップの操作。Tableau は外部でホストされるマップ データを使用します。Tableau Server はポート 443 を使用してマップ場所に接続する必要があります。この接続ができない場合、マップの読み込みに失敗する場合があります。既定では、Tableau はマップ データに OpenStreetMaps を使用します。

    Tableau Server は、マップ用に次のインターネット上の場所に接続する必要があります。

    • mapsconfig.tableau.com
    • api.mapbox.com

    バージョン 2019.1.x 以前の Tableau Server は、マップ用に次の場所に接続する必要があります。

    • maps.tableausoftware.com
  • Tableau 送信ログ サーバーに接続しています。

    サポートを使用する場合は、ログファイルを Tableau にアップロードできます。Tableau にファイルを正常にアップロードするには、Tableau Server がポート 443 の送信ログ サーバーと通信できる必要があります。

    Report-issue.tableau.com

  • ライセンス発行。Tableau 製品は、プロダクト キーをライセンス認証するため、インターネットに接続します。Tableau ソフトウェアを "オフラインでのライセンス認証ツール" を使ってライセンス認証しない限り、すべての Tableau 製品は、ライセンスを検証するため、継続的にインターネットにアクセスする必要があります。

    Tableau Server は、ライセンス発行の目的で、次のインターネット上の場所に接続する必要があります。

    • licensing.tableau.com:443

    • atr.licensing.tableau.com:443

    • s.ss2.us

    • ocsp.rootg2.amazontrust.com

    • ocsp.rootca1.amazontrust.com

    • ocsp.sca1b.amazontrust.com

    • crt.sca1b.amazontrust.com

    • crt.rootca1.amazontrust.com

    • ocsp.sca0a.amazontrust.com

    • crt.sca0a.amazontrust.com

    • ocsp.sca1a.amazontrust.com

    • crt.sca1a.amazontrust.com

    • ocsp.sca2a.amazontrust.com

    • crt.sca2a.amazontrust.com

    • ocsp.sca3a.amazontrust.com

    • crt.sca3a.amazontrust.com

    • ocsp.sca4a.amazontrust.com

    • crt.sca4a.amazontrust.com

    • crl.rootca1.amazontrust.com

    • crl.rootg2.amazontrust.com

    • crl.sca1b.amazontrust.com

    上記ドメインへのリクエストは、ポート 80 またはポート 443 で行われることがあります。ポート 80 は、証明書の検証 (失効、証明書チェーンなど) に使用されます。ポート 443 は SSL 接続に使用されます。

    ライセンス認証を試行した際に Tableau Server が接続できない場合、オフラインでライセンス認証を実行するよう要求されます。

  • 外部またはクラウド ベース データの操作。

Tableau Server はインターネット アクセスがなくても実行できますが、たいていの企業の場合、リストにあるシナリオでは、Tableau がインターネットにアクセスできるように要求されます。

Tableau Server とプロキシ サーバー

Tableau Server は保護された内部ネットワーク内で動作するように設計されました。それゆえに、初めに次のように強くお勧めします : 組織のインターネット ゲートウェイとして動作しているコンピューター上には Tableau Server は設定しないでください。冒頭で推奨されているように、他のプロセスを実行していない専用のコンピュータ上に Tableau Server を置いてください。こうして、直接インターネットに公開されないようにします。

その代わりに、プロキシ サーバーを構成することをお勧めします。このコンピューターはローカル (内部) ネットワークとインターネット間のトラフィックを仲介します。フォワード プロキシ サーバーは、ネットワーク内部からインターネット上のターゲットへのトラフィックを仲介します。リバース プロキシ サーバーは、インターネットからネットワーク内のターゲットへのトラフィックを仲介します。

大きな組織で作業しているなら、IT 部門は間違いなく既にプロキシ サーバーを設定しているはずです。すべてを独力で設定している場合、先に述べたように、ここでプロキシ サーバーの経験者に相談する必要があるかもしれません。しかし、ここでは、プロキシ サーバーの概要から始めましょう。

重要: 展開の計画の章で説明したように、IIS を実行するコンピューターへの Tableau Server のインストールは推奨されません。さらに、アンチウイルス ソフトウェアを実行している場合、「ナレッジ ベース」(新しいウィンドウでリンクが開く)の推奨事項に従って Tableau Server ディレクトリを除外する必要があります。この章の手順では、Tableau Server がクリーンなコンピューター上にインストールされていることを前提としています。

フォワード プロキシ サーバー

フォワード プロキシとは、ネットワーク内部にあるコンピューターとインターネットの間に存在するサーバのことです。ネットワーク コンピュータ上のアプリケーションがインターネットにアクセスする必要がある場合は、インターネットに直接リクエストを送信しません。その代わりに、要求をよく転送するフォワード プロキシの順に要求を送信します。フォワード プロキシは、管理者がインターネットへのトラフィックで、ロード バランシング、サイトへのアクセスのブロックなどのタスクを管理するのをサポートします。

多くの組織では、ネットワーク上のフォワード プロキシを使用します。それらの組織では、ネットワーク内部のコンピュータは、フォワード プロキシにトラフィックを送信するように設定する必要があります。これは、ユーザー自身がインターネットにアクセスしようとしない場合であっても、一般的に必要です。たとえば、ユーザーがマップを含むワークブックを作成するには、Tableau Desktop と Tableau Server が、インターネット上でホストされている Tableau マップ サーバーへアクセスできる必要があります。また、既定では、Tableau 製品をライセンス認証するには、ライセンス コンポーネントをインターネットに接続する必要があります。[オフライン アクティベーション ツール](新しいウィンドウでリンクが開く) で Tableau ソフトウェアをライセンス認証しない限り、すべての Tableau 製品は、ライセンスを検証するためにインターネットへのアクセスが必要になります。

組織でフォワード プロキシ サーバを実行する場合は、Tableau Desktop とサーバーが、そのプロキシ サーバーを使用するように設定されていることを確認する必要があります。プロキシサーバーが発信接続にユーザー認証する場合は、Tableau Server 上の Windows インターネット オプションを、[Run As User] アカウントをセキュリティ コンテキストとして使用するように設定する必要があります。

後の [追加のリソース] セクションには、フォワード プロキシ サーバを設定するための詳しい情報へのリンクが含まれています。

リバース プロキシ サーバー

リバース プロキシは、外部 (インターネット) クライアントからの要求を受信し、それらを Tableau Server に転送するサーバーです。リバース プロキシを使用する理由は何でしょうか。基本的な回答はセキュリティです。リバース プロキシは、インターネットにサーバーの IP アドレスを公開することなく、Tableau Server をインターネットで利用できるようにします。リバース プロキシは、認証およびパス スルー デバイスとして動作します。そのため、データは社外の人々が入手できる場所 (専門用語でいうと、DMZ) には保存されません。PCI や、HIPAA、SOX などのさまざまなプライバシー規制の対象となる組織にとって、この要件が重要となる場合があります。

Tableau Server で動作するリバース プロキシのイラスト

次の図は、リバース プロキシ サーバーを使用するよう構成されている 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 へ) に沿った SSL によってトラフィックが保護されることをお勧めします。このシナリオでは、SSL を使用しない (つまり、URL において https:// を使用しない) 接続を拒否するよう、リバース プロキシを設定することをお勧めします。

Kerberos 認証を使用している場合は、Tableau Server で Kerberos を使用するよう構成する前に、プロキシ用に Tableau Server を構成する必要があります。

詳細については、「Kerberos の構成」(新しいウィンドウでリンクが開く)を参照してください。さらに、SAML、OpenID Connect または Trusted Tickets をリバース プロキシで使用することができます。

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

さて、リバース プロキシの使用については説明しました。Tableau Server を構成する前に、プロキシ サーバー構成に関する次の情報を収集する必要があります。リバース プロキシ サーバーを設定した人でない限り、この情報について IT 担当者に確認する必要があります。

項目 説明
IP アドレスまたはCNAME

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

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

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

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

Tableau Server を構成するには、Tableau サービスマネージャー (TSM) を使用します。Tableau Services Manager は、Tableau サービスをインストール、校正および管理する管理ツールセットです。

  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. 次のコマンドを入力し、構成の変更のコミットおよび Tableau Server の再起動を行います。

    tsm pending-changes apply

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

リバース プロキシ経由でのインターネットからのクライアントのアクセスを有効にするには、特定のメッセージ ヘッダーが Tableau Server のために保存 (または追加) されている必要があります。次の図は、そのことを示しています。

Tableau Server が必要とするヘッダーは :

  • REMOTE_ADDRX-FORWARDED-FOR (XFF)。Tableau Server は、要求に対して発信元の IP アドレスを決定するために、これらのヘッダーを必要とします。

  • HOSTX-FORWARDED HOST (XFH)。これらのヘッダーは、Tableau Server がクライアントに返信する際、Tableau Server への絶対リンクを生成するために使用されます。

  • X-FORWARDED-PROTO (XFP)。プロキシで SSL を実行している場合、このヘッダーが必要とされますが、Tableau Server 上では必要ありません。前述のように、各ホップで SSL を実行することをお勧めします。

リバース プロキシのトラブルシューティングと注意事項

異なるプロキシ ソリューションが存在するため、エンドツーエンドの構成を設定するステップを詳細に説明することはできません。しかし、Tableau Server とリバース プロキシを有効にするのに関連するいくつかのヒントやその他の情報を収集しました。

ヘッダーの構成

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

  • プロキシ サーバーは X-FORWARDED-PROTO ヘッダーに加えて、ルールを必要とします。たとえば、F5 プロキシ デバイスを使用するには、Tableau Server の URL 名前空間をホストしている仮想サーバーに iRule を適用することが必要です。

  • プロキシ サーバーと外部ロード バランサーを混合し、複数の層にスタックすることができます。複数のホップが存在する場合には、Tableau Server に提示されるヘッダーの順序は、トラフィックが Tableau Server に到達するために取ったホップのシーケンスと一致する必要があります。また、信頼できるチケットを有効にするには、チェーン内のすべてのプロキシ サーバーは gateway.trustedtrusted.hosts 設定で指定される必要があります。

  • gateway.trusted 設定で複数の IP アドレスを持っている場合は、カンマおよびスペースで値を区切ってコマンドを発行する必要があります。たとえば "203.0.113.0, 10.32.56.78" のようにです。文字列全体も、示すように二重引用符で囲む必要があります。

認証

  • Kerberos 認証を使用している場合は、Tableau Server で Kerberos を使用するよう構成する前に、プロキシ用に Tableau Server を構成する必要があります。

    詳細については、Tableau Server ヘルプの「Kerberos の構成」(新しいウィンドウでリンクが開く)を参照してください。

  • Tableau Server が Tableau Server ユーザーの認証に SSPI ([自動ログオンを有効にする] のある Active Directory) を使用している場合、Apache リバース プロキシ サーバーはサポートされません。Apache リバース プロキシ サーバーサポートされるのは、Tableau Server が Active Directory ([自動ログオンを有効にする] はない) のあるサーバー ユーザーを認証している場合です。

  • SSL で認証するようにプロキシを設定します。ユーザーに認証のための入力を求めるようにプロキシ サーバーを設定しないでください。

ユーザーの作成 に進みます。

その他のリソース

ありがとうございます!