セキュリティー許可プロバイダーのトラブルシューティングのヒント

この項目では Java™ Authorization Contract for Containers (JACC) 許可プロバイダーを使用する際に遭遇する可能性のある問題について説明します。Tivoli® Access Manager は、許可プロバイダーとして WebSphere® Application Server にバンドルされています。 しかし、ユーザーが独自の許可プロバイダーをプラグインすることもできます。

Java Authorization Contract for Containers 許可プロバイダーとしての Tivoli Access Manager

注: このトピックでは、 1 つ以上のアプリケーション・サーバー・ログ・ファイルを参照します。推奨される代替案として、分散システムや IBM® i システムの SystemOut.logSystemErr.logtrace.logactivity.log ファイルではなく、High Performance Extensible Logging (HPEL) ログおよびトレース・インフラストラクチャーを使用するようにサーバーを構成できます。また HPEL は、ネイティブ z/OS® ロギング機能と連携させて使用することができます。HPEL を使用する場合、LogViewer コマンド・ライン・ツールを サーバー・プロファイルの bin ディレクトリーから使用して、すべてのログ・ファイルにアクセスし、 情報をトレースできます。HPEL の使用について詳しくは、HPEL を使用してのアプリケーションの トラブルシューティングに関する情報を参照してください。

Java Authorization Contract for Container 許可プロバイダーのための外部プロバイダー

JACC 許可に外部プロバイダーを使用した場合に、以下のような問題に遭遇することがあります。

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 は番号) というメッセージが表示された場合は、以下のように対処します。
    1. profile_root/etc/tam ディレクトリーに移動します。
    2. xxxx を、amwas.commomconfig.properties ファイル内で使用できるポート番号に変更します。 デプロイメント・マネージャーが開始されない 場合は、amwas*cellName_dmgr.properties ファイル内で 使用できるポート番号に変更します。 ノードが開始されない場合は、xxxamwas*cellName_nodeName_.properties ファイル内で使用できるポート番号に変更します。 アプリケーション・サーバーが開始されない 場合は、amwas*cellname_nodeName_serverName.properties ファイル内の xxxx を変更します。

アプリケーションが正しくデプロイできないことがある

保存」をクリックすると、ポリシーとロールの情報が Tivoli Access Manager ポリシーに伝搬されます。このプロセスは、終了までに若干の時間がかかる場合があります。 保存に失敗した場合、アプリケーションをアンインストールして、それから再インストールする必要があります。

アプリケーションをインストールした後アクセスするには、保管してから アプリケーションの始動にデフォルトで 30 秒待つ必要があります。

startServer コマンドが失敗することがある

Tivoli Access Manager を構成した後に startServer コマンドが失敗することがある、または JACC の構成解除後にクリーン・アンインストールが実行されない。

JACC を構成した後に JACC 構成解除のクリーンアップまたはサーバーの始動に失敗した場合は、以下のアクションを実行します。
  • WebSphere Application Server から Tivoli Access Manager プロパティー・ファイルを除去します。N 個のサーバー (例えば、サーバー 1、サーバー 2) が定義されている WebSphere Application Server Network Deployment (ND) 環境の各アプリケーション・サーバーについて
    [AIX Solaris HP-UX Linux Windows][z/OS]以下のファイルを除去する必要があります。
    install_root/tivoli/tam/PdPerm.properties 
    install_root/tivoli/tam/PdPerm.ks
    profile_root/etc/tam/*
    [IBM i]以下のファイルを除去する必要があります。
    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 ファイルをバックアップしてください。
    [AIX Solaris HP-UX Linux Windows][z/OS]以下のコマンドを入力します。
    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
    [IBM i]以下のコマンドを入力します。
    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 に入力されました"

Tivoli Access Manager で、Local Directory Access Protocol (LDAP) ユーザー・レジストリーにある既存ユーザーを使用しようとした場合、次のエラー・メッセージが表示されることがあります。
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 文字を超えることができません。

ホスト名が完全修飾されていないことを確認します。 ホスト名にホスト・ドメインが含まれないよう、マシンを構成します。

このエラーを訂正するには、以下のステップを実行してください。
  1. コマンド行で以下の情報を入力して Tivoli Access Manager コマンド・プロンプトを取得します。
    pdadmin -a administrator_name -p administrator_password
    pdadmin administrator_name プロンプトが表示されます。以下に例を示します。
    pdadmin -a administrator1 -p passw0rd
  2. 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
ユーザーを Tivoli Access Manager にインポートしたら、user modify コマンドを使用してユーザー・アカウントを valid に設定します。 以下の構文はこのコマンドの使用方法を説明しています。
user modify user_name account-valid yes
以下に例を示します。
user modify jstar account-valid yes

LDAP から Tivoli Access Manager へグループをインポートする方法については、Tivoli Access Manager の資料を参照してください。

"HPDAC0778E: 指定されたユーザーのアカウントが無効に設定されています"

ユーザーを Tivoli Access Manager にインポートし、クライアントを再始動した後で、次のようなエラー・メッセージが表示される場合があります。
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 modify user_name account-valid yes
以下に例を示します。
user modify jstar account-valid yes

"HPDJA0506E: 無効な引数: ACL エントリーのユーザー名フィールドが NULL または長さがゼロです"

wsadmin propagatePolicyToJACCProvider コマンドを使用してアプリケーションから プロバイダーへセキュリティー・ポリシー情報を伝搬するときに、以下のメッセージのようなエラーが表示される場合があります。
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" の実行中に例外を受け取りました。

JACC プロバイダーおよび Tivoli Access Manager を使用可能にした後に、wsadmin コマンドを使用してセキュリティー・ロールで構成したアプリケーションをインストールしようとすると、以下のエラーが起こる可能性があります。
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 を使用してアプリケーションにアクセスする際に出されるアクセス拒否例外

Tivoli Access Manager の場合、以下のエラー・メッセージが表示されることがあります。
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]

「ポート・セットには使用可能なポートがありません」エラーが発生する可能性がある

Tivoli Access Manager を JACC プロバイダーとして使用し、管理コンソールまたは wsadmin スクリプトを使用して WebSphere Application Server を停止すると、Tivoli Access Manager 用のクリーンアップ・プロセスが実行されます。WebSphere Application Server では、クリーンアップ・プロセスを完了することができません。

WebSphere Application Server は、新しいプロセスごとに異なるポート番号を使用します。最終的に、アプリケーション・サーバーは Tivoli Access Manager サーバーに接続するためのポート番号を使い尽くし、「ポート・セットには使用可能なポートがありません」エラーを表示します。

このエラーが発生した場合は、WebSphere Application Server プロセスで使用可能なポートを手動でクリーンアップする必要があります。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_jacctroubles
ファイル名:rsec_jacctroubles.html