信頼できる認証
Tableau Server のビューを Web ページに埋め込むときは、そのページにアクセスするすべてのユーザーが Tableau Server のライセンス ユーザーである必要があります。ユーザーがそのページにアクセスすると、ビューが表示される前に Tableau Server へのサインインを求めるプロンプトが表示されます。Web ページ上または Web アプリケーション内でユーザーを認証する手段が既にある場合は、このプロンプトを省略し、信頼できる認証を設定することによりユーザーがサインインを 2 回行わずに済むようにできます。
信頼できる認証とは、Tableau Serverと 1 つ以上の Web サーバーとの間で信頼関係が設定されていることを意味します。Tableau Server が信頼できる Web サーバーから要求を受け取ると、Tableau Serverは Web サーバーで必要とされる認証は既に処理されていると見なします。
注: 埋め込みビューで信頼できる認証を使用する場合は、サードパーティのクッキーを許可するようにクライアント ブラウザーを構成する必要があります。
信頼できる認証のしくみ
下の図は、クライアントの Web ブラウザー、Web サーバー、Tableau Serverの間で信頼できる認証がどのように機能するかを示しています。
ユーザーが Web ページにアクセス: Tableau Server のビューが埋め込まれた Web ページにユーザーがアクセスすると、Web ページにより、そのページの HTML に対する GET 要求が Web サーバーに送信されます。
Web サーバーが Tableau Server に POSTS を送信する。Web サーバーは、POST 要求を信頼できる Tableau Server (たとえば、https://<server_name>/trusted
ではなく https://<server_name>
) に送信します。この POST 要求には username
パラメーターが必要です。username
の値は、Tableau Server のライセンス ユーザーのユーザー名でなければなりません。Tableau Server が複数のサイトをホストし、ビューが "既定" サイト以外のサイトにある場合、POST 要求には target_site
パラメーターも含める必要があります。
Tableau Server がチケットを作成する。Tableau Server は、POST 要求を送信した Web サーバーの IP アドレスまたはホスト名 (上図では 192.168.1.XXX) を確認します。Web サーバーが信頼できるホストとしてリストされている場合、Tableau Server は一意の文字列形式でチケットを作成します。チケットは、発行後 3 分以内に引き換える必要があります。Tableau Server はこのチケット付きの POST 要求に応答します。または、エラーが発生してチケットを作成できない場合は、-1
の値が返されます。サーバーには IPv4 アドレスが必要です。IPv6 アドレスはサポートされていません。詳細については、Tableau Server から返されたチケットの値 -1を参照してください。
Web サーバーがブラウザーに URL を渡す。Web サーバーがビューの URL を構築し、そのページの HTML に挿入します。チケットが含まれています (例: https://<server_name>/trusted/<unique_ticket>/views/<view_name>
)。Web サーバーは HTML をクライアントの Web ブラウザーに渡します。
ブラウザーが Tableau Server のビューを要求する。クライアントの Web ブラウザーは、チケット付きの URL が含まれている GET 要求を、Tableau Server に送信します。
Tableau Server がチケットを引き換える。Tableau Server はチケットを引き換え、セッションを作成、ユーザーをログインさせて URL からチケットを削除し、埋め込みビューの最終的な URL をクライアントに送信します。
セッションはユーザーに対し、サーバーにログオンしている場合に、そのユーザーが持つ任意のビューへのアクセスを許可します。既定の構成では、信頼できるチケットを使用して認証されたユーザーは、ビューのみが利用可能などの制限アクセス権を持ちます。彼らはワークブック、プロジェクト ページ、またはサーバーでホストされるその他のコンテンツにアクセスできません。
この動作を変更するには、tsm configuration set のオプションの wgserver.unrestricted_ticket
オプションを参照してください。
信頼できるチケットの保存方法
Tableau Server は次のプロセスを使用して、Tableau Server リポジトリに信頼できるチケットを保存します。
- Tableau Server は 2 パート チケットを作成します。最初の部分は Base64 エンコードされた一意の ID (UUID)、2 つ目の部分は 24 文字のランダムなシークレット文字列です。
- Tableau Server はシークレット文字列をハッシュし、一意の ID を使用してリポジトリに保存します。ハッシュはシークレット文字列を入力として認識し、アルゴリズムを使用して一意の文字列を計算します。この一意の文字列は、未認証のユーザーからシークレット文字列のセキュリティを保護します。
- Tableau Server は、クライアントに Base64 UUID と元の 24 文字のランダム化された文字列を送信します。
- クライアントは、ビューへの要求の一部として、Base64 UUID と元の 24 文字のシークレット文字列を Tableau Server に返します。
- Tableau Server は Base64 UUID を使用して文字列ペアを見つけ、シークレット文字列をハッシュ化してリポジトリに保存されているハッシュと一致していることを検証します。
このプロセスにより、Tableau Server に保存されている信頼できるチケット コンテンツを、ユーザーの偽装や認証によって保護されているコンテンツへのアクセスに使用できないようにします。ただし、完全に信頼されているチケットは HTTP 経由で Tableau Server とクライアントの間を送信されるため、プロセスは、HTTP データの安全で暗号化された送信に依存します。そのため、信頼できるチケットを、SSL/TLS またはネットワーク暗号化の別のレイヤーでのみ展開することをお勧めします。