マルチクライアント・ユーザーグループ

## 1. はじめに
Yellowfin 9.4 から、デフォルト組織で作成するユーザーグループが、全てのクライアント組織で表示・使用することができるようになりました。[Wiki](https://wiki.yellowfin.co.jp/pages/viewpage.action?pageId=17957499) にも機能の紹介と、具体的な使用例が載せられています。その内容を、もう少しかみ砕いて紹介したいと思います。

## 2. 全てのクライアント組織で表示
ユーザーグループの作成画面の中に、「グループの見える範囲：全てのクライアント組織で表示」 選択肢があります。これを選択すると、デフォルト組織で作成するグループが、全てのクライアント組織でも使用できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/866e9e76-661b-422d-42a0-e6b2abd0e5e5.png)

ただ、グループメンバーをはじめ、グループの管理を行うことができるのは、デフォルト組織からのみです。クライアント組織からはグループ名とメンバーが参照できるだけです。ユーザーグループの運用をデフォルト組織で集中的に行いたい場合に便利な機能と言えます。

## 3. ユーザーグループの設計例１（社内利用）

#### 3-1. 前提
デフォルト組織 (本社機能) 配下にクライアント組織 (経理部、営業部、製造部) が 3 つ位置する組織を想定します。
運用要件としては以下の通りとします。
・全社で共通するコンテンツはデフォルト組織でまとめて管理
・各組織で必要なコンテンツは組織毎に管理
・ユーザーやユーザーグループ管理などのリソースはデフォルト組織で実施

#### 3-2. 設計
以降、①～⑧は図内の番号と合わせてご確認ください。

①各組織のユーザー配置は以下の通りです。デフォルト組織とクライアント組織の両方に所属しています。 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/8a254ff1-81a9-3651-07da-7fc0c4476777.png)

②全社共通で使用する目的の、各クライアント組織に所属する部長レベルの社員を集めた「部長」ロールと、担当レベルの社員を集めた「担当社員」ロールを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/3ce2a475-6338-3a0f-8df7-52f00eaf2a75.png)

③デフォルト組織でユーザーグループを作成します。ここでは「部長」グループと「担当社員」グループを作成し、それぞれに②で作成したロールをメンバーとして追加します。このロールをメンバーとして追加するのがミソです。デフォルト組織側でこれらユーザーグループのメンバーを確認すると、各クライアント組織に所属する 社員も含め、それぞれの役割の社員がメンバーとして所属していることが確認できます。
④ユーザーグループの「グループの見える範囲」を「全てのクライアント組織で表示」とします。デフォルト組織で作成したユーザーグループが、全てのクライアント組織で表示されます。
⑤各クライアント組織でユーザーグループのメンバーを確認すると、それぞれの組織に所属する社員のみがメンバーに加わっています。例えば、クライアント組織 1 の担当社員グループには、経理部に所属するユーザーだけがメンバーとして確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/b4100e6e-87c4-3205-1c8d-fa3a6b41e64a.png)

⑥経理部の担当者を例に取って説明します。全社共通で共有するコンテンツに対してアクセスして、閲覧などすることができます。
⑦全社で共通して見て欲しいコンテンツに関しては、ユーザーグループに対してデフォルトダッシュボードとして割り当てることもできます。その際、[アクセスフィルター](https://wiki.yellowfin.co.jp/pages/viewpage.action?pageId=2294281)と組み合わせることで、所属組織に関するデータだけを表示するような制御も可能です。
⑧各組織で独自に必要なコンテンツを管理させるような運用も可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/318f9155-84b0-f509-890c-1bc684c15651.png)

## 4. ユーザーグループの設計例2（社外へのサービス展開）

#### 4-1. 前提
サービス提供者であるデフォルト組織配下に、顧客単位のクライアント組織が位置する構造を想定します。
運用要件としては以下の通りとします。
・クライアント組織側はデフォルト組織が提供するコンテンツを閲覧するのみ
・ユーザーやユーザーグループ管理などのリソースはデフォルト組織で集中的に管理

#### 4-2. 設計
以降、①～⑦は図内の番号と合わせてご確認ください。

①各組織へのユーザーの配置は以下の通りです。サービスを受ける顧客側のユーザーは、それぞれのクライアント組織にのみ所属しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/576ebb5e-a556-60b6-5f02-180a9d07416e.png)

②全体で共通して使用する目的の閲覧者ロールを作成し、クライアント組織に所属する顧客のユーザーを全てこのロールと結びつけます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/7e90b01c-8cfe-7299-a72a-df51edcc6099.png)

③「閲覧者」グループを作成し、②で作成したロールをメンバーとして追加します。ここでもロールをメンバーとして追加するのがミソです。
④ユーザーグループの「グループの見える範囲」を「全てのクライアント組織で表示」とします。デフォルト組織で作成したユーザーグループが、全てのクライアント組織で表示されます。
⑤各クライアント組織でユーザーグループのメンバーを確認すると、それぞれの組織に所属する社員のみがメンバーに加わっています。例えば、〇X商事の閲覧者グループには、〇X商事の社員だけがメンバーとして確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/701798b5-80cb-b8b8-532c-b11c06c11d94.png)

⑥〇X商事のユーザーを例に取って説明します。各社で共通するコンテンツを管理する場合、ユーザーグループに対してデフォルトダッシュボードとして割り当てることもできます。その際、[アクセスフィルター](https://wiki.yellowfin.co.jp/pages/viewpage.action?pageId=2294281)と組み合わせることで、各社に関するデータだけを表示するような制御も可能です。
ISV など数多くの顧客を抱える企業にとって、個別のダッシュボードを作成することは、コスト増につながりがちです。各社に共通するダッシュボードを作成し、セキュリティを担保しながら、このダッシュボードを各社に提供する形態を取ることで、効率的なサービス展開にもつながります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/3326d38b-2866-91d5-a2be-265cb089b637.png)

## 5. 最後に
自社で Yellowfin を利用する場合だけでなく、外部向けサービスとして Yellowfin の分析画面をサービス提供する時にも大変便利な機能です。顧客単位でクライアント組織を作成してセキュリティを担保しながら、サービス提供者がデフォルト組織で集中的にユーザーグループを管理するような運用に向いています。
今回はあくまで運用の一部例を紹介しましたが、様々な運用に用いることができる機能だと思います。

では皆様、良いデータ分析を! Cheers!