Tableau ServerのサードパーティCookieの要件を理解する #tableau

はじめに

こんにちは。大阪オフィス唯一のDI部メンバー、tamaです。

本エントリは、Tableau Server Qualified Associateの試験ガイド「評価するスキル」に関連する内容となります。

  • ※2018年4月にバージョン2018.1がリリースされましたが、2018年5月現在のTableau Server Qualified Associateはバージョン10.5が対象のため、バージョンで異なる仕様や挙動については、バージョン10.5を対象にしています。

本エントリの概要

今回は試験ガイドの「ブラウザでのサードパーティCookieの要件を理解する」についてです。今回も低ボリュームの小ネタ気味のエントリとなります。

そもそもCookieとは

知ってる人にとっては、あまりにも今更すぎる確認ですが、一応おさらいします。

Webブラウザで何らかのサイトを訪れた際に作成されるものがCookieです。何のために作成されるのかというと、そのサイトに関するデータを、Webブラウザに一時的に保管しておくためです。何かのサイトに再び訪れた時、以前フォームに入力した内容が再現されている時がありますよね。あれはCookieのおかげです。以前入力した内容を、Webブラウザ側で一時的に保管しておくことで、次、同じサイトに来た時に、そのCookieから入力内容を引っ張ってくることができます。サイト側(Webサーバー)から閲覧側(Webブラウザ)に渡しておくメモみたいなものと考えてください。

他の利用用途しては、広告が有名でしょうか。最近のネット広告は、「特定のセグメントのユーザーだけに表示する」というものがありますが、これは、閲覧者のCookieを利用して出し分けされています。

ファーストパーティCookieとサードパーティCookie

このCookieには2つの種類があります。

あるWebサイトを訪れる時、Webブラウザは、そのサイトのWebサーバーに対して、サイトを表示するためのデータを要求します。ただ、サイトによっては、要求をかけるWebサーバーは1つとは限りません。先程も例に挙げましたが、そのサイトに広告が貼られている場合は、その広告があるWebサーバーにも要求をかけることになります。

で、そのWebサイトのWebサーバーも、広告があるWebサーバーも、Cookieを発行するのですが、Webサイトから発行された方のCookieを「ファーストパーティCookie」、広告側のWebサーバーから発行された方のCookieを「サードパーティCookie」と呼称します。

閲覧者側から見て、実際に見に行っているのはWebサイトですよね(当事者的な存在)。その当事者的な方から発行されるものはファーストパーティCookieです。広告は、そのWebサイトを見ようとしたら、結果的についてきた存在です。見ようと思って見に行っているわけではありません(第三者的存在)。この第三者的存在から発行されるCookieはサードパーティCookieです。

Tableau Serverも、もちろんCookieを発行する

前置きが長くなりました。やっと本題に入っていきます。

Tableau Serverは、普通に利用する時はWebブラウザでアクセスしますよね。前項でCookieについて説明しましたが、Tableau Serverも、もちろん発行します。このCookieはTableau Serverへの認証するための情報と、そもそものアクセス許可について保存されています。

結論からいうと、このCookieはファーストパーティCookieです。先程の説明に沿って言うと、このTableau Serverは当事者的存在であるから、と言われるとしっくりくると思います(もうちょい説明すると、このCookieはTableau Serverのドメインと同じドメインで設定されているので、ファーストパーティCookie扱いとなる)。

大体のWebブラウザは、設定でCookieをオフにすることができます。Tableau ServerのCookieには、アクセス許可に関する情報も保存していると述べましたが、CookieをオフにしてTableau Serverにアクセスするとどうなるのでしょうか。

Tableau Serverにおける最高権限であるサーバー管理者でログインしてみましたが、コンテンツは何も表示されないし、ステータスを見ようとしても弾かれます。Cookieを有効にしないと、Tableau Serverの使用はままならないということがわかりました。

Tableau ServerにおけるサードパーティCookie

ついに本エントリの核心部分に入ります。

Tableau Serverにパブリッシュしたビューは、他サイトに埋め込むことができます。通常、そのビューを閲覧するためには、埋め込みビューを表示する段階で、Tableau Serverのログイン情報を改めて入力しなければなりません。ただ、Tableau Serverユーザーが既にログインしているのに、埋め込むビュー閲覧時に、もう一度ログイン情報を入力するのは面倒です。

そういった事を避けるため、Tableau Serverには「信頼できる認証」という機能があります。当エントリで詳しく説明しませんが、これを設定しておくと、Tableau Serverユーザーが埋め込むビューを閲覧する時に、ログインの二度手間をしなくていいようになります。

ここで出てくるのがサードパーティCookieです。埋め込むビューは、その名の通り、Tableau Server以外のサイトにもビューを埋め込めるというものですが、そのサイトにとって、その埋め込まれたビューは「第三者的存在」ですよね。つまり、閲覧時には、サードパーティCookieが発行されます。

このサードパーティCookieについても、大体のWebブラウザでオン・オフの設定ができます。言うまでもないですが、サードパーティCookieがオフになっていると、埋め込むビューが閲覧できなくなる(信頼できる認証でTableau Serverの認証ができなくなる)ので、注意が必要です。

試験ガイドの「ブラウザでのサードパーティCookieの要件を理解する」ですが、要するにサードパーティCookieをオフにしていると、信頼できる認証を使った埋め込むビューの閲覧ができなくなる…ということを理解しておけばOKかと思います。

ちなみに、ほとんどのWebブラウザはCookie自体はオンになっていると思いますが、サードパーティCookieについてはデフォルトオフのブラウザもありますので、気をつけましょう。

おわりに

今回は小ネタのつもりで書いたのですが、小ネタの割にはちょっと文量が多くなってしまいました。大規模な情報ではありませんが、念の為おさえておきましょう。

参考