Tableau 埋め込み分析 費用面と技術面の概要
公開日: 2023.05.25
この記事で学べること
- Tableauの埋め込み分析の実現方法の概要
- ダッシュボードを埋め込む
- WebアプリとTableauの認証の連携(シングルサインオン)
- エンドユーザーのデータをセキュアに管理する
はじめに
Tableauをご利用いただき(もしくはご検討いただき)ありがとうございます!この記事では、Tableauの埋め込み分析 (Embedded Analytics) に関して、実現方法の概要を紹介させていただきます。
記事の執筆時点から内容に変更がある可能性もございますので、詳細な最新情報はこちらから営業担当までお問い合わせいただき、この記事はあくまでも参考情報としてご確認いただけますと幸いです。また、全体を通してTableau Cloudのご利用を前提とした内容になっております。Tableau Serverの場合も基本的な概要は同じですが、一部異なる部分もありますので、詳細は営業担当までお問い合わせください。
Tableauで作成したダッシュボードは、Webアプリに埋め込むことができ、エンドユーザーにTableauのパワフルなビジュアルアナリティクスの機能を提供することができます。Tableauの公式サイトでも埋め込み分析についての紹介がありますので、まずはこちらをご覧ください。
Tableau 埋め込み分析 顧客にデータで価値を提供する埋め込み分析
なお、埋め込み分析は登場人物が多いため、Tableauをご契約いただく「Tableauにとってのお客様」をX社とし、X社が提供するWebアプリを使用する「X社にとってのお客様」をA社、B社、C社...(またはエンドユーザー)とさせていただきます。
TableauのダッシュボードをX社のWebアプリに埋め込むためには、主に以下の3つを考慮しながら、X社側で開発する必要があります。
- ダッシュボードを埋め込む
- WebアプリとTableauの認証の連携(シングルサインオン)
- エンドユーザーのデータをセキュアに管理する
1. ダッシュボードを埋め込む
TableauのダッシュボードをTableau Cloudにパブリッシュすると、URLを取得することができます。
このURLを以下のAPIで呼び出すことで、Webアプリにダッシュボードを埋め込みます。
埋め込むだけでなく、“Tableau”と記載されたツールバーを非表示にしたり、Webアプリのボタンからダッシュボードにフィルターをかけるような連携をさせたりすることもできます。また、REST APIも利用することで、Webアプリにログインしているユーザーが利用できるTableauのダッシュボードの一覧を、サムネイル化して並べて表示するようなことも可能です。
※無料のTableau Publicを埋め込む場合、“Tableau”の記載があるツールバーを非表示にすることはできません。
以下のアニメーションでは、エンドユーザーがWebアプリにサインイン後、ダッシュボードのサムネイル一覧から見たいダッシュボードをクリックして表示し、Webアプリ側のフィルターボタンでダッシュボードに表示される地域をUSに絞っています。ダッシュボード自体はTableauで作成したものをAPIで呼び出しており、ダッシュボード以外の部分はWebアプリ側で実装しています。
どのようなコードを書けばいいのかについては、Tableau Embedding Playgroundも参考にしてみてください。
※2023年5月時点で上記のPlaygroundは正式リリース前のDeveloper Previewとなっております(参考X (旧Twitter) )
2. WebアプリとTableauの認証の連携(シングルサインオン)
認証を連携せずにTableauのダッシュボードをWebアプリに埋め込んだ場合、ユーザーがWebアプリにサインインしてTableauのダッシュボードが埋め込まれた画面を開くと、Tableauのサインイン画面が表示されてしまいます。これでは二度手間となり、ユーザーフレンドリーではない体験になってしまうため、基本的にはシングルサインオン(SSO)できるように開発する必要があると言えます。
SSOを実現する方法は主に以下の二つが挙げられます。
- 外部のIDプロバイダー (IdP) を利用する(詳細はこちら)
- Connected Apps(接続済みアプリ)
Connected Appsの場合は外部のIdPが不要で、WebアプリとTableauをJSON Web Token (JWT)の連携によって認証します。いずれの場合も、Tableauのダッシュボードを閲覧する人は、Tableau側にユーザーとして登録されている必要があります。
Tableau側のユーザー登録は、Tableau Cloudの管理画面から以下のようなGUIで登録できます。また、CSVファイルのインポートや、REST APIでも登録できます。REST APIで自動化する場合はX社側での開発が必要になります。
※REST APIのライブラリはこちら(Python)
なお、Tableau Cloudの場合、多要素認証(MFA)が必須となっていますが、2023年5月時点では、埋め込み分析の場合はMFAを免除可能となっております。詳細はこちらのFAQの「MFA 要件が免除されているユースケースを自動有効化や適用からどのように除外できますか?」をご確認いただき、営業担当までお問い合わせください。
3. エンドユーザーのデータをセキュアに管理する
X社がWebアプリに埋め込んだTableauのダッシュボードをA社、B社、C社に展開する際、誤ってA社が他社のデータを閲覧できてしまうと、大問題になってしまいます。そのような事態を防ぐために、Tableau上で各社のデータを適切に出し分ける方法は主に以下の二つが挙げられます。
- 各社のデータやダッシュボードをプロジェクト単位で分割して個別管理
- 各社のデータやダッシュボードを分割せずに行レベルセキュリティで動的に表示を切り替える
各社のデータやダッシュボードをプロジェクト単位で分割して個別管理
Tableau Cloudでは、プロジェクトと呼ばれるフォルダのようなものを自由に構成でき、その中にワークブックやデータソースを格納することができます。このプロジェクトを各社ごとに作成し、その中に各社のワークブックやデータソースを格納することで、ワークブックやデータソースを各社ごとに分けて管理することができます。また、各プロジェクトごとに誰がアクセスできるようにするかパーミッションを設定することも可能です。
参考:プロジェクト管理画面のUI
この場合、ダッシュボードのデザインが同じであってもURLは各社ごとに異なるため、A社のユーザーならA社のURL、B社のユーザーならB社のURL、C社のユーザーならC社のURL、という形でURLを出し分けるようにWebアプリ側で実装いただく必要があります。また、例えばエンドユーザーの企業数が100社を超えるような規模になってくると、ワークブックやデータソースを100社分用意したり、ダッシュボードの更新時に100社分のワークブックを更新したりすることになり、手作業では限界があります。
REST APIのPublish WorkbookやUpdate Workbook Connectionなどを利用して開発すれば、ワークブックやデータソースの複製および接続先の変更を自動化できる可能性もありますが、X社がご利用中のDBやその構成によっては実現が難しい場合もありますので、事前の検証をお願いします。特に接続先の変更については、APIで実現できない場合、ワークブックやデータソースのファイル自体のXMLを直接修正するという方法もありますが、サポート対象外になりますので、自己責任で実施いただく必要があります。
※REST APIのライブラリはこちら(Python)
各社のデータやダッシュボードを分割せずに行レベルセキュリティで動的に表示を切り替える
行レベルセキュリティでは、同じダッシュボードをA社のユーザーが見るとA社のデータのみが表示され、B社のユーザーが見るとB社のデータのみが表示され...ということが実現できます。設定方法はヘルプや解説動画をご参照ください。
おわりに
以上がTableauの埋め込み分析 (Embedded Analytics) に関する実現方法の概要紹介となります。より詳細な内容や最新情報については、こちらから営業担当までお問い合わせください。
最後までお読みいただきありがとうございました。引き続きTableauのご利用もしくはご検討のほど、よろしくお願い致します。
公開日: 2023.05.25
この情報は役に立ちましたか?
ご意見お待ちしております。
フィードバックありがとうございます。
より役に立つために
役に立たなかった一番の理由を教えてください。