OpenAM で SAML の IdP を作る

みんな大好き 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 はありがたいです。

次は、追加の設定を少し行います。

OpenAM に少し設定を追加する