Cognos カスタム認証のセットアップ手順

Cognos BI & Analyticsでのカスタム認証のセットアップ手順書です。

##カスタム認証とは
カスタム認証とは、Cognosの認証にLDAPではなく、データベース上のユーザー情報を使って認証する、Cognos SDKで開発された認証モジュールです。
SDKを導入されるとサンプルとして同梱されている、JDBCSampleのセットアップ方法です。
Cognosの開発環境など、LDAPも無いけど、認証の仕組みを欲しいという環境で簡単に使えるのでご活用ください。

##セットアップ手順

**■ 前提**
画面キャプチャーはCognos Analyticsのものですが、同じ手順でCognos BIでも可能です。
前提として、Cognos Analytics or BI ServerがWindows環境に導入され、動作している事が前提です。
また、Cognos SDK及びJDK 1.8.0が導入され、JDKパスにPATHを通しています。

**■ ユーザー情報を保持するDBの作成**

データベースはDB2での手順となります。

データベースを以下のコマンドで作成し、接続します。
![001.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/08ea7d63-da59-aca4-8b0a-31e298a3f06d.png)

以下のフォルダに移動して、db2 -tvf dbInit_db2.sql を実行しテーブルを作成します。
![002.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/7fad227b-5240-a84e-88f5-d920adad817e.png)

以下の3テーブルが作成されています。
![003.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/6c202ddd-0e26-3547-8b10-004c4802c4c3.png)

cogadminというユーザーをUSERS表に登録します。
![004.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/44cdebea-e450-0864-9a45-3fb5e2810d87.png)

GRP01というグループをGROUPS表に登録します。
![005.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/8e5bb207-0f8b-9ef1-9108-7c5125a77676.png)

**■ 認証SDKモジュールの準備**

Javaのバージョンは以下で、パスが通っている事を確認します。
![006.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/3680d616-ea06-e731-388c-5882644cc6e7.png)

以下のフォルダで、build.bat を実行します。
![007.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/acdf9029-7b8c-6978-82d3-76ccbf3640f8.png)

SDK導入フォルダ配下の以下の場所に、CAM_AAA_JDBCSample.jar という認証モジュールが生成されます。
![008.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/9d85b2a3-60da-e18b-1c84-01483de59ebc.png)

このモジュールを、Cognos Analytics導入フォルダ配下の以下にコピーします。
![009.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/5b72dbcc-4ed2-66ca-883c-4299930052e7.png)

DB2の導入パスからJDBCドライバー(以下の3ファイル)を、Cognos Analytics導入フォルダ配下のこのフォルダにコピーします。
![001.JPG](https://qiita-image-store.s3.amazonaws.com/0/147246/51c7ef9c-7aac-789a-7758-89db5d4d2511.jpeg)


SDK導入フォルダ配下の以下の場所から、JDBC_Config_Restorable.propertiesファイルをコピーします。
![011.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/4a41b2d0-aef9-645c-9b92-83c53adfb415.png)

Cognos Analytics導入フォルダ配下の以下に添付します。
![012.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/eacb6ef1-2aaf-225e-323c-a6c822450506.png)

コピーした先で、ファイルをメモ帳等で開きます。赤枠の部分で#XXX#の箇所を編集します。
![013.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/27ce87c3-4813-afd3-7212-4c90925586c3.png)

参考までに以下の記載をしています。ホスト名とパスワードはマスキングしています。
![014.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/f84c5927-a70f-8223-a30c-07607bf4c657.png)

**■ Cognos Configurationの設定**

Cognos Configurationを起動し、認証のネームスペースを以下で作成します。
名前：Restorable
タイプ：カスタム Java プロバイダー
![015.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/9e2000d7-b874-af98-5d2c-1b945d886abb.png)

ネームスペースID：Restorable
Javaクラス名：RestorableJDBCSample
を指定し、
Restorableを右クリックし、テストを行います。
ユーザーIDはcogadminを入力します。
![016.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/2a4e79ae-1ead-6690-7e8a-affc79b743c2.png)

このように、全て緑チェックが付けばOKです。
![017.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/16719477-706c-773f-5245-27315486d07b.png)

Cognos Configurationを保存します。
![018.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/170d6021-e67b-d2c0-1bab-b45b81744e3f.png)

CognosサービスをCognos Configurationから再起動します。
![019.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/24b9466f-8b90-0269-419a-8f2d47d05c31.png)

起動完了後、Cognos Analyticsにアクセスします。
以下のような認証画面が表示されたら、cogadminとパスワードを入力します。
![020.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/68432bd8-feb8-19f3-7bc4-cd50b6e47bb9.png)

無事にcogadminでログインできました。
![021.PNG](https://qiita-image-store.s3.amazonaws.com/0/147246/8e6da6dc-a8e0-f045-8851-2e09aa3828d2.png)

#追加情報
こちらもご参照下さい。
**Cognos SDK サンプルのカスタム認証プロバイダでDB接続数増大を防ぐ修正**
https://qiita.com/shinyama/items/22e858818b56294710f6