目的
SAML認証の構成は難しいので、Dockerとスクリプトで自動で構成できるようにします。
Gitレポジトリ
用意したGitレポジトリをクローンします。
git clone https://github.com/pdprof/security-auth.git
cd security-auth/saml-docker
Dockerイメージのビルド
LibertyとKeycloakのイメージをビルドします。まず、ブラウザでアクセスするホスト名を環境変数 ACCESS_HOST に指定します。ローカルでテストしている場合はlocalhost、リモートの場合はそのホスト名を指定します。
- 認証で使用するのでアクセス時のホストに一致させる必要があります。
- setup-docker.sh で docker の liberty(ol) と keycloak(kc) が開始します。
- Keycloakのビルドと起動後に100秒の待ち時間があります。環境によってはこの時間を延ばしてください。
export ACCESS_HOST=localhost
./setup-docker.sh
SAML認証の動作確認
にアクセスします。Keycloakの認証画面が表示されたら
Username: pdprof
Password: password
を入力して Sign In します。httpsの証明書エラーが表示されますが、問題ないものとしてアクセスを継続します。
が表示されれば成功です。
ブラウザでの Keycloak 構成確認
自動で構成されてしまう keycloak の構成を確認します。
にアクセスします。
admin
password
で Sign In します。
次の画面では変更する必要はありません。左側 の Clients をクリックして Client ID に
https://localhost:9443/ibm/saml20/defaultSP
があることを確認します。
自動ではなく手動で構成する場合の手順です。テーブル右上の Create ボタンを押します。
- Client Protocol に saml を選択
- Select file ボタンで setup-docker.sh を実行したディレクトリに spMetadata.xml があるので選択
- Save ボタンを押す
まとめ
LibertyでSAMLの構成を自動でできることを確認しました。作成された libertyの server.xml を、環境にあわせて構成を調整して応用しましょう。