OpenIG自習室(第8回:OpenAM連携 Vol.1)

takaです。

第3回から第6回まで、OpenIGを使った代理認証機能について検証しました。

OpenIGはあくまでリバースプロキシなので、ログインアカウントを管理するわけではありません。
従って実際の運用環境では、シングルサインオンのアカウントは別システムで管理することになります。
そこで今回から、ForgeRock社が提供するアイデンティティ管理システム OpenAM とOpenIGとの連携について検証します。

まず今回はOpenAMのインストールを行います。
OpenAMのインストールや設定については以下のサイトも参考になりますので、ぜひご覧ください。

シングルサインオンとOpenAM – OpenAMで始めるシングルサインオン(2)
http://codezine.jp/article/detail/6319

OpenAMによるシングルサインオン(1)エージェント編
http://tech-sketch.jp/2013/06/openam.html

また、OpenAM関連情報は以下が参考になると思います。
セミナーや勉強会も開催されているので、興味のある方はいかがでしょうか。

OpenSSO & OpenAMコンソーシアム
http://www.openam.jp/

OpenStandia OpenAM最新情報(野村総合研究所)
http://openstandia.jp/oss_info/openam/

オープンソース・ソリューション・テクノロジ株式会社
http://www.osstech.co.jp/

検証作業は、以下の環境で実施しています。
前回、1サーバ上に環境をまとめました)

OS :Ubuntu 12.04 LTS
CPU:Intel Celeron 2.20GHz
MEM:2GB

検証サーバ: www.example.com (192.168.0.10)
アプリケーションサーバ(Apache2+PHP:ポート80)
OpenIGサーバ(Tomcat6:ポート8080)
OpenAMサーバ(Tomcat6:ポート18080)


1. 必要構成

OpenAMをインストールするにあたり、ForgeRock社のドキュメントには推奨構成が記載されています。
空きメモリ(OSや他のアプリケーションで使っている分とは別)が1GB以上、ハードディスク容量は特に言及されていません。

サーバの詳細な要件についてはOpenAM Administration Guide の Tuning OpenAMが参考になります。

JDKは1.5または1.6と書かれていますが、1.6が望ましいようです。
なおForgeRock社は、Oracle Java SE JDKで検証しています。

Webアプリケーションコンテナは、Apache Tomcat、GlassFishなどがサポートされています。
また、データストア(設定やアカウントの保存先)として、ForgeRock社のOpenDJ、MicrosoftのActive Directoryなどがサポートされています。

2. 事前準備(確認事項)

OpenAMをインストールするサーバは、ホスト名をFQDNで名前解決できる必要があります。
インストール前にOSの設定を行ってください。
なお、検証環境であればDNSではなくhostsファイルでの定義で十分です。
ファイアウォールは無効にしておくか、必要なポートを開放するようにしてください。

3. JDKのインストール

JDKのインストール方法については割愛します。
PATHおよび環境変数(JAVA_HOME、CLASSPATH)の設定を忘れずに行ってください。

4. Tomcatのインストール

Tomcatのインストール方法についても割愛します。
第7回も参考になるかと思います)
インストール後、環境変数(CATALINA_HOME、JAVA_OPTS)を設定します。
ここでは CATALINA_HOME(Tomcatのインストールディレクトリ)を /usr/share/tomcat6 とします。
JAVA_OPTS では、OpenAMの起動に必要なパラメータを設定します。

# export CATALINA_HOME="/usr/share/tomcat6"
# export JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m"

5. OpenAMのダウンロードと設置

ForgeRock社のダウンロードページよりOpenAMのzipまたはwarファイルをダウンロードします。
現時点(2013年8月)の最新安定版は10.1.0となっています。
なお、最新安定版のダウンロードにはユーザー登録が必要となります。

ダウンロード後は必要に応じて解凍し、Tomcatの場合 $CATALINA_HOME/webapps/ にwarファイルをコピーします。
コピー後、Tomcatを起動します。

6. OpenAMインストール

Tomcatを起動したら、http://www.example.com:18080/openam/ をブラウザで開きます。

初期設定画面が表示されるので、カスタム設定 の 新しい設定の作成 をクリックします。
OpenAMインストール - 初期設定画面

6-1. 一般
デフォルトユーザー(amAdmin)のパスワードを8文字以上で設定します。
amAdminはOpenAMの管理者ユーザーです。
設定が終わったら「次へ」ボタンをクリックします。
OpenAMインストール - 一般

6-2. サーバー設定
デフォルトで設定が入力されています。
サーバーURLとCookieドメインが合っているか確認して「次へ」ボタンをクリックします。
なお、プラットフォームロケールは en_US のままで構いません。
OpenAMインストール - サーバー設定

6-3. 設定データストア設定
最初のインスタンス を選択して「次へ」ボタンをクリックします。
OpenAMインストール - 設定データストア設定

6-4. ユーザーデータストア設定
OpenAMのユーザーデータストア を選択して「次へ」ボタンをクリックします。
外部データストア(OpenDJ、OpenLDAPなど)をお使いの方は、そちらを利用されても結構です。
なお、本番環境では外部データストアの利用が推奨されています。(サポートされていません、とありますが使うことは可能です)
OpenAMインストール - ユーザーデータストア設定

6-5. サイト設定
ロードバランサは使いませんので いいえ のままで「次へ」をクリックします。
OpenAMインストール - サイト設定

6-6. デフォルトのポリシーエージェントユーザー
次回触れますが、OpenAMではポリシーエージェントという外部プログラムを利用します。
この画面では、ポリシーエージェントのパスワードを設定します。
amAdminのパスワードとは別の文字列を設定して「次へ」をクリックします。
OpenAMインストール - デフォルトのポリシーエージェントユーザー

6-7. 設定ツールの概要と詳細
設定内容が表示されますので、内容を確認して「設定の作成」をクリックします。
OpenAMインストール - 設定ツールの概要と詳細

設定中の処理内容が表示されますので、しばらくそのまま待ちます。
OpenAMインストール - 設定中

設定が完了しました、と表示されますので、「ログインに進む」をクリックします。
OpenAMインストール - 設定完了

OpenAMのログイン画面が表示されます。
ユーザー名:amadmin、パスワード:先ほど設定したパスワード、でログインしてみましょう。
OpenAMログイン画面

これでOpenAMのインストール、および初期設定は完了です。

次回はOpenAMの詳細設定について触れます。
OpenIGとOpenAMを連携させるための設定を行い、ターゲットアプリケーションの認証をOpenAMで実施するようにします。


(参考サイト)

ForgeRock社のOpenIGドキュメント、および以下のサイトを参考にさせていただきました。

OpenAM 10.2.0-SNAPSHOT Installation Guide
http://openam.forgerock.org/openam-documentation/openam-doc-source/doc/install-guide/index.html

シングルサインオンとOpenAM – OpenAMで始めるシングルサインオン(2)
http://codezine.jp/article/detail/6319