セキュリティー許可プロバイダーのトラブルシューティングのヒント
この項目では Java™ Authorization Contract for Containers (JACC) 許可プロバイダーを使用する際に遭遇する可能性のある問題について説明します。Tivoli® Access Manager は、許可プロバイダーとして WebSphere® Application Server にバンドルされています。 しかし、ユーザーが独自の許可プロバイダーをプラグインすることもできます。
Java Authorization Contract for Containers 許可プロバイダーとしての Tivoli Access Manager
- JACC の構成ができないことがあります。
- JACC の構成後にサー バーが始動しないことがあります。
- アプリケーションが正しくデプロイできないことがあります。
- Tivoli Access Manager を構成した後に startServer コマンドが失敗する、または JACC の構成解除後にクリーン・アンインストールが実行できないことがあります。
- 「HPDIA0202w An unknown user name was presented to Access Manager」エラーが起こる可能性があります。
- 「HPDAC0778E The specified user's account is set to invalid」エラーが起こる可能性があります。
- 「WASX7017E: Exception received while running file」エラーが起こる可能性があります。
- JACC を使用してアプリケーションにアクセスする際に出されるアクセス拒否例外
- 「HPDBA0219E: An error occurred reading data from an SSL connection」が表示される可能性があります。
「ポート・セットには使用可能なポートがありません」エラーが発生する可能性があります。
Java Authorization Contract for Container 許可プロバイダーのための外部プロバイダー
JACC の構成ができないことがある
JACC の構成で問題がある場合は、以下の項目を確認してください。
- パラメーターが正しいことを確認してください。例えば、TAM_Policy_server_hostname:7135 の後には数値があってはいけませんが、TAM_Authorization_server_hostname:7136 の後には数値が必要です (例えば、TAM_Authorization_server_hostname:7136:1)。
- 「server can't be contacted」といったメッセージが表示される場合は、Tivoli Access Manager サーバーのホスト名またはポート番号が間違っているか、または Tivoli Access Manager サーバーが始動していない可能性があります。
- sec_master ユーザーのパスワードが正しいことを確認してください。
- SystemOut.log ファイルを確認し、AMAS ストリングを検索して、 エラー・メッセージが表示されているかどうか見てください。
JACC の構成後にサーバーが始動できないことがある
JACC が構成された後にサーバーが始動しない場合は、以下の項目をチェックしてください。
- WebSphere Application Server および Tivoli Access Manager が同じ Lightweight Directory Access Protocol (LDAP) サーバーを使用していることを確認します。
- 「Policy Director Authentication failed」メッセージが表示された場合は、以下を確認します。
- WebSphere Application Server LDAP サーバー ID が Tivoli Access Manager JACC 構成パネルの「管理者ユーザー」と同じである。
- Tivoli Access Manager の管理者識別名 (DN) が正しいことを検証する。
- Tivoli Access Manager 管理者のパスワードの期限が切れておらず、有効であることを検証する。
- Tivoli Access Manager 管理者のアカウントが有効であることを確認する。
- 「xxxx のソケットをオープンできません」(xxxx は番号) というメッセージが表示された場合は、以下のように対処します。
- profile_root/etc/tam ディレクトリーに移動します。
- xxxx を、amwas.commomconfig.properties ファイル内で使用できるポート番号に変更します。 デプロイメント・マネージャーが開始されない 場合は、amwas*cellName_dmgr.properties ファイル内で 使用できるポート番号に変更します。 ノードが開始されない場合は、xxx を amwas*cellName_nodeName_.properties ファイル内で使用できるポート番号に変更します。 アプリケーション・サーバーが開始されない 場合は、amwas*cellname_nodeName_serverName.properties ファイル内の xxxx を変更します。
アプリケーションが正しくデプロイできないことがある
「保存」をクリックすると、ポリシーとロールの情報が Tivoli Access Manager ポリシーに伝搬されます。このプロセスは、終了までに若干の時間がかかる場合があります。 保存に失敗した場合、アプリケーションをアンインストールして、それから再インストールする必要があります。
アプリケーションをインストールした後アクセスするには、保管してから アプリケーションの始動にデフォルトで 30 秒待つ必要があります。
startServer コマンドが失敗することがある
Tivoli Access Manager を構成した後に startServer コマンドが失敗することがある、または JACC の構成解除後にクリーン・アンインストールが実行されない。
- WebSphere Application Server から Tivoli Access Manager プロパティー・ファイルを除去します。N 個のサーバー (例えば、サーバー 1、サーバー 2) が定義されている WebSphere Application Server Network Deployment (ND) 環境の各アプリケーション・サーバーについて
以下のファイルを除去する必要があります。
install_root/tivoli/tam/PdPerm.properties install_root/tivoli/tam/PdPerm.ks profile_root/etc/tam/*
以下のファイルを除去する必要があります。
profile_root/etc/pd/PolicyDirector/PDPerm.properties profile_root/etc/pd/PolicyDirector/PdPerm.ks profile_root/etc/tam/*
- ユーティリティーを使用してセキュリティー構成をクリアし、Tivoli Access Manager 用の JACC プロバイダーが構成される前の状態にシステムを戻します。
このユーティリティーは、
すべての PDLoginModuleWrapper エントリーと Tivoli Access Manager 許可テーブル・エントリーを
security.xml ファイルから除去するため、Tivoli Access Manager 用の JACC プロバイダーを効率的に除去できます。
このユーティリティーを実行する前に security.xml ファイルをバックアップしてください。
以下のコマンドを入力します。
install_root/java/jre/bin/java -classpath "install_root/lib/AMJACCProvider.jar:CLASSPATH" com.tivoli.pd.as.jacc.cfg.CleanSecXML fully_qualified_path/security.xml
以下のコマンドを入力します。
java -Djava.version=1.5 -classpath "app_server_root/lib/AMJACCProvider.jar:CLASSPATH" com.tivoli.pd.as.jacc.cfg.CleanSecXML fully_qualified_path/security.xml
"HPDIA0202w: 不明なユーザー名が Access Manager に入力されました"
AWXJR0008E Failed to create a PDPrincipal for principal mgr1.:
AWXJR0007E A Tivoli Access Manager exception was caught.
Details are:
"HPDIA0202W An unknown user name was presented to Access Manager."
ホスト名が MS アクティブ・ディレクトリーに対して構成されている場合に Tivoli Access Manager で定義済みの制限を超えると、この問題が生じる可能性があります。
WebSphere Application Server では、ホスト名の最大長は 46 文字を超えることができません。ホスト名が完全修飾されていないことを確認します。 ホスト名にホスト・ドメインが含まれないよう、マシンを構成します。
- コマンド行で以下の情報を入力して Tivoli Access Manager コマンド・プロンプトを取得します。
pdadmin administrator_name プロンプトが表示されます。以下に例を示します。pdadmin -a administrator_name -p administrator_password
pdadmin -a administrator1 -p passw0rd
- pdadmin コマンド・プロンプトで以下の情報を入力することにより、
LDAP ユーザー・レジストリーから Tivoli Access Manager にユーザーをインポートします。
以下に例を示します。user import user_name cn=user_name,o=organization_name,c=country
user import jstar cn=jstar,o=ibm,c=us
user modify user_name account-valid yes
以下に例を示します。user modify jstar account-valid yes
LDAP から Tivoli Access Manager へグループをインポートする方法については、Tivoli Access Manager の資料を参照してください。
"HPDAC0778E: 指定されたユーザーのアカウントが無効に設定されています"
AWXJR0008E Failed to create a PDPrincipal for principal mgr1.:
AWXJR0007E A Tivoli Access Manager exception was caught.
詳細:「HPDAC0778E The specified user's account is set to invalid」
user modify user_name account-valid yes
以下に例を示します。user modify jstar account-valid yes
"HPDJA0506E: 無効な引数: ACL エントリーのユーザー名フィールドが NULL または長さがゼロです"
AWXJR0035E An error occurred while attempting to add member,
cn=agent3,o=ibm,c=us, to role AgentRole
HPDJA0506E Invalid argument: Null or zero-length user name field for
the ACL entry
このエラーを訂正するには、セキュリティー・ロールにマップされるユーザーを作成するか、または Tivoli Access Manager にインポートします。 セキュリティー・ポリシー情報の伝搬に関する情報について詳しくは、ご使用の許可プロバイダーの資料を参照してください。
WASX7017E: ファイル "InsuranceServicesSingle.jacl" の実行中に例外を受け取りました。
WASX7017E: Exception received while running file "InsuranceServicesSingle.jacl";
exception information: com.ibm.ws.scripting.ScriptingException: WASX7111E:
Cannot find a match for supplied option:
"[RuleManager, , , cn=mgr3,o=ibm,c=us|cn=agent3,o=ibm,c=us, cn=ManagerGro
up,o=ibm,c=us|cn=AgentGroup,o=ibm,c=us]" for task "MapRolesToUsers"
$AdminApp MapRolesToUsers タスク・オプションは、Tivoli Access Manager が許可サーバーとして使用された場合に無効になります。 このエラーを訂正するには、MapRolesToUsers を TAMMapRolesToUsers に変更します。
JACC を使用してアプリケーションにアクセスする際に出されるアクセス拒否例外
AWXJR0044E: The access decision for Permission, {0}, was denied because either the
PolicyConfiguration or RoleConfiguration objects did not get created successfully at
application installation time. RoleConfiguration exists = {false}, PolicyConfiguration
exists = {"false"}.
アクセス拒否例外がアプリケーションに予期されていない場合、SystemOut.log ファイルを確認し、セキュリティー・ポリシー情報が正しくプロバイダーに伝搬されたかを確認してください。
アプリケーションのセキュリティー・ポリシー情報が正常にプロバイダーへ伝搬されている場合、メッセージ・キー SECJ0415I の監査ステートメントが表示されます。 しかし、 セキュリティー・ポリシー情報のプロバイダーへの伝搬に問題があった場合 (例えば、 ネットワークの問題、JACC プロバイダーが使用できないなど)、SystemOut.log ファイルには、 メッセージ・キー SECJ0396E (インストール時) または SECJ0398E (変更時) のエラー・メッセージが 記録されます。アプリケーションのインストールは、 セキュリティー・ポリシーの JACC プロバイダーへの伝搬の失敗によって停止されません。 また、失敗した場合、保存操作中に、例外またはエラー・メッセージは表示されません。 この失敗の原因である問題が 修正されたら、propagatePolicyToJaccProvider ツールを実行して、セキュリティー・ポリシー情報をプロバイダーに伝搬してください。 その際、アプリケーションは再インストールしないでください。
"HPDBA0219E: データを SSL 接続から読み取り中にエラーが起こりました"
アプリケーションを WebSphere Application Server Network Deployment (ND) にインストールし、Tivoli Access Manager を備えた管理対象ノードを使用可能にすると、エラー・メッセージ (HPDBA0219E) が dmgr SystemOut.log に表示される可能性があります。
エラーが発生すると、最近デプロイされたアプリケーションのセキュリティー・ポリシー・データは、 直ちに使用不可になる場合があります。 ポリシー・データは、Tivoli Access Manager のサーバー複製時間に基づいて使用可能です。デフォルトは、 すべての更新が完了してから 30 秒です。 最新のポリシー・データが使用可能であることを確認するには、pdadmin コンソールにログオンし、server replicate を入力します。
![[z/OS]](../images/ngzos.gif)
「ポート・セットには使用可能なポートがありません」エラーが発生する可能性がある
Tivoli Access Manager を JACC プロバイダーとして使用し、管理コンソールまたは wsadmin スクリプトを使用して WebSphere Application Server を停止すると、Tivoli Access Manager 用のクリーンアップ・プロセスが実行されます。WebSphere Application Server では、クリーンアップ・プロセスを完了することができません。
WebSphere Application Server は、新しいプロセスごとに異なるポート番号を使用します。最終的に、アプリケーション・サーバーは Tivoli Access Manager サーバーに接続するためのポート番号を使い尽くし、「ポート・セットには使用可能なポートがありません」エラーを表示します。
このエラーが発生した場合は、WebSphere Application Server プロセスで使用可能なポートを手動でクリーンアップする必要があります。