Solaris 10 OS での Sun Java System Access Manager および Sun Java System Identity Manager のインストール、管理、使用執筆者: Jonathan Gershater、Suveer Chainani、Abdi Mohammadi、Jan Vanhaecht (2006 年 7 月) 目次
はじめにこの文書では、Solaris 10 オペレーティングシステム上での Sun Java Identity Management Suite のインストールと構成の概要を説明します。これらの作業では、Solaris 10 ソフトウェアの Solaris ゾーン機能および Service Management Facility 機能を活用します。 ここでご紹介するインストールと構成の手順は、http://docs.sun.com にある Sun の公式文書を参考にしていますが、ほかのアプローチも記載しています。この文書では詳細な手順、画面テキストの出力、およびスクリーンショットが使用されていますが、ユーザーはある程度 Sun Java Identity Management Suite を使用した経験があることが前提になっています。 また、トラブルシューティングやいくつかのベストプラクティスのガイドラインも掲載しています。この文書は、公式の Sun の文書を補完することを目的としており、公式の Sun の文書の代用となるものではありません。
図 1 1.0 Solaris 10 OS への Sun Java System Access Manager 7.0 (2005Q4 JES4) のインストールインストールソフトウェアは Sun.com から無料でダウンロードできます。ソフトウェアをダウンロードするには Sun ログイン ID が必要になります。 インストールの手順は、Sun Java System Access Manager 7 2005Q4 ドキュメントの『Sun Java Enterprise System 2005Q4 Installation Guide for UNIX』に記載されています。 次に示すのは、Solaris 10 OS 大域ゾーンで、デフォルトのディレクトリ、ユーザー名、パスワード、および TCP/IP ポートを使用して Solaris 10 OS を実行するサーバーインスタンスへの Sun Java Identity Management Suite のインストールの概要です。
1.2 Solaris 10 Service Management Facility を使用した Sun Java System Directory Server の管理 この記事で説明されているすべてのソフトウェアコンポーネントは、Solaris OS の Service Management Facility (SMF) を使用して管理できます。このためには、記事『Configuring Sun Java System Identity Manager as a Service for the Solaris 10 OS』を参照してください。 2.0 Solaris 10 OS ゾーンでの Identity Manager 6.0 (ID2005Q4M3) パックのインストール次に示す手順では、Solaris 10 OS 非大域完全ルートゾーンにおける、Java System Identity Manager のインストールの概要を説明します。このシナリオでは、Identity Manager のリポジトリは MySQL 4.1 で、アプリケーションサーバーは Sun Java System Application Server 8.1 です。 1. Identity Manager 用の完全ルートゾーンを作成します。これは、BigAdmin: The Zone Manager でも入手可能な 2. MySQL をインストールします。Identity Manager には、Web ページにサービスを提供するため、データとサーブレットエンジンを格納するためのリポジトリが必要です。このガイドの目的に合わせるため、MySQL データベースバージョン 4.1 をリポジトリとしてインストールし、Sun Java System Application Server 8.1 がアプリケーションサーバーとしてインストールします。
Solaris 10 OS は、 MySQL 4.1 Downloads から MySQL 4.1 をダウンロードします。また、MySQL Connector/J からダウンロード可能な MySQL 用の Java DataBase Connectivity (JDBC) ドライバも必要です。 MySQL 4.1 をインストールするための詳細な手順は、『MySQL 3.23, 4.0, 4.1 Reference Manual』に記載されています。 コーディング例 1 は、MySQL 4.1 インストールの概要です。 MySQL の起動 # bin/mysqld_safe --user=mysql & [1] 10553 # Starting mysqld daemon with databases from /usr/local/mysql4.1/data 次のように、デフォルトの 3306 ポートに接続して、サーバーが起動したことをテストします。 # telnet 127.0.0.1 3306 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. = 4.1.18-standardEmv)d@R[,Qe+AFzW#G}_ 起動スクリプト まずバックアップコピーを作成します。 # cp /etc/sfw/mysql/mysql.server /etc/sfw/mysql/mysql.server.OLD 新しくインストールした MySQL 4.1 が反映されるように # Set some defaults datadir=/usr/local/mysql4.1/data pid_file= if test -z "$basedir" then basedir=/usr/local/mysql4.1 bindir=/usr/local/mysql4.1/bin sbindir=/usr/local/mysql4.1/bin 上記手順に代わる方法としては、ソフトリンクを作成します。 ln -s /usr/local/mysql4.1/bin/mysqld_safe mysqld_saf 2.2 Sun Java System Identity Manager ID2005Q4M3 (Identity Manager 6.0) のダウンロードとインストール Sun Java System Identity Manager は、Sun Java Enterprise System の一部としてはダウンロードおよびインストールされません。Sun Java System Identity Manager は別途ダウンロードし、インストールする必要のある製品です。インストールソフトウェアは Webページ Solaris Enterprise System から無料でダウンロードできます。ソフトウェアをダウンロードするには Sun ログイン ID が必要になります。 2.2.1 Application Server 8.1 のインストール Java System Identity Manager には少なくとも 1 つのサーブレットコンテナが必要です。例 2 では、Java System Application Server をインストールしています。Java System Identity Manager をインストールするための手順は、『Installing Identity Install Pack for Sun Java System Application Server 8』に記載されています。 Sun Java Enterprise System CD を挿入し、 アプリケーションサーバーのインストールが完了すると、次のようなデフォルトのドメインが作成されているはずです。 [root@idmzone:/var/opt/SUNWappserver/domains] ls domain1 また、ドメインは次のように起動します。管理ユーザーパスワードを入力するプロンプトが表示されます。 [root@idmzone:/opt/SUNWappserver/sbin] ./asadmin start-domain domain1 --user admin Starting Domain domain1, please wait. Log redirected to /var/opt/SUNWappserver/domains/domain1/logs/server.log. Domain domain1 started. ブラウザを使用して
図 2 オプションで、次のように [root@solaris10:/usr/sbin] ln -s /opt/SUNWappserver/appserver/bin/asadmin asadmin
2.2.2 Identity Manager 6.0 のインストール JDK バージョン 1.4.2 がインストールされ、環境変数 [root@idmzone: /]export JAVA_HOME=/usr/java (soft link to /usr/jdk/j2sdk1.4.2_08) Java System Identity Manager をインストールするための手順は、『Installing Identity Install Pack for Sun Java System Application Server 8』に記載されています。 ダウンロードしたファイル ( [root@idmzone:/var/tmp/idm/IDPAK_2005Q4M3/db_scripts] mysql -uroot [ -ppassword ] < create_waveset_tables.mysql これで Identity Manager のインストールを始めます。コーディング例 3 は、インストールの概要です。 前述の 2.1 節でダウンロードしたデータベースライブラリファイルを [root@idmzone:/var/tmp/idminstall/WEB-INF/LIB] cp /var/tmp/mysqljdbc.jar . ライセンスファイルをインストールします。 [root@idmzone:/var/tmp/idminstall/bin] ./lh license set -f /var/tmp/sun-idm.xml License Information License is valid. Licensed to: Sun Microsystems Licensed Products: Identity Manager 2.2.2.1 Access Manager と統合するための手順 1. Sun Java System Access Manager サーバーからコピーされるファイルを配置するディレクトリを作成します。このディレクトリは、この文書の手順では
ターゲットディレクトリは 2. 次に示すファイルを [root@solaris10:/opt/SUNWam/lib]cp *.* /idmzone/idmzone/root/var/tmp/idminstall/cfgdir [root@solaris10:/opt/SUNWam/locale/]cp *.properties /idmzone/idmzone/root/var/tmp/idminstall/cfgdir [root@solaris10:/etc/opt/SUNWam/config]cp serverconfig.xml /idmzone/idmzone/root/var/tmp/idminstall/cfgdir [root@solaris10:/etc/opt/SUNWam/config]cp SSOConfig.properties /idmzone/idmzone/root/var/tmp/idminstall/cfgdir [root@solaris10:/etc/opt/SUNWam/config/ums/ums.xml] /idmzone/idmzone/root/var/tmp/idminstall/cfgdir 3. 次のようにアクセス権を変更します。 chmod a+r cfgdir/*.jar 4. [root@solaris10://idmzone/idmzone/root/var/tmp/idminstall/cfgdir]cp am_*.jar /var/tmp/idminstall/WEB-INF/lib 5. (注: JVM は Java プラットフォームの仮想マシン (Java Virtual Machine) を表します。 UNIX:cfgdir:cfgdir/am_sdk.jar:cfgdir/am_services.jar:cfgdir/am_logging.jar
図 3 6. ドロップダウンメニューから「JVM Settings」を選択して、JVM のオプションに
図 4 -Dwaveset.home=/var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm
図 5 7. コーディング例 4 のテキストを、次の場所にある [root@idmzone:/var/opt/SUNWappserver/domains/domain1/config] 8. 次のようにインストールディレクトリから [root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war * 9. 次のようにコマンド行を使用して [root@idmzone:/var/tmp/]asadmin deploy --host localhost --port 4849 --target server --contextroot /idm --user admin ./idm.war Please enter password> 10. これで IdM アプリケーションが配備されたはずです。
図 6 次のようにアプリケーションサーバーを停止し、再起動します。 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin start-domain -user admin domain1 11. Identity Manager を起動し、 /var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm/sample/init.xml
最後に 2.2.3 Identity Manager 6.0 Service Pack 1 のインストール サービスパックを展開します。 インストールファイルを実行可能にします。 chmod +x /var/tmp/idm/sp1/install
アプリケーションサーバーをシャットダウンします。 ./asadmin stop-domain domain1 サービスパックをインストールします。 /var/tmp/idm/sp1/install
2.3 Solaris 10 Service Management Framework を使用した Sun Java System Identity Manager の管理 この記事で説明されているすべてのソフトウェアコンポーネントは、Solaris OS の SMF を使用して管理できます。このためには、『Configuring Sun Java System Identity Manager as a Service for the Solaris 10 OS』の記事を参照してください。 3.0 Sun Java System Access Manager Policy Agent 2.2 のインストール1. Sun.comのSun Java System Access Manager Policy Agent 2.2 for Sun Java System Application Server 8.1 からエージェント 2.2 をダウンロードします。 2. エージェントを解凍します。 3. エージェントをインストールするには、『 Sun Java System Access Manager Policy Agent 2.2 Guide for Sun Java System Application Server 8.1』の中のドキュメントを参照してください。 インストール手順の概要を次に示します。 1. エージェントは、大域ゾーンの Java System Application Server インスタンスにインストールされます。JDK 1.4.2 がインストールされ、環境変数 [root@idmzone: /]export JAVA_HOME=/usr/java (soft link to /usr/jdk/j2sdk1.4.2_08) 2. Policy Agent プロファイルを作成します。 Access Manager Console で次の作業を実行します。この作業の主な手順には、エージェント ID およびエージェントパスワードの作成が含まれます。 1. 「アクセス制御」タブが選択された状態で、エージェントプロファイルの作成対象であるレルムの名前をクリックします。 2. 「対象」タブを選択します。 3. 「エージェント」タブを選択します。
ID: エージェントの名前または ID を入力します。 これはエージェントプロファイル名で、Access Manager へのログインにエージェントが使用する名前です。 複数バイト名は使用できません。例えば、Sjsappagent と入力します。 パスワード: エージェントのパスワードを入力します。このパスワードは、 LDAP 認証中にエージェントにより使用されるパスワードとは異なるものにします。 パスワード (確認): パスワードを確認します。例えば、sjspassword と入力します。 デバイスの状態: エージェントのデバイス状態を選択します。 デフォルトの状態は Active です。Active に設定されている場合、エージェントは Access Manager を認証し、通信することができます。 Inactive に設定されている場合、エージェントは Access Manager と認証することはできません。
1. 2. エージェントの 3. 大域ゾーンのエージェントプロファイルのパスワードを使用して、パスワードファイル 4. インストール 5. 次のようにコマンド行を使用して [root@idmzone:/var/tmp/sjsagent/j2ee_agents/am_as81_agent/etc/]asadmin deploy -- host localhost --port 4849 --target server --contextroot /agentapp -- user admin ./agentapp.war Please enter password> 3.1 Access Manager Policy Agent 2.2 AMAgent Properties ファイルの編集次の位置にある /var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config 次に示すとおり、4 行を見つけて編集します。警告: com.sun.identity.agents.config.profile.attribute.fetch.mode = NONE com.sun.identity.agents.config.profile.attribute.mapping[] com.sun.identity.agents.config.session.attribute.fetch.mode = HTTP_HEADER com.sun.identity.agents.config.session.attribute.mapping[Principal] = sois_user
これらの記述子の変更に進む前に、必要なバックアップを作成します。次の手順では配備記述子を変更するため、この時点でバックアップファイルを作成することが重要です。 次のようにアプリケーションの コーディング例 6 にはサンプルの
[root@idmzone]/var/tmp/]asadmin undeploy --user admin --target server idm 新しい [root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war * 続いて、新しい [root@idmzone:/var/tmp/]asadmin deploy --host localhost --port 4849 --target server --contextroot /idm --user admin ./idm.war Please enter password> Identity Manager URL ( 3.2 Identity Manager アプリケーションの一時的な保護解除 ポリシーエージェントが配置されているため、Identity Manager アプリケーションが保護され、そのためユーザーは Identity Manager にログインできません。したがって、次のように Identity Manager アプリケーションを一時的に保護解除します。 次の位置にある /var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/AMAgent.properties 次のように、この行の末尾にアスタリスクを追加します。 com.sun.identity.agents.config.notenforced.uri[0] = * (これによってすべての保護が無効になるため、あとでこの文書のセクション 5.2 で説明されている手順での再設定が必要となります。) アプリケーションサーバーを停止し、再起動します。 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin start-domain -user admin domain1 4.0. Sun Java System Access Manager 7 と Sun Java System Identity Manager 6 の統合4.1 Access Manager Resource Adapter の構成
セクション「 com.waveset.adapter.SunAccessManagerResourceAdapter 「保存」をクリックします。 通常の手順で新しい Sun Java System Access Manager リソースを作成し、ID テンプレートを正しく設定していることを確認します。 Access Manager サーバーのパラメータを入力し、接続をテストします。 4.2 管理ユーザーおよびエンドユーザーの Access Manager へのプロビジョニング 当該ユーザーに、Sun Access Manager リソース、管理する組織、およびすべての特権を割り当てます。 そのユーザーが Identity Manager のワークフロー内に作成され、 # ldapsearch -h hsolaris10.sun.com -b dc=,dc=sun,dc=com -D "cn=Directory Manager"
uid="adminuser"
Enter bind password:
version: 1
dn: uid=adminuser,ou=People,dc=sun,dc=com
sn: User
cn: adminuser
uid: adminuser
iplanet-am-modifiable-by: cn=Top-level Admin Role,dc=sun,dc=com
givenName: Admin
objectClass: inetAdmin
objectClass: top
objectClass: iplanet-am-managed-person
objectClass: iplanet-am-user-service
objectClass: iPlanetPreferences
objectClass: person
objectClass: organizationalPerson
objectClass: inetuser
objectClass: inetOrgPerson
inetUserStatus: Active
userPassword: {SSHA}oCG/EaVawHPSAgWZE9K/DUldTWyMVL4U9RCAaQ==
#
上記の管理ユーザーの手順に従い、エンドユーザーを作成します。そのユーザーには Sun Access Manager リソースを割り当てますが、管理する組織と特権は割り当てません。 そのユーザーが Identity Manager のワークフロー内に作成され、 # ldapsearch -h solaris10.sun.com -b dc=dc=sun,dc=com -D "cn=Directory Manager"
uid="enduser"
Enter bind password:
version: 1
dn: uid=enduser,ou=People,dc=sun,dc=com
sn: User
cn: enduser
uid: enduser
iplanet-am-modifiable-by: cn=Top-level Admin Role,dc=sun,dc=com
givenName: End
objectClass: inetAdmin
objectClass: top
objectClass: iplanet-am-managed-person
objectClass: iplanet-am-user-service
objectClass: iPlanetPreferences
objectClass: person
objectClass: organizationalPerson
objectClass: inetuser
objectClass: inetOrgPerson
inetUserStatus: Active
userPassword: {SSHA}7bTT6Ukp0oIAcaHSMQquHLs0Z0EUG0EVYn/MKQ==
これで
図 7 4.3 Access Manager Login Module の構成 Identity Manager 6.0 サービスパック 1 をインストールしていない場合、不具合の回避策についてはセクション 8 を参照してください。
図 8 4.4 Pass-through Authentication の構成 「設定」をクリックします。 「ログイン」をクリックします。 次の手順に従って、新しい Login Module Group を作成します。
ログインモジュールグループ名: Sun Java Access Manager ログインモジュールの割り当て: Sun Access Manager ログイン表示名: Access Manager ログイン成功条件: 十分条件 次のように引き続きフォームを完成させます。 ログインモジュールの割り当て: アイデンティティーシステム「ユーザーID/パスワード」ログインモジュール これを選択した場合、ページは「ログインモジュールの修正」ページに変更されます。 次のように「ログインモジュールの修正」フォームを更新します。 ログイン表示名: Lighthouse ログイン成功条件: 十分条件 「保存」をクリックします。 「保存」ボタンをクリックしてモジュールの定義を完了します。 「ログインアプリケーションに戻る」ボタンをクリックして「ログイン」ページに戻ります。 「ユーザーインターフェース」リンクをクリックします。
管理者インターフェースに対して同じ手順を繰り返します。 4.5 Identity Manager 用の Access Manager ポリシーの作成
レルムを選択します。 「対象」を選択します。 「ロール」を選択します。 次の手順で Identity Manager の管理ユーザー用に新しいロールを作成します。
Identity Manager のエンドユーザー用に新しいロールを作成します。
「アクセス制御」 > 「ポリシー」に移動します。
5.0 Identity Manager のログインおよびログアウト5.1 Identity Manager Logout の構成 Identity Manager からログアウトすると、通常は Identity Manager のログイン画面に戻ります。この文書のシナリオでは、次のようにするのが適切です。
このためには、Access Manager のログアウトにリダイレクトされるよう、Identity Manager のログアウト実装を変更します。標準的な Identity Manager インストールの場合、次のファイルが関係します。 1. 管理インタフェース: 次に示す行 response.sendRedirect(p.encodeRedirectURL(url)); を次のように変更します。 response.sendRedirect(p.encodeRedirectURL("http://solaris10.sun.com:8080/amse
rver/UI/Logout"));
2. ユーザーインタフェース: 上記と同じ変更を行います。 この文書の序盤で説明した手順に従って、 3. Access Manager のクッキーを削除します。
com.sun.identity.agents.config.cookie.reset.enable = true com.sun.identity.agents.config.cookie.reset.name[0] = AMAuthCookie com.sun.identity.agents.config.cookie.reset.domain[0] = .sun.com com.sun.identity.agents.config.cookie.reset.path[0] =/ com.sun.identity.agents.config.cookie.reset.name[1] = iPlanetDirectoryPro com.sun.identity.agents.config.cookie.reset.domain[1] = .sun.com com.sun.identity.agents.config.cookie.reset.path[1] =/ セクション 3.2 では、ポリシーエージェントはアプリケーションを保護しないように構成されていました。そのため、ここで、すべてのアプリケーションを保護するようにポリシーエージェントを構成する必要があります。 次の位置にある /var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/AMAgent.properties 次のように、この行の末尾からアスタリスクを削除します。 com.sun.identity.agents.config.notenforced.uri[0] = Application Server を停止し、再起動します。 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1 [root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin start-domain -user admin domain1 これで管理者インタフェース ( 6.0 トラブルシューティングAccess Manager の場合
Identity Manager サーバーの場合
ホストに ping を発行します。
SSL Server としての証明書の有効性をテストします。 localhost$ certutil -V -d /var/opt/SUNWappserver/domains/domain1/config/ -n "s1as" -u 'V' 6.3 Application Server の管理中のログファイルの表示
tail -f /var/opt/SUNWappserver/domains/domain1/logs/server.log ポリシーエージェントのインストール後、Identity Manager のアクセス中に Web ブラウザで次の内容が表示された場合、セクション 2.2 の手順に正確に従ったかどうかを確認します。
図 9 エージェントをインストールする前には、アプリケーションサーバーをシャットダウンし、 1. 2. 3. 4. 5. Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
BigAdmin SubscriptionsBigAdmin Areas
BigAdmin Sun Center
BigAdmin Topics |