概要
Cognos Analyticsで、httpsでのアクセスを可能にするためには、3rdパーティーのSSL証明書を入手し、Cognosに登録する必要があります。
基本的には、以下のTechnoteに沿って行いますが、意外とはまるポイントがありますので、手順を投稿しておきます。
How to add a 3rd Party CA to allow for SSL between components in IBM Cognos Analytics 11
http://www-01.ibm.com/support/docview.wss?uid=swg21992784
手順
手順はrootユーザーでの実施となります。
1).JAVA_HOME環境変数を設定
export JAVA_HOME=/opt/ibm/cognos/analytics/jre
2). Cognos Analyticsサービスを停止
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh -stop
3).configurationフォルダのバックアップ
この後、configurationフォルダ配下のファイルやフォルダを消す処理があるので、バックアップを取得しておきます。
cd /opt/ibm/cognos/analytics
tar -cvf /backup/cogconfiguration.tar ./configuration
4).Cognos Configurationの設定を複合化してエクスポート
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh -e ../configuration/cogstartup.decypt.xml
※GUI環境であれば、Cognos Configurationを起動して、「ファイル」→「名前を付けてエクスポート」でも大丈夫です。
5).色々フォルダ削除。既存の暗号キーストアなど全部削除します。
cd /opt/ibm/cognos/analytics/temp/cam
rm -rf ./freshness
cd /opt/ibm/cognos/analytics/configuration
rm -rf ./caSerial
rm -rf ./csk
cd /opt/ibm/cognos/analytics/configuration/certs
rm ./CAMKeystore
rm ./CAMKeystore.jks
rm ./CAMKeystore.lock
rm ./CAMKeystore.status
6).cogstartup.xml の置き換え
cd /opt/ibm/cognos/analytics/configuration
mv cogstartup.xml cogstartup.backup.xml
cp -p cogstartup.decypt.xml cogstartup.xml
7).CSR作成 ※署名リクエスト(Certificate Signing Request)
SSL証明書を認証機関から取得するために、CSRファイルを生成して送る必要があります。
CSRファイルは、以下のコマンドで作成します。
cd /opt/ibm/cognos/analytics/bin
./ThirdPartyCertificateTool.sh -c -e -d "CN=aaaa, OU=bbbb, O=cccc, L=dddd, ST=eeee, C=ffff" -r encrypt.csr -p NoPassWordSet
※aaaa,bbbb,cccc,dddd,eeee,ffffは、環境に応じて変更します。何を指定するかは認証機関に確認します。
重要
ここで、Cognosの起動や、Cognos Configurationの保存など、何らか環境に変化が生じる事を行ってはいけません。
そうは言っても、証明書発行まで数日かかるから、Cognosをずっと止めておくのは厳しいのだけど、という場合は、Cognos起動してしまって、SSL証明書が届いて、以降の操作(8)を行う前に、前述の操作(1)-(7)を再度実行して下さい。
この状態をしっかり整えてSSL証明インポートを行わないと、CAM-CRP-1254 で java.lang.NullPointerException のエラーとなります。
また、CSRの作成から証明書インポート実施まで、一ヵ月間の間に実施する必要があります。
8).証明書配置
証明書は以下が届きます。
暗号化証明書:encrypt.cer というファイル名とします。
CAルート証明書:ca.crt というファイル名とします。
上記のファイル及び、先のencrypt.csr ファイルを、以下のフォルダに配置します。
/opt/ibm/cognos/analytics/bin64
※ThirdPartyCertificateTool.shツールはbinフォルダに存在しますが、上記ファイルの配置はbin64で正しいです。
9).暗号化証明書インポート
cd /opt/ibm/cognos/analytics/bin
./ThirdPartyCertificateTool.sh -i -e -r encrypt.cer -p NoPassWordSet -t ca.crt
10).CAルート証明書インポート
cd /opt/ibm/cognos/analytics/bin
./ThirdPartyCertificateTool.sh -i -T -r ca.crt -p NoPassWordSet
11).Cognos ConfigurationのSSL設定
Cognos Configurationを起動し、以下の箇所を変更します。
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh
「セキュリティ」→「暗号化」→「共通対称鍵ストアのパスワード」= NoPassWordSet
「セキュリティ」→「暗号化」→「Cognos」→「鍵ストアのパスワード」= NoPassWordSet
「セキュリティ」→「暗号化」→「Cognos」→「認証局設定」の「パスワード」= NoPassWordSet
「セキュリティ」→「暗号化」→「Cognos」→「認証局設定」の「サード・パーティーのCAを使用」= 有効
「環境」→「ゲートウェイ用ディスパッチャー URI」= https に変更
「環境」→「外部ディスパッチャー URI」= https に変更
「環境」→「内部ディスパッチャー URI」= https に変更
「環境」→「外部アプリケーション用ディスパッチャー URI」= https に変更
「環境」→「Content Manager URI」= https に変更
※GUIの無い環境の場合、先に作成したcogstartup.decypt.xmlの該当の箇所を書き換え、以下のコマンドでcogstartup.xmlに置き換えます。
cp -p cogstartup.decypt.xml cogstartup.xml
12).Cognos Analyticsサービス起動
cd /opt/ibm/cognos/analytics/bin64
./cogconfig.sh -s
これでSSL実装できました。
ブラウザから、https://hostname:9300/bi/ でアクセスしてみてください。
おまけ
鍵ストアに何が入っているのか見るにはikeymanが使えます。※GUI環境で実施
/opt/ibm/cognos/analytics/jre/bin/ikeyman
ファイルを開く際に、ファイル形式を PKCS12 に指定して、以下のファイルを開いてください。
/opt/ibm/cognos/analytics/configuration/certs/CAMKeystore
以上です。
割と苦労しましたので、お役に立ててもらえるとうれしいです。