Yellowfinのマルチテナント機能
今回は、組み込み型BIで外部向けサービスを構築する際に、ほぼ必須要件になると言っても過言ではない、マルチテナント機能についてご紹介します。
外部向けサービスにBIツールを組み込んで使用する場合、契約している顧客ごとに安全な環境を提供するために、マルチテナント機能はほぼ必須の機能と言えるでしょう。テナントを分けずにユーザーアカウントに対して個別のアクセス権を付与するによって制御するという方法も考えられますが、顧客が増えるにしたがって管理が煩雑になることは目に見えています。
◎Yellowfin ケースブック – 組み込み導入編:自社製品・サービスに組み込んで利用している事例をCheck!
目次
マルチテナント機能とは?
マルチテナント機能とは、1つのインスタンスの中に複数の仮想インスタンスを作成することができる機能です。外部向けサービスでは、顧客ごとに仮想インスタンス(テナント)を作成して、サービスを提供するのが一般的かと思います。Yellowfinでは、クライアント組織機能を使用することで、マルチテナントを実現します。
クライアント組織とは?
クライアント組織は、親階層であるデフォルト組織、子階層であるクライアント組織の2階層で構成されています。
デフォルト組織では、レポートやダッシュボードを作成する他に、インスタンス全体のシステム設定を変更したり、クライアント組織を管理したりすることができます。インスタンス内にあるすべてのクライアント組織を管理するための組織ととらえていただいて構いません。
クライアント組織でもレポートやダッシュボードを作成することができます。よく、マルチテナントのデメリットとしてセキュリティ面が懸念されますが、クライアント組織は、それぞれテナントとして独立しているので、テナント内のユーザーが他のテナントのデータやコンテンツを参照することはできない仕組みになっています。
クライアント組織のセキュリティ機能
デフォルト組織で作成したコンテンツに関しては少し特殊で、すべてのクライアント組織で閲覧することができる仕組みになっています(編集することはできないので、安全にコンテンツを提供することができます)。これによって、サービス提供事業者は、デフォルト組織でコンテンツを作成・メンテナンスするだけで、すべての顧客に常に同時に最新のコンテンツを提供することができます。
ここで気になるのが、データのセキュリティです。
Yellowfinでは、「クライアントソース」もしくは「クライアント参照ID」を使用することで、データのセキュリティを確保します。
クライアントソースを使用したセキュリティ
外部向けに分析サービスを構築する場合、サービスの設計上の都合やセキュリティの観点から顧客のデータは各顧客向けに個別のデータベースに蓄積されている場合が多いと思います。顧客ごとにデータベースが物理的に分かれていれば、他の顧客のデータが混ざって表示されるなどのデータ漏洩のリスクが大幅に低減されますしね。
クライアントソース機能は、デフォルト組織で作成したコンテンツのデータソースだけを顧客のデータベースに置き換えることができる機能です。サービス提供事業者は、デフォルト組織で定義したデータソースに接続してコンテンツの作成およびメンテナンスをおこないますが、顧客がそのコンテンツを表示すると自社のデータベースのデータが見える、ということになります。
クライアント参照IDを使用したセキュリティ
提供しているサービスの内容によっては、すべての顧客のデータが1つのデータベースに蓄積されている場合もあると思います。こう言った場合に使用するのがクライアント参照IDです。すべての顧客のデータが1つのデータベースに蓄積されているとはいえ、顧客を識別するための識別子が振られているはずなので、この識別子でデータを絞り込んで表示することによって、他所の顧客のデータを見せないようにするという仕組みです。
Yellowfinでは、クライアント組織を作成するときに、クライアント参照IDという識別子を設定します。例えば、下の図のようなデータがあり、取引先ごとにテナントを用意する場合、取引先コードをクライアント参照IDとして登録することによって、強制的に取引先コードでデータを絞り込んで表示することができるようになります。
クライアント組織のカスタマイズ性
BIツールを組み込んだことによって、サービスのUIが損なわれてしまうようなことは避けたいですよね。例えば、ナチュラルで柔らかいイメージでデザインされているサービスの中に、クールでシャープなコンテンツが組み込まれていると組み込まれた部分が浮いてしまい、違和感のあるUIになってしまいます。
Yellowfinのデザインは、イメージやスタイルシートを使用してカスタマイズすることができるので、組み込み先のサービスのデザインに合うようにカスタマイズをすることによって、サービスに組み込んだ際に統一感を持たせることができます。
他にも、顧客に合わせてデザインをカスタマイズしたい、という場合もありますね。
Yellowfinでは、クライアント組織ごとに画面のスタイルやグラフの色などをカスタマイズすることもできるので、顧客ごとにそれぞれのブランドカラーを反映させたデザインを提供する、といったことも可能です。サービス利用者の立場からすると、デザインが自社のブランドイメージに近い色合いにカスタマイズされていると、ちょっとした特別感がありますよね。
まとめ
Yellowfinには、外部向けサービスに組み込む際に必要なセキュリティ機能と高いカスタマイズ性を備えたマルチテナント機能が搭載されています。また、すべてのテナント(顧客)向けのコンテンツを一元管理できるデフォルト組織の機能によって、サービスが成長してテナントが増えてもサービス提供事業者側の管理コストを抑えることができる仕組みがあります。
自社で提供しているサービスにBIを組み込みたいと考えている方は、是非お問合せください。