この章では、Oracle Entitlements Serverに関連する問題について説明します。次のトピックが含まれます:
この項では、一般的な問題および回避策について説明します。次のトピックが含まれます:
6.1.6項「Entitlements Serverによって保護されているときにOracle Access Managerを起動すると例外がスローされる」
6.1.8項「WebLogic Serverのセキュリティ・モジュールの管理対象サーバーでWebサービスが起動に失敗する」
属性取得インタフェースはJPS JAR内に常駐しており、それらは、Tomcat共有クラス・ローダーによってロードされます。したがって、カスタム属性取得インタフェースの実装を含むJARも共有クラス・ローダーまたはその祖先に共有クラス・ローダーを持つクラス・ローダーによってロードする必要があります。このシナリオに基づいて、カスタム属性取得JARを適切な場所に必ず配置してください。
このバージョンのOracle Entitlements Serverでは、権限およびポリシーに重複するリソース・エントリを作成できます。
デフォルトのOracle Entitlements Serverセキュリティ・モジュール(クライアント)証明書はyour_oes_sm_folder
/oes_sm_instances/
your_oes_sm
/security/identity.jks
に格納されており、信頼できる認証局(CA)証明書はyour_oes_sm_folder
/oes_sm_instances/
your_oes_sm
/security/trust.jks
に格納されています。どちらも、セキュリティ・モジュール・インスタンスの作成中に設定されるパスワードが付いたJKS証明書ストアです。このパスワードは、暗号化されて、標準Oracleウォレットに(自動ログオンで)格納されます。デフォルトのOracle Entitlements Serverクライアント・キーは、それ自体によって生成され、登録プロセス中に署名されます。
ポリシー・ストアをホストしているデータベースが停止しているときにEntitlements Serverを起動する場合、データベースが使用可能になっても自動的にリカバリすることはありません。これは、次のいずれかによって修正されます。
次のプロパティを定義することで、自動リカバリするようにデータベースを設定します。
管理サーバーが起動する前にデータベースが停止する場合は、「接続作成の再試行頻度」が必要です。
管理サーバーが正常に起動した後にデータベースが停止する場合は、「予約時の接続テスト」が必要です。
データベースが稼動してから、管理サーバーを再起動します。
ポリシー・シミュレータを実行した結果、複数のロール・マッピング・ポリシーまたは認可ポリシーが返される場合、適切なオブジェクト参照が渡されないため、それらは適切に開きません。これは、アクセスの確認をクリックしてアプリケーション・ロールおよびマッピング・ポリシーを選択した後に表示されます。この問題を回避し、ポリシー詳細を開くには、「拡張検索」画面を使用してポリシーを検索します。
Oracle Entitlements Serverによって保護されているOracle Access Managerのインスタンスを起動すると、ランタイム例外を受け取ります。この例外は無視してかまいません。
すべてのお客様にOPatchの最新バージョンの使用をお薦めします。My Oracle SupportのNote 224346.1 Opatch - Opatchの最新バージョンはどこで見つけられるのかに関する説明を確認し、必要に応じて説明に従って最新バージョンに更新してください。FMW Opatchの使用方法は、『Oracle Fusion Middlewareパッチ適用ガイド』を参照してください。
『Oracle Fusion Middleware高可用性ガイド』の9.6.2.7項「WebLogicでのOracle Entitlements Server Webサービスのセキュリティ・モジュールの高可用性の構成」または9.6.2.8,項「Oracle Entitlements Server WebLogicセキュリティ・モジュールの高可用性の構成」の手順に従った場合、第2ノードのWebLogic Serverセキュリティ・モジュールの管理対象サーバーでWebサービスの起動に失敗します。weblogic.policyファイルの権限の問題によりJavaランタイム例外エラーが発生します。
このエラーは、weblogic.policyにOES権限がないために発生します。このエラーを解決するには、OESHOST2でMW_HOME
/wlserver_10.3/
server/lib/weblogic.policy
ファイルに次の行を追加します。
grant codeBase "file:${oes.client.home}/-" { permission java.security.AllPermission; };
env
コマンドをwlst.sh configureSecurityStore.py
に対して実行し、出力に空の行がある場合、このコマンドは失敗します。例:
LANG=en_US.utf8 GNOME_KEYRING_PID=16766 <empty line> PYTHONSTARTUP=/etc/pythonstart
次のような例外メッセージが表示されます。
Welcome to WebLogic Server Administration Scripting Shell . Type help() for help on available commands . Info: Data source is: opss-DBDS Info: DB JDBC driver: oracle.jdbc.OracleDriver Info: DB JDBC URL: jdbc:oracle:thin:@hostname.mycompany.com:1521/db10205 Exception in thread "Main Thread" java.lang.NoClassDefFoundError: oracle/security/jps/internal/tools/configuration/ldap/LdapServiceEnabler Caused by: java.lang.ClassNotFoundException:
この問題を回避するには、空の行を削除し、コマンドを再度実行します。例:
% unset GNOME_KEYRING_PID % set GNOME_KEYRING_PID=16766
この問題が発生するのはMicrosoft Windowsプラットフォームのみです。セキュリティ・モジュール構成ユーザー・インタフェース(SMConfig UI)は、アジア・ロケールに設定した場合、文字化けすることがあります。この問題は、繁体字中国語および簡体字中国語、日本語、韓国語で発生します。
他の言語を使用可能な場合に、この問題を回避するには、oessmconfig.bat
のVMパラメータに他のロケールを設定して、ユーザー・インタフェース言語を変更できます。たとえば、USロケールの英語を使用するには、次のように指定します。
setting -Duser.language=en -Duser.country=US
管理コンソールで認可ポリシーを作成する際、等価演算子(=
)を使用して一部のデータ型(DNSなど)の無効な条件データが作成されると、次のシステム・メッセージが表示されます。
application policy - expression encoding error
このエラーは、条件が正しく作成されていないために認可ポリシーを作成できなかったことを示します。ただし、このエラーは解釈が困難です。
この問題を回避するには、等価演算子(=
)のかわりに関数を使用して条件を書き直します。たとえば、条件が次のように書かれているとします。
DNS_NAME_ONE_AND_ONLY(['www.mycompany.com','www.mycompany.com'])='www.anothercompany.com'
この条件を次のように書き直します。
DNS_NAME_ONE_AND_ONLY(['www.mycompany.com','www.mycompany.com'])=DNS_NAME_FROM_STRING('www.anothercompany.com')
この項では、構成に関する問題およびその回避策について説明します。次のトピックが含まれます:
6.2.2項「-m Joinを指定してconfigureSecurityStore.pyを実行するときは絶対パスを使用する」
6.2.4項「Derbyデータベースをポリシー・ストアとして使用しているときにOESドメインを起動するとエラーが発生する」
通常、ポリシー・ストアは、その関連付けられたデータベースがリカバリされるときにリカバリされます。WebLogic Server管理コンソールのエラー・メッセージが、WebLogic Serverでデータ・ソースが見つからなかったことを示している場合は、WebLogic Developerでデータ・ソース構成を確認し、データ・ソース構成の詳細を取得し、「初期容量」プロパティを0に設定します。これにより、データ・ソースは、データベースの起動時にリカバリします。
-m join
でconfigureSecurityStore.py
を使用してwlst.sh
を実行中に、ORACLE_HOMEやMW_HOMEなどの変数を使用すると、セキュリティ・ストアの構成では、ポリシー・ストア・オブジェクトの作成に失敗します。-m join
に対してコマンドを実行するときは、常にORACLE_HOMEおよびMW_HOMEの絶対パスを使用してください。
jps-config.xml
のpip.service.provider
パラメータはPIP属性に必須です。pip.service.provider
パラメータにサービス・プロバイダ・エントリがないjps-config.xml
ファイルが管理コンソールにフィードされ、いくつかのPIP属性が追加されると、サービス・プロバイダ値が、PIPではなくAUDITとしてそのタイプが定義されて自動的にpip.service.provider
に追加されます。このシナリオでは、jps-config.xml
を保存した後に、作成されたサービス・プロバイダを確認し、手動でタイプをAUDITからPIPに変更します。
この手順は、管理コンソールがファイルにタッチする前にサービス・プロバイダがすでに存在している場合は必要ありません。さらに、適切に作成されているサービス・プロバイダ・エントリは管理コンソールによって上書きされることはありません。この問題は、サービス・プロバイダが欠落しているために管理コンソールでそれを追加する必要があるときにのみ発生します。
Oracle Entitlements ServerのDerbyテンプレートを使用してOracle Entitlement Server用の新しいWebLogicドメインを作成した後に、Oracle Entitlement Serverを起動する場合、コンソールにエラー・メッセージが表示されます。
これはOracle Entitlements ServerのDerbyテンプレートが、デフォルトでIDSタスク・フローをデプロイしないためです。
回避策:
$IDM_HOME
/modules/oracle.idm.ids.config.ui_11.1.2/oracle.idm.ids.config.ui.war
を共有ライブラリとしてデプロイします。
Oracle Entitlements Server用のWebLogic Serverドメインを再起動します。
次のURLを使用して、Oracle Entitlements Server管理コンソールにログインします。
http://hostname
:port
/apm/