シングルサインオンをSAMLで連携してみた

2024年3月23日検証してみた

証明書作成(WebFOCUS側)

SAMLアサーションで使用する証明書を作成します。WebFOCUS製品内にも初期状態で証明書は内包していますが、今回の連携用に新規作成します。
Keytoolコマンドを使用して作成します。作成した証明書は、キーストア[wfKeystore.jks]内へ格納します。
WebFOCUSがインストールされたサーバへログインして下記のコマンドを実行します。

# WebFOCUSインストール先のキーストア格納フォルダへ移動
cd C:\ibi\WebFOCUS82\config\was
# WebFOCUSインストール先のキーストア格納フォルダへ移動
cd /home/webfocus/ibi/WebFOCUS82/config/was

証明書の作成

# 既存のキーストア[wfKeystore.jks]へ証明書を作成・格納
keytool -genkey -alias webfocus2 -keyalg RSA -keysize 2048 -keypass <任意のパスワード> -storepass store10121 -validity 3650 -keystore wfKeystore.jks -dname "CN=B1911-43-01, OU=Information Infrastructure Group, O=K.K.Ashisuto, L=Chiyoda-ku, ST=Tokyo, C=JP"

新規のキーストアも作成することが可能です。キーストアの名称やパスワード、エイリアス名なども任意のものが指定できます。必要に応じて変更してみてください。

SPメタデータ生成(WebFCOUS側)

WebFOCUSのSAML認証用設定とSPメタデータの作成を実施します。

代替ゾーンを設定する

管理コンソールへアクセスする

http://WebFOCUS導入先/ibi_apps/admin

[セキュリティ]タブ – [セキュリティゾーン]を選択
[代替]を有効にする

代替ゾーンは、デフォルトの認証ゾーンとは別の認証圏として設定することができます。
代替ゾーンには、あらかじめ「127.0.0.1」からの接続が含まれていますので、デフォルトゾーンで、SAML認証を設定した場合でも、WebFOCUS導入先ホスト自身からの接続であれば、SAML認証連携が適用されないこととなります。

証明書の選択

管理コンソールへアクセスする

http://WebFOCUS導入先/ibi_apps/admin

[セキュリティ]タブ – [セキュリティゾーン] – [デフォルト] – [認証]を選択

画面右端の[キー管理…]を選択

キーストアファイルのパスが、証明書作成時に使用したキーストアのパスと一致しているかどうか確認
一致していない場合は、証明書作成時に指定したキーストアファイルのパスを指定
※パスワードを変更している場合は、キーストアのパスワードも指定

[追加…]ボタンをクリック

証明書作成時に指定したエイリアス名とパスワードを指定
デフォルト証明書エイリアスをチェック

[OK]ボタンをクリック

指定したエイリアスが追加されていることを確認して、[OK]ボタンをクリック

SPメタデータ生成

SP(WebFOCUS)のSAML設定をメタデータへ出力します。

引き続き、管理コンソールへアクセスする

http://WebFOCUS導入先/ibi_apps/admin

[セキュリティ]タブ – [セキュリティゾーン] – [デフォルト] – [認証] – [SAML認証]を選択して、[編集…]をクリック

[署名証明書エイリアス]と[暗号化証明書エイリアス]で、証明書作成時に指定したエイリアス名を選択する

※選択肢に期待するエイリアスが表示されない場合は、前述の証明書の選択を実施・再確認する

[メタデータの生成]をクリック

[エンティティID]と[エンティティベースURL]が、ユーザーから名前解決できて、接続できる名前となっていることを確認する
※「localhost」などになっていると連携できない

今回は「Email」のチェックを外して、[生成]ボタンをクリック

「wfspMetadata.xml」ファイルがダウンロードされるので保存する

保存が完了したら、[キャンセル]ボタンをクリック

[OK]ボタンをクリック

[保存]ボタンをクリックする

生成したSPメタデータの配置

ダウンロードしたメタデータファイルをWebFOCUS導入先の下記フォルダへ配置します。

■Windows
WebFOCUS導入先ドライブ\ibi\WebFOCUS82\config\was\saml

■Linux
WebFOCUS導入先ディレクトリ/ibi/WebFOCUS82/config/was/saml