BigAdmin System Administration Portal
特集記事: Solaris 10 OS での Sun Java System Access Manager および Sun Java System Identity Manager のインストール、管理、使用
Print-friendly VersionPrint-friendly Version

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. この文書の目的に合わせて、Access Manager は旧バージョンモードでインストールします。Access Manager をレルムモードで使用する場合は、Identity Manager 用のサービスパック 1 および Access Manager 用のパッチ 2 - Solaris パッチ 120954-02 - を必ずインストールしてください。続いて、Access Manager 領域との統合については、Identity Manager サービスパック 1 の注意書きに従ってください。

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 でも入手可能な zonemgr スクリプトを使用すると簡単に実行できます。

2. MySQL をインストールします。Identity Manager には、Web ページにサービスを提供するため、データとサーブレットエンジンを格納するためのリポジトリが必要です。このガイドの目的に合わせるため、MySQL データベースバージョン 4.1 をリポジトリとしてインストールし、Sun Java System Application Server 8.1 がアプリケーションサーバーとしてインストールします。

Solaris 10 OS は、/usr/sfw/mysql にある MySQL バージョン 4.0.24 のバンドルバージョンとともに出荷されます。バージョン 4.0 は Sun Java System Identity Manager 6.0 によってサポートされていないため、バンドルバージョンの MySQL は使用しないでください。

2.1 MySQL 4.1 のダウンロードとインストール

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}_

起動スクリプト mysql.server の編集

まずバックアップコピーを作成します。

# cp /etc/sfw/mysql/mysql.server /etc/sfw/mysql/mysql.server.OLD

新しくインストールした MySQL 4.1 が反映されるように /etc/sfw/mysql/mysql.server に次の変更を行います。

# 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 を挿入し、./product/install -nodisplay を実行します。

アプリケーションサーバーのインストールが完了すると、次のようなデフォルトのドメインが作成されているはずです。

[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.

ブラウザを使用して http://idmzone.sun.com:8080/ と入力し、ドメインが次のように起動したことを確認します。

図 2
(クリックすると画像を拡大)

オプションで、次のように asadmin コマンドへのソフトリンクを作成します。

[root@solaris10:/usr/sbin] ln -s /opt/SUNWappserver/appserver/bin/asadmin asadmin

https://hostname:4849/ と入力してアプリケーションサーバーの管理サーバーコンソールにログインします (https であることに注意)。

2.2.2 Identity Manager 6.0 のインストール

JDK バージョン 1.4.2 がインストールされ、環境変数 JAVA_HOME がこれをポイントしていることを確認します。

[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』に記載されています。

ダウンロードしたファイル (IDPACK2005Q4M3.zip) を展開し、次のようにデータベーステーブルを作成します。

[root@idmzone:/var/tmp/idm/IDPAK_2005Q4M3/db_scripts] mysql -uroot [ -ppassword ] 
	< create_waveset_tables.mysql

これで Identity Manager のインストールを始めます。コーディング例 3 は、インストールの概要です。

前述の 2.1 節でダウンロードしたデータベースライブラリファイルを WEB-INF/lib にコピーします。

[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 サーバーからコピーされるファイルを配置するディレクトリを作成します。このディレクトリは、この文書の手順では cfgdir とします。Sun Java System Access Manager の場所は AccessMgrHome とします。

ターゲットディレクトリは /idmzone/idmzone/root/var/tmp/idminstall/cfgdir です。ソースディレクトリは /opt/SUNWam/ および /etc/opt/SUNWam です。

2. 次に示すファイルを AccessMgrHome から cfgdir にコピーします。ディレクトリ構造はコピーしないでください。

[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. cfgdir/am_*.jar ファイルを $WSHOME/WEB-INF/lib にコピーします。

[root@solaris10://idmzone/idmzone/root/var/tmp/idminstall/cfgdir]cp am_*.jar   
	/var/tmp/idminstall/WEB-INF/lib

5. https://idmzone.sun.com:4849 でアプリケーションサーバー管理インタフェースにログインし、「JVM オプション」を選択し、「PATH」をクリックして、JAVA クラスパスを次のように追加します。

(注: JVM は Java プラットフォームの仮想マシン (Java Virtual Machine) を表します。

UNIX:cfgdir:cfgdir/am_sdk.jar:cfgdir/am_services.jar:cfgdir/am_logging.jar

図 3
(クリックすると画像を拡大)

6. ドロップダウンメニューから「JVM Settings」を選択して、JVM のオプションに waveset.home パスを追加します。

図 4
(クリックすると画像を拡大)

-Dwaveset.home=/var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm

図 5
(クリックすると画像を拡大)

7. コーディング例 4 のテキストを、次の場所にある server.policy ファイルの末尾に追加します。

[root@idmzone:/var/opt/SUNWappserver/domains/domain1/config]

8. 次のようにインストールディレクトリから war ファイルを作成します。

[root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war *

9. 次のようにコマンド行を使用して idm.war ファイルを配備します。

[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 を起動し、http://idmzone.sun.com:8080/idm から init.xml をインポートします。

/var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm/sample/init.xml

最後に http://idmzone.sun.com:8080/idm と入力して Identity Manager にログインします。デフォルトのログイン ID は configurator で、パスワードは configurator です。

2.2.3 Identity Manager 6.0 Service Pack 1 のインストール

サービスパックを展開します。

インストールファイルを実行可能にします。

chmod +x /var/tmp/idm/sp1/install

/var/opt/sun/install ディレクトリが存在し、書き込み可能であることを確認します。

アプリケーションサーバーをシャットダウンします。

./asadmin stop-domain domain1

サービスパックをインストールします。

/var/tmp/idm/sp1/install

idm.war ファイルを再作成し、再配備します。

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.comSun 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 がインストールされ、環境変数 JAVA_HOME がこれをポイントしていることを確認します。

[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. 「エージェント」タブを選択します。

  1. 「新規」をクリックします。
  2. 次のフィールドの値を入力します。
  3. ID: エージェントの名前または ID を入力します。
    これはエージェントプロファイル名で、Access Manager へのログインにエージェントが使用する名前です。
    複数バイト名は使用できません。例えば、Sjsappagent と入力します。
    
    	
    パスワード: エージェントのパスワードを入力します。このパスワードは、
    LDAP 認証中にエージェントにより使用されるパスワードとは異なるものにします。
    パスワード (確認): パスワードを確認します。例えば、sjspassword と入力します。
    	
    デバイスの状態: エージェントのデバイス状態を選択します。
    デフォルトの状態は Active です。Active に設定されている場合、エージェントは 
    Access Manager を認証し、通信することができます。
    Inactive に設定されている場合、エージェントは Access Manager と認証することはできません。
    
  4. 「作成」をクリックします。エージェントのリストが表示されます。
  5. (オプション) 必要に応じて、新しく作成したエージェントプロファイルに説明を追加します。
    1. エージェントのリストから、新しく作成したエージェントプロファイルの名前をクリックします。
    2. 「説明」フィールドにエージェントの簡単な説明を入力します。たとえば、エージェントインスタンス名や保護されているアプリケーションの名前を入力できます。
    3. 「保存」をクリックします。

idmzone の Application Server インスタンスへエージェントをインストールします。

1. idmzone にログインします。

2. エージェントの gz ファイルを解凍し、tar ファイルを展開します。

3. 大域ゾーンのエージェントプロファイルのパスワードを使用して、パスワードファイル /var/tmp/agentpw を作成します。

4. インストール /policyaagent/bin/agentadmin --install を実行します (コーディング例 5 を参照)。

5. 次のようにコマンド行を使用して agentapp war ファイルを配備します。

[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 ファイルの編集

次の位置にある AMAgent.properties ファイルを編集します。

/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config

次に示すとおり、4 行を見つけて編集します。警告: com.sun.identity から始まるエントリはいくつかあるため、必ず正しいエントリを編集してください。またこれらの行は Sun ドキュメントにあるエラーも修正します。

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 

/var/tmp/idminstall/WEB-INF にある IdM web.xml ファイルを変更します。

これらの記述子の変更に進む前に、必要なバックアップを作成します。次の手順では配備記述子を変更するため、この時点でバックアップファイルを作成することが重要です。

次のようにアプリケーションの web.xml 記述子を編集します。

コーディング例 6 にはサンプルの web.xml 記述子が表示されています。この記述子には、<filter><filter-mapping>、および <dispatcher> 要素が追加されています。このサンプルも Sun ドキュメントにあるエラーを修正します。

web.xml に対する変更が加えられたため、war ファイルの配備を解除します。

[root@idmzone]/var/tmp/]asadmin undeploy --user admin --target server idm

新しい war ファイルを作成します。

[root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war *

続いて、新しい 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 (http://idmzone.sun.com:8080/idm) にアクセスしようとすると、アクセスを許可するポリシーがまだ配置されていないため、"forbidden" と表示されます。

3.2 Identity Manager アプリケーションの一時的な保護解除

ポリシーエージェントが配置されているため、Identity Manager アプリケーションが保護され、そのためユーザーは Identity Manager にログインできません。したがって、次のように Identity Manager アプリケーションを一時的に保護解除します。

次の位置にある AMAgent.properties ファイルを編集します。

/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 の構成

http://idmzone.sun.com:8080/idm と入力し、configurator として Identity Manager にログインします。

「設定」 > 「管理するリソース」に移動します。

セクション「カスタムリソース」で次のように追加します。

com.waveset.adapter.SunAccessManagerResourceAdapter

「保存」をクリックします。

通常の手順で新しい Sun Java System Access Manager リソースを作成し、ID テンプレートを正しく設定していることを確認します。

Access Manager サーバーのパラメータを入力し、接続をテストします。

4.2 管理ユーザーおよびエンドユーザーの Access Manager へのプロビジョニング

4.2.1 すべての特権を持つ管理ユーザーの作成

当該ユーザーに、Sun Access Manager リソース、管理する組織、およびすべての特権を割り当てます。

そのユーザーが Identity Manager のワークフロー内に作成され、LDAPSearch コマンドを使用していることを確認します。

# 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==
#

4.2.2 エンドユーザーの作成

上記の管理ユーザーの手順に従い、エンドユーザーを作成します。そのユーザーには Sun Access Manager リソースを割り当てますが、管理する組織と特権は割り当てません。

そのユーザーが Identity Manager のワークフロー内に作成され、LDAPSearch を使用していることを確認します。

# 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==

これで AdminUserEndUser が作成されました。

図 7
(クリックすると画像を拡大)

4.3 Access Manager Login Module の構成

Identity Manager 6.0 サービスパック 1 をインストールしていない場合、不具合の回避策についてはセクション 8 を参照してください。

Identity Manager から次の操作を行います。

  • 「設定」をクリックします。
  • 「ログイン」をクリックします。
  • 「ログインモジュールグループの管理」をクリックします。
  • 「新規」をクリックします。
  • 名前「Sun Java Access Manager」を入力し、「ログインモジュールの割り当て」選択リストから「Access Manager」を選択します。
  • 「保存」をクリックします。

図 8
(クリックすると画像を拡大)

4.4 Pass-through Authentication の構成

「設定」をクリックします。

「ログイン」をクリックします。

次の手順に従って、新しい Login Module Group を作成します。

  • 「ログインモジュールグループの管理」ボタンをクリックします。
  • 「新規」をクリックします。
  • 次のように Login Module Group フォームを完成させます。
  • ログインモジュールグループ名: Sun Java Access Manager
    ログインモジュールの割り当て: Sun Access Manager
  • ページは更新され、リソースのリストから選択できるようになっているはずです。
  • 「選択」ドロップダウンリストから Sun Access Manager リソースを選択します。
  • 「Access Manager」を選択した場合、ページは「ログインモジュールの修正」ページに変更されます。
  • ログイン表示名: Access Manager
    ログイン成功条件: 十分条件
    
  • 「保存」をクリックします。

次のように引き続きフォームを完成させます。

ログインモジュールの割り当て: アイデンティティーシステム「ユーザーID/パスワード」ログインモジュール

これを選択した場合、ページは「ログインモジュールの修正」ページに変更されます。

次のように「ログインモジュールの修正」フォームを更新します。

ログイン表示名: Lighthouse
ログイン成功条件: 十分条件

「保存」をクリックします。

「保存」ボタンをクリックしてモジュールの定義を完了します。

「ログインアプリケーションに戻る」ボタンをクリックして「ログイン」ページに戻ります。

「ユーザーインターフェース」リンクをクリックします。

  • 「Assign Login Module Group」ドロップダウンリストから「Sun Access Manager」を選択します。
  • 「アイデンティティーシステムのデフォルトの ID/パスワード ログインモジュールグループ」の横にあるチェックボックスを選択し、「削除」ボタンをクリックしてこの項目を削除します。
  • 「保存」をクリックして変更を保存し、「ログイン」ページに戻ります。
  • この時点で、「ユーザーインターフェース」オプションの「ログインモジュールグループ」列に、Access Manager Login モジュールが表示されていることを確認してください。

管理者インターフェースに対して同じ手順を繰り返します。

4.5 Identity Manager 用の Access Manager ポリシーの作成

http://solaris10.sun.com:8080/amserver/ と入力して Access Manager の管理コンソールにログオンします。

レルムを選択します。

「対象」を選択します。

「ロール」を選択します。

次の手順で Identity Manager の管理ユーザー用に新しいロールを作成します。

  1. 「新規...」をクリックします。
  2. ID として「IDM_Admin」と入力します。
  3. 「作成」をクリックします。
  4. Identity Manager を使用して作成した AdminUser にロールを追加します。

Identity Manager のエンドユーザー用に新しいロールを作成します。

  1. 「新規...」をクリックします。
  2. ID として「IDM_User」と入力します。
  3. 「作成」をクリックします。

「アクセス制御」 > 「ポリシー」に移動します。

  1. 次の手順で Identity Manager の管理ユーザー用にポリシーを作成します。
    1. 「新規ポリシー...」をクリックします。
    2. 「IDM_ADMIN」と入力します。
    3. 次のように新しいルールを入力します。
      1. 「ルール」に移動します。
      2. 「新規...」をクリックします。
      3. 「URL ポリシーエージェント (リソース名あり)」を選択します。
      4. 「次へ」をクリックします。
      5. 名前として「IDM_ADMIN_RULE」と入力します。
      6. リソース名として「*://idmzone.sun.com:8080/idm*」と入力します。
      7. GET および POST を許可します。
      8. 「終了」をクリックします。
    4. 次のように新しい対象を入力します。
      1. 「対象」に移動します。
      2. 「新規...」をクリックします。
      3. 「Access Manager ロール」を選択します。
      4. 「次へ」をクリックします。
      5. 名前として「IDM_Admins」と入力します。
      6. > com> sun > IDM_Admin を選択し、「追加」をクリックします。
      7. 「終了」をクリックします。
    5. 「作成」をクリックします。
  2. 次の手順で Identity Manager エンドユーザー用にポリシーを作成します。
    1. 「新規ポリシー...」をクリックします。
    2. IDM_USER」と入力します。
    3. 次の手順で「ヘルプ」の参照用に新しいルールを入力します。
      1. 「ルール」に移動します。
      2. 「新規...」をクリックします。
      3. 「URL ポリシーエージェント (リソース名あり)」を選択します。
      4. 「次へ」をクリックします。
      5. 名前として「IDM_UserHelpfile」と入力します。
      6. リソース名として「*://idmzone.sun.com:8080/*/includes/helpServer.jsp*」と入力します。
      7. GET を許可します。
      8. 「終了」をクリックします。
    4. 次の手順で「イメージ」の参照用に新しいルールを入力します。
      1. 「ルール」に移動します。
      2. 「新規...」をクリックします。
      3. 「URL ポリシーエージェント (リソース名あり)」を選択します。
      4. 「次へ」をクリックします。
      5. 名前として「IDM_UserImages」と入力します。
      6. リソース名として「*://idmzone.sun.com:8080/*/images/*」と入力します。
      7. GET を許可します。
      8. 「終了」をクリックします。
    5. 次の手順で「スタイルシート」の参照用に新しいルールを入力します。
      1. 「ルール」に移動します。
      2. 「新規...」をクリックします。
      3. 「URL ポリシーエージェント (リソース名あり)」を選択します。
      4. 「次へ」をクリックします。
      5. 名前として「IDM_UserStyles」と入力します。
      6. リソース名として「*://idmzone.sun.com:8080:/*/styles/*」と入力します。
      7. GET を許可します。
      8. 「終了」をクリックします。
    6. 次の手順で「エンドユーザーページ」の参照用に新しいルールを入力します。
      1. 「ルール」に移動します。
      2. 「新規...」をクリックします。
      3. 「URL ポリシーエージェント (リソース名あり)」を選択します。
      4. 「次へ」をクリックします。
      5. 名前として「IDM_UserPages」と入力します。
      6. リソース名として「*://idmzone.sun.com:8080:/user/*」と入力します。
      7. GET および POST を許可します。
      8. 「終了」をクリックします。
    7. 次のように新しい Subject を入力します。
      1. 「対象」に移動します。
      2. 「新規...」をクリックします。
      3. 「Access Manager ロール」を選択します。
      4. 「次へ」をクリックします。
      5. 名前として「IDM_Users」と入力します。
      6. com > sun > IDM_USER を選択し、「追加」をクリックします。
      7. 「終了」をクリックします。
      8. 「作成」をクリックします。
    8. Admin ユーザー/ロールに対して行なったように EndUser にロールを追加します。

5.0 Identity Manager のログインおよびログアウト

5.1 Identity Manager Logout の構成

Identity Manager からログアウトすると、通常は Identity Manager のログイン画面に戻ります。この文書のシナリオでは、次のようにするのが適切です。

  • Access Manager のログイン画面に戻る。
  • Access Manager セッションを終了する。

このためには、Access Manager のログアウトにリダイレクトされるよう、Identity Manager のログアウト実装を変更します。標準的な Identity Manager インストールの場合、次のファイルが関係します。

1. 管理インタフェース: logout.jsp (場所は Identity Manager のベースディレクトリ /var/opt/idm)

次に示す行

response.sendRedirect(p.encodeRedirectURL(url));

を次のように変更します。

response.sendRedirect(p.encodeRedirectURL("http://solaris10.sun.com:8080/amse
rver/UI/Logout"));

2. ユーザーインタフェース: userLogout.jsp (場所は /var/opt/idm/user/)

上記と同じ変更を行います。

この文書の序盤で説明した手順に従って、idm.war ファイルを再作成し、再配備します。

3. Access Manager のクッキーを削除します。

/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/ にある AMAgent.properties を次のように編集します。

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] =/

5.2 ポリシーエージェントを再度有効にする

セクション 3.2 では、ポリシーエージェントはアプリケーションを保護しないように構成されていました。そのため、ここで、すべてのアプリケーションを保護するようにポリシーエージェントを構成する必要があります。

次の位置にある AMGagent.properties ファイルを編集します。

/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

これで管理者インタフェース (http://idmzone.sun.com:8080/idm) およびエンドユーザーインタフェース (http://idmzone.sun.com:8080/idm/user) にログインできるようになったはずです。


6.0 トラブルシューティング

6.1 ログファイルの特定

Access Manager の場合

  • Access Manager ログファイル: /var/opt/SUNWam/logs/
  • Access Manager デバッグファイル: /var/opt/SUNWam/debug/

Identity Manager サーバーの場合

  • Policy Agent デバッグファイル: /opt/j2ee_agents/am_as81_agent/agent_001/logs/debug/
  • Identity Manager デバッグファイル: /var/opt/SUNWappserver/domains/domain1/logs/server.log

6.2 接続のテスト

ホストに ping を発行します。

telnet <server> <port> を実行します。

SSL Server としての証明書の有効性をテストします。

localhost$ certutil -V -d /var/opt/SUNWappserver/domains/domain1/config/ -n "s1as" -u 'V'

6.3 Application Server の管理中のログファイルの表示

./asadmin start-domain domain1 --user admin を使用してアプリケーションサーバーを起動した場合、別の telnet セッションを起動し、次のようにしてログファイルに書かれてるログ内容の末尾を表示し、エラーがないかどうかリアルタイムで監視します。

tail -f /var/opt/SUNWappserver/domains/domain1/logs/server.log

6.4 ポリシーエージェントエラー

ポリシーエージェントのインストール後、Identity Manager のアクセス中に Web ブラウザで次の内容が表示された場合、セクション 2.2 の手順に正確に従ったかどうかを確認します。

図 9
(クリックすると画像を拡大)

エージェントをインストールする前には、アプリケーションサーバーをシャットダウンし、cfgdir を作成し、ファイルをコピーする必要があります。また、エージェントプロファイルを含むファイル内のパスワードが、エージェントのインストールに使用されたパスワードと同じであることも重要です。

1. agentapp の配備を解除します。

2. ./agentadmin --uninstall を実行します。

3. ./asadmin stop-domain を実行します。

4. ./agentadmin --install を実行します。

5. ./asadmin start-domain を実行し、適切なインスタンスに agentapp を配備します。


Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub