#概要
Cognos Analytics 11.1をインストール後、カスタム認証プロバイダーをセットアップする手順です。
カスタム認証のセットアップにより、認証機能を実装する事ができます。
ユーザーのIDやパスワード情報は、Db2のデータベーステーブルに持ちます。
インストールを未実施の方はこちらから実施ください。
Cognos Analytics 11.1 インストール手順
https://qiita.com/shinyama/items/fbaf4a81f33de79e4687
#カスタム認証 セットアップ
Cognos コンポーネントは、匿名と認証の 2 つのアクセス・レベルで実行されており、デフォルトでは、匿名アクセスが有効になっています。
認証ログオン を使用するには、認証プロバイダーを設定します。
ここでは、カスタム認証 をセットアップし、Cognos Analyticsで認証ログオンができるように設定します。
カスタム認証では、データベース上のユーザー情報を使用して認証をします。
前提として、Cognos SDK と JDK 1.8.0 が導入されており、JDKにPATHが通っている必要があります。
JDKはOracleのサイトからダウンロードすることができます。
今回は、モジュール jdk-8u201-windows-x64.exe を導入しています。
JDKにPATHが通っているかを確認するには、java -version を実行します。
#1 ユーザー情報を保持するデータベース作成
Db2にユーザー情報を保持するデータベース(CJAPCA11)を作成します。
DB2 コマンド・ウィンドウなどで、CREATE DATABESE コマンドを実行します。
>db2 create db CJAPCA11
作成したデータベース(CJAPCA11)に接続します。
ここで ユーザー db2admin でデータベースに接続するように、ユーザー名とパスワードを指定します。
※ 実行例では、パスワードは'XXXXX'でマスキングしています。
>db2 connect to CJAPCA11 user db2admin using XXXXX
#2 ユーザー登録
フォルダ <Cognos_install_path>\sdk\java\AuthenticationProvider\JDBCSample に移動し、db2 -tvf dbInit_db2.sql を実行し、テーブルを作成します。
db2 list tables コマンドでテーブルを確認します。
3つのテーブル GROUPS、OBJECTVIEW、USERS が作成されていることが確認できます。
>db2 list tables
ユーザー(cogadmin)をUSERS テーブルに登録します。
ここでは、USERS テーブルの各列に以下の情報を入れます。
・ USERID: 1
・ USERNAME: cogadmin
・ PASSWORD: (※ 'XXXXX' でマスキングしています)
・ FULLNAME: cognosadmin
・ EMAIL: cogadm@email
・ LOCALE: jp
・ TENANT: 1
>db2 "insert into USERS values(1,'cogadmin','XXXXXX','cognosadmin','cogadm@email','jp','1')"
グループ(GRO01)をGROUPSテーブル に登録します。
ここでは、GROUPS テーブルの各列に以下の情報を入れます。
・ GROUPID: 1
・ GROUPNAME: GRP01
・ USERID: 1
・ TENANT: 1
>db2 insert into groups values(1,'GRP01',1,'1')"
#3 build.bat 実行
フォルダ <Cognos_install_path>\sdk\java\AuthenticationProvider\JDBCSample にてbuild.batを実行します。
build.batを実行すると、フォルダ <Cognos_install_path>¥sdk¥java¥AuthenticationProvider¥JDBCSample にCAM_AAA_JDBCSample.jar が作成されます。
#4 CAM_AAA_JDBCSample.jar 配置
作成されたCAM_AAA_JDVCSample.jar をコピーし、フォルダ <Cognos_install_path>¥webapps¥p2pd¥WEB-INF¥lib に配置します。
#5 JDBC_Config_Restorable.properties 設定
フォルダ <Cognos_install_path>¥sdk¥java¥AuthenticationProvider¥JDBCSample¥configuration にあるJDBC_Config_Restorable.properties をコピーし、フォルダ <Cognos_install_path>¥configuration に配置します。
フォルダ <Cognos_install_path>¥configuration に配置したJDBC_Config_Restorable.properties を編集します。
下図の赤枠の部分の '#XXX#' を修正します。
以下に、JDBC_Config_Restorable.properties の記載例を示します。
'#XXX#' の修正箇所は赤文字で表示しています。
※ ホスト名(#server#)とパスワード(#password#) は 'XXXXXX' にマスキングしています。
#6 Cognos Configuration 設定
Cognos Configuration を起動し、左側メニューから「セキュリティー」 > 「認証」を右クリック、 「新リソース」 > 「ネームスペース」 クリックし、認証ネームスペースを作成します。
ネームスペースは以下の通り設定します。
・ 名前: Restorable
・ タイプ: カスタム Java プロバイダー
作成したネームスペース (Restrable) のリソース・プロパティーを設定します。
左メニューの「セキュリティー」 > 「認証」 > 「"設定したネームスペース名(ここでは Restorable)"」 を開きます。
リソース・プロパティーは以下の通り設定します。
・ ネームスペースID: Restorable
・ Javaクラス名: RestorableJDBCSample
「セキュリティー」 > 「認証」 > 「"設定したネームスペース名(ここでは Restorable)"」 を右クリックし、作成したネームスペースへのログオン テストを実行します。
ユーザーID と パスワード には、[2 ユーザー登録] でUSERSテーブルに登録した情報を入力します。
下図のように、全てに緑のチェックマークがついたことを確認したら、テスト完了です。
#7. 匿名アクセス 無効化
IBM Cognosコンポーネントは、デフォルトではユーザー認証は要求されず、匿名でアクセスすることができます。
ユーザー認証でのみアクセスを許可したい場合、IBM Cognos Configuration で匿名アクセスを無効に設定します。
左メニューの「セキュリティー」 > 「認証」 > 「Cognos」 を開きます。
リソース・プロパティーにて、「匿名アクセスを許可」項目を「無効」に設定します。
#8 再起動
設定を保存し、Cognos Analytics を再起動します。
保存が完了したら、下図の赤枠の 再起動ボタンをクリックし、Cognos Analyticsを再起動します。
再起動が完了したら、Cognos Analytics を開きます。
URL: http://CognosサーバーのIPアドレス:9300/bi
画面右上の「個人用メニュー」アイコンから「サインイン」をクリックすると、サインイン画面が表示されます。
※ Cognos Configuration で匿名アクセスを無効に設定している場合は、そのままサインイン画面が表示されます。
サインイン画面で、設定したユーザーIDとパスワードを入力し、「サインイン」ボタンをクリックします。
#自己学習記事一覧
Cognos Analytics をエンドユーザーの方に自己学習して頂くためのサイト
https://qiita.com/shinyama/items/95885c7246dc413b6448