2012年9月21日金曜日

OpenAM を使ってシングルサインオンを構築する (OpenDJ セットアップ編)

こんにちは。サイオステクノロジーの小川です。

今回は ForgeRock 社より提供されているシングルサインオンを実現するソフトウェア OpenAM のご紹介をします。

社内で運用するシステムが増え続けていくなかで、システムごとに ID が異なるために ID 管理の負荷がかかったり、各サービスのログインで毎回認証を求められて手間がかかるといった問題があるかと思います。

シングルサインオンの仕組みを取り入れることで、1 つの ID とパスワードで認証を行い、他のシステムの認証手続きを行わずにサービスを利用することができます。これにより、システム管理者やサービスを利用するユーザーへの負担を減らせるメリットがあります。

OpenAM は認証連携のデファクトスタンダードである SAML2.0 仕様に対応をしているため、同一の認証プロトコルを使用する Google Apps や Salesforce などのサービスでシングルサインオンを実現できます。

認証で使用するユーザー情報は LDAP ディレクトリサービスを使用して一元管理します。今回は LDAP を実装する Java ベースの OpenDJ を使用してユーザー情報の管理を行います。OpenDJ も ForgeRock 社より提供されているオープンソースソフトウェアです。

OpenDJ は CUI 及び GUI でセットアップが行えますので、以下に手順を記載します。本記事では CentOS6.3 64bit、OpenDJ 2.4.5 を使用しています。


・OpenDJ のパッケージをダウンロードする

1. ForgeRock 社のページより OpenDJ をダウンロードする。

# wget http://download.forgerock.org/downloads/opendj/2.4.5/OpenDJ-2.4.5.zip

2. OpenDJ のパッケージを解凍する。

# unzip OpenDJ-2.4.5.zip -d /opt/

3. OpenDJ のディレクトリに移動してセットアップを行う。

# cd /opt/OpenDJ-2.4.5


・CUI でセットアップを行う

1. setup スクリプトを実行してセットアップを開始する。

# ./setup

2. ディレクトリサーバで使用するルートユーザーの識別名を指定する。今回はデフォルトの Directory Manager を指定する。
What would you like to use as the initial root user DN for the Directory
Server? [cn=Directory Manager]:cn=Directory Manager

3. ルートユーザーで使用するパスワードを入力する。
Please provide the password to use for the initial root user: 
Please re-enter the password for confirmation: 

4. ディレクトリサーバが LDAP クライアントからの接続を受け入れるポート番号を指定する。今回はデフォルトの 389 番ポートを設定する。
On which port would you like the Directory Server to accept connections from
LDAP clients? [389]:389

5. OpenDJ の管理者コントロールパネルへの接続をする際に受け付けるポート番号を指定する。今回はデフォルトの 4444 番ポートを設定する。

On which port would you like the Administration Connector to accept
connections? [4444]:4444
6. ディレクトリ検索を行うために、ベースDN を作成するかどうかを選択する。今回は yes を指定する。
Do you want to create base DNs in the server? (yes / no) [yes]:yes

7. 今回は、ディレクトリ階層構造でトップレベルのドメインが example.com となるため、ベース DN には dc=example, dc=com を指定する。ベースとなるエントリを作成するので、「ベースエントリのみを作成する (dc=example.com, dc=com)」を選択する。
Provide the base DN for the directory data: [dc=example,dc=com]:dc=example,dc=com

8. 今回はベースエントリのみ作成するため、1 番を選択する。
Options for populating the database:

    1)  Only create the base entry
    2)  Leave the database empty
    3)  Import data from an LDIF file
    4)  Load automatically-generated sample data

Enter choice [1]:1

9. 今回は SSL は使用しないので、デフォルトの no を指定する。
Do you want to enable SSL? (yes / no) [no]:no

10. 今回は Start TLS は使用しないので、デフォルトの no を指定する。
Do you want to enable Start TLS? (yes / no) [no]:no

11. 設定完了後 OpenDJ サーバを起動するため、yes を指定する。
Do you want to start the server when the configuration is completed? (yes /
no) [yes]:yes

Setup Summary
=============
LDAP Listener Port:            389
Administration Connector Port: 4444
LDAP Secure Access:            disabled
Root User DN:                  cn=Directory Manager
Directory Data:                Create New Base DN dc=example,dc=com.
Base DN Data: Only Create Base Entry (dc=example,dc=com)

Start Server when the configuration is completed


12. これまでに指定したパラメータを使用してサーバの設定を行うため、1 番を選択する。
Start Server when the configuration is completed


What would you like to do?

    1)  Set up the server with the parameters above
    2)  Provide the setup parameters again
    3)  Print equivalent non-interactive command-line
    4)  Cancel and exit

Enter choice [1]:1

13. OpenDJ が起動する。

OpenDJ のコントロールパネルを起動する場合はインストールした OpenDJ の bin ディレクトリにある control-panel スクリプトで起動します。 また、OpenDJ サーバの起動、停止は start-ds、stop-ds スクリプトを使用します。

※ なお、OpenDJ の管理者コントロールパネルは GUI でのみ利用が可能です。


・GUI でセットアップを行う

1. setup スクリプトを実行してセットアップを開始する。

# ./setup

2. GUI でのセットアップが開始されるので、「次へ」ボタンをクリックする。



3. サーバー設定を行う。ホスト名に LDAP サーバのホスト名を入力し、パスワードを入力する。


4. トポロジオプションではデータレプリケーションの設定が行える。今回はレプリケーションを行わないため、「これはスタンドアロンサーバーになります」を選択する。



5. ディレクトリデータの画面に移る。今回は、ディレクトリ階層構造でトップレベルのドメインが example.com となるため、ベース DN には dc=example, dc=com を指定する。ベースとなるエントリを作成するので、「ベースエントリのみを作成する (dc=example.com, dc=com)」を選択する。



6. 実行時オプションでは Java 仮想マシン実行時に使用するオプションを設定できる。今回はデフォルトの設定を使用するため、変更せずに「次へ」ボタンをクリックする。


7. レビューの画面では、設定内容を確認することができる。問題なければ「完了」ボタンをクリックする。「構成が完了したらサーバーを起動する」にチェックを入れた場合は OpenDJ のサーバが起動する。



8. 設定完了の画面に移るので、「コントロールパネルの起動」ボタンをクリックする。



9.「OpenDJ 制御パネル - 管理するサーバー」のウインドウが開くので、3 番の手順で設定したパスワードを入力し、「OK」ボタンをクリックする。



10.「OpenDJ 制御パネル」のウインドウが開く。この画面で OpenDJ の管理が行える。


以上でセットアップは完了です。

以下に OpenDJ のインストールに関する記載がありますので、ご参照ください。


次回は Tomcat を使ったアプリケーションサーバの構築を行います。

0 件のコメント:

コメントを投稿