みんな大好き SSO をやりましょう。OpenAM で SAML の IdP を作ります。
OpenAM のサーバを am.expamle.com という FQDN 名で立てます。あなたの使用しているドメインに読み替えてください。
OS は CentOS 7.6.1810 上に docker 1.13.1 がある状態で以下手順を実施しています。
(1)OpenAM のコンテナを起動する(初回起動)
$ docker run -d -h am.example.com -p 8080:8080 --name openam-01 openidentityplatform/openam
"am.example.com" というホスト名でコンテナを作って起動します。コンテナ名は "openam-01"、8080番ポートをホスト側にマッピング、イメージは "openidentityplatform/openam" を使います。
ダウンロードが終わればすぐに起動してきます。今回ダウンロードした OepnAM は Ver 14.1.17 でしたので、以下このバージョンの画面イメージです。
(2)OpenAM 管理画面に入り、デフォルト値で作成
ブラウザに管理画面のURLを入力します。今回は http://am.example.com:8080/openam/ です。その他デフォルト値で起動しましょう。「デフォルト設定の作成」を選びます。
(3)ライセンス確認
ライセンス確認画面が出ますので、よきにはからいましょう。
(4)管理パスワード設定
amAdmin と UrlAccessAgent のパスワードを決めます。両ユーザのパスワードを同一には設定できませんので違うのを入れます。忘れないようにどこか安全なところにメモっておきましょう。
「設定の作成」をクリックし、しばらく待つと完了します。ログインに進みましょう。
(5)ログインしTopLevelRealmを選ぶ
先ほど設定した amAdmin ユーザでログインします。
ログイン後、TopLevelRealm をクリックします。
(6)SAML 設定画面に入る
SAML設定画面に入ります。「Configure SAML V2 Provider」をクリックします。
(7)SAML IdP 設定画面に入る
SAML IdP となるための設定をします。「Create Hosted Identity Provider」をクリックします。
(8)IdPの設定
署名鍵の欄で今回は検証用ですので「test」を選び、新しいトラストサークル欄にトラストサークル名を入れます。今回はとりあえず「openam-01」としました。そして「設定」をクリック。
アイデンティティープロバイダが設定されました、と出れば完了です。
(9)IdPのメタデータを取得する
ここまでの設定で IdP ができあがりました。IdP のメタデータを SP に渡さなければいけませんが、IdP のメタデータはこちらから取得できます。
http://am.example.com:8080/openam/saml2/jsp/exportmetadata.jsp
XMLのデータが出てきますね。コレをあとで SP に渡しますので保存しておきましょう。
以上で IdP の作成は終わりです。サクッとできてしまいますね。本当に docker はありがたいです。
次は、追加の設定を少し行います。