Cognos Analyticsでのマルチテナントの設定

##概要
Cognos Analyticsでのマルチテナントの設定手順です。

マルチテナントとは、Cognos上のフォルダやパッケージ、レポートなどのオブジェクトを、特定の属性を持ったユーザーに紐付けて、見せるものを分ける実装を言います。
権限管理の機能で、特定のオブジェクトを紐付けるのはグループやユーザーに直接ですので、属性という点が異なっています。
![001.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/41041f39-292d-73e0-1d40-fdd0c57d7ccf.png)

ちなみに、元ネタはこちらです。
**How to setup Multitenancy in Cognos Analytics**
https://www.youtube.com/watch?v=ckGAOCqYQZs

##手順
LDAPでユーザーの属性に「businessCategory」という属性を付与し、値として「Tenant1」を保持しています。
ユーザーの一覧で、末尾がT1のものが「Tenant1」、T2が「Tenant2」、T3が「Tenant3」に相当します。
![002.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/d3c2b390-5522-2d10-14a9-c64169c8977c.png)

Cognos Configurationを開きます。
認証のLDAPのネームスペース(ここではMultitenancyという名称)のMultitenancyの下の「Tenant ID Mapping」で、画面のようにType=「Pattern」、Valueを「～/parameters/parameter_name」とします。
![003.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/99188e71-8163-cead-2e0e-babed2222982.png)

次に、一番下のCustom propertiesで、NameとValueを以下の記載にします。
Nameは、先ほどCognos Configuration上で登録したパラメーター名、ValueはLDAP上の属性名である事がわかります。
![004.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/54a43425-fce3-5b10-12d2-c6c6043a2a29.png)

この状態でLDAPのテストをTenant1の属性をもったユーザーで行ってみると、図のようにTenant IDが表示されます。
![005.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/ba48cdcf-47c1-73a0-39ce-0d4a15c07305.png)

次に、Cognos Analyticsにアクセスし、Manageから「Multitenancy」を選択し、テナントの追加を行います。
Nameは任意の名前、TenantidはLDAP上の属性「businessCategory」の値を記載します。
![006.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/28ac799a-f6ce-4516-2b73-6b7eae13034d.png)

「Enable」で各テナントをEnable化します。
![007.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/91675348-aded-8853-0df1-10d91fb72e51.png)

次に、Team contentsから各フォルダのプロパティから、Tenantを特定のテナントIDに指定します。
FolderA = Tenant1
FolderB = Tenant2
FolderC = Tenant3
という紐付けにしています。
![008.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/431a5027-7948-3c6e-982a-0f9c46eb869a.png)

Tenant3の属性を持つユーザーでログインします。
![009.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/94a8aea4-5a1f-0c05-6866-c726809b07e9.png)

図のようにFolderCのみが表示されます。
また、テナントへのマッピングを行っていない、「great_outdoors_sales_en」「Samples」は全員に見えます。
![010.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/990b5b26-ed27-5809-c9c6-d6b475e21b01.png)

次に、特定のユーザーに対して、複数のテナントをマッピングする手順です。
LDAP属性で、「departmentNumber」を追加し、Tenant1とTenant2をValueに指定します。
![011.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/36aa98eb-2216-d80c-7894-da82dc4d8690.png)

Cognos Configurationの「Tenant Bounding Set Mapping」で図のように指定します。
![012.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/5d52dacf-e40f-9255-753b-6a3685e95067.png)

「Custom properties」も図のように設定します。
![013.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/b6917553-4b11-371b-29cc-dd66c4e1ee1f.png)

LDAPテストを行うと、追加した2つのテナントも表示されます。
![014.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/7e48e9c3-a43f-1e67-3265-319395c7a426.png)

先ほどのユーザーでログインします。
![015.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/548db384-81fe-c7dd-efc4-e15ebf6cdf95.png)

テナント1、テナント2のフォルダーも参照する事ができるようになっています。
![016.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/d64c6b0c-a3e7-8cc2-ffcd-8d0831697832.png)

以上です。
わりと簡単な手順で、LDAPの属性を利用して、マルチテナント化が設定できるのがお分かり頂けたかと思います。
是非ご活用下さい。