Oracle Application Serverリリース・ノート 10g(10.1.4.0.1) for AIX 5L Based Systems(64-bit) B31750-05 |
|
戻る |
次へ |
この章では、Oracle Application Server Single Sign-On(OracleAS Single Sign-On)の既知の問題および回避方法について説明します。内容は次のとおりです。
この項では、インストールとアップグレードに関連する次の問題および回避方法について説明します。
Oracle Application Server 10.1.4.0.1 Identity Managementインフラストラクチャ・コンポーネントを、ロード・バランシング・ルーターを備えたIdentity Management High Availability(IMHA)Oracle Internet Directory LDAPクラスタを使用する環境にインストールするときは、次の手順を実行する必要があります。この手順を実行しない場合、インストール中に問題が発生することがあります。
これは、Identity Management中間層を分散型構成にインストールする場合すべてに当てはまります。
ロード・バランサまたは仮想サーバーを備えたIMHA Oracle Internet Directory LDAPクラスタを使用する場合のインストール手順は、次のとおりです。
インストールを開始する前に、インストール・プロセスの継続中、ロード・バランシング・ルーターまたはOracle Internet Directory仮想サーバーによってすべての通信量が確実に1つのアクティブなOracle Internet Directoryインスタンスのみに送信されるようにします。
たとえば、1つのIPアドレスからの通信量が常に同じ宛先にルーティングされるように、アフィニティ(IPベース)ルーティングを構成します。
インストールの完了後は、任意のルーティング・アルゴリズムを使用するようにロード・バランサを再構成できます。
OracleAS Cluster(Identity Management)環境をインストールして構成した後、Application Server Controlによって、Identity Managementコンポーネントの一部が停止していて使用不可であると間違って示されます。この問題を修正するには、Application Server Controlを一度停止してから起動します。
関連項目: 『Oracle Application Server管理者ガイド』のApplication Server Controlの起動と停止に関する項 |
Oracle管理サービス(管理サービス)用のIdentity Management Grid Controlプラグインをアンインストールした後は、管理サービスOracleホーム・ディレクトリ内に新しい構成ファイルを作成する必要があります。このファイルを作成しない場合、プラグインのアンインストール後に問題が発生することがあります。このファイルによって、Oracle Enterprise Manager 10g Grid Control(Grid Control)は、特定のシングル・サインオン監視ページに対する構成クラスを見つけることができます。これらのページは、Identity Management Grid Control 10.1.4IMが存在しないデフォルトのGrid Control管理サービス・インストールで使用されます。
Identity Management Grid Control管理サービス・プラグインのアンインストール後の問題を回避するには、次のようにします。
テキスト・エディタを開き、次の内容のファイルを作成します。
<consoleConfig> <integration name="oracle_sso_server" class="oracle.oimcontrol.sso.em.SSOIntegration"/> </consoleConfig>
次の場所にファイルを保存します。
$ORACLE_HOME
/j2ee/OC4J_EM/applications/em/em/WEB-INF/config/sso_server_intg.xml
管理サービスのサーバーを再起動します。
この項では、次の一般的な問題および回避方法について説明します。
6.2.3項「SSLを有効にした後にOracle Internet DirectoryのORCLDASURLBASE属性の値を変更する必要がある」
6.2.5項「複数のSingle Sign-On Server間でグローバル・ユーザーの非アクティブ・タイムアウトを共有できない」
『Oracle Application Server Single Sign-On管理者ガイド』の付録B「Single Sign-Onスキーマのパスワードの取得」には、パスワードの検索にコマンドライン・ツールldapsearch
またはOracle Directory Managerのいずれかを使用できると記載されています。このように記載されていますが、Oracle Directory Managerはサポートされていません。
コマンドライン・ツールldapsearch
を使用してSingle Sign-onスキーマのパスワードを検索してください。
管理者がOracle Portalのユーザー・エントリを削除して再作成すると、ユーザーが外部アプリケーションにアクセスするときにエラーを受け取る可能性があります。ユーザーを削除して再作成すると、ORASSO.WWSEC_PERSON$表に格納されるユーザーのGUID値は、Oracle Internet DirectoryへのOracleAS Single Sign-ONログインで返されるGUIDとは異なります。
エラーは次のとおりです。
There is a conflict with your assigned user name. There is a user entry with this name, but with a different globally unique identifier, which must be resolved before you can log on with this name. Please inform your administrator. (WWC-41742).
この問題の回避方法を次に示します。
ORASSOユーザーとしてSQLPLUSにログインします。
コマンドライン・ツールldapsearch
の使用の詳細は、『Oracle Application Server Single Sign-On管理者ガイド』の付録B「Single Sign-Onスキーマのパスワードの取得」を参照してください。Oracle Directory Managerはサポートされない点に注意してください。
次のコマンドを入力します。
update orasso.wwsec_person$ set guid = null ; commit;
この回避方法をテストするには、削除後に再作成されたユーザーとしてログインします。
HTTPSのシングル・サインオンを有効にした後に、Oracle Internet DirectoryのORCLDASURLBASE属性の値も変更する必要があります。この属性は、次の場所にあります。
cn=OperationURLs,cn=DAS,cn=Products,cn=OracleContext
この属性を次の値に設定します。
https://servername
:/SSO_HTTPS_PORT
デフォルトの443ポートを使用する場合は、次のように値を設定します。
https://servername
『Oracle Application Server Single Sign-On管理者ガイド』の統合APIを使用したサード・パーティのアクセス管理システムとの統合に関する項に、IPASAuthInterface.java
パッケージの情報が記載されています。この項には、Single Sign-On Serverからp2storeトークンを返す必要があるという説明が必要です。getUserCredentialPage()
関数のURLにリダイレクションURLを追加する必要があります。
このマニュアルの次のリリースでは、次の注意書きが追加されます。
「このインタフェースを実装するには、コードを変更してOracleAS Single Sign-OnのログインURLにユーザーをリダイレクトする必要があります。これはサード・パーティ・アプリケーションが保護しているURLです。また、getUserCredentialPage()
のURLを追加して、site2pstoretokenを含める必要があります。」
グローバル・ユーザーの非アクティブのタイムアウトは、アイドル状態が事前に構成した時間続いた場合に、アプリケーションで強制的な再認証を可能にする機能です。このタイムアウトは、機密事項を扱うアプリケーションで、シングル・サインアウトのセッション・タイムアウトよりも短い非アクティブのタイムアウトが必要な場合に役立つ機能です。
ただし、このタイムアウト値は、Cookieドメイン内に異なるSingle Sign-On Serverによって保護された他のアプリケーションが含まれる場合、問題を生じる可能性があります。たとえば、Cookieドメイン.comのタイムアウトが構成されている場合、myapplication1.mycompany1.comとmyapplication2.mycompany2.comにアクセスするユーザーは、どちらのアプリケーションにもアクセスできません。
この不具合は、Grid Controlのシングル・サインオンの監視ページにのみ関連します。英語以外の言語(たとえば、ja
、zh_CN
、zh_TW
、ko_KR
またはfr
)用に構成されたブラウザでは、シングル・サインオン・サービスの監視ホームページの「一般」セクションに「ホスト使用不可」というラベルの付いたエントリが表示されます。この文字列は、ブラウザ用に構成された言語で表示されます。ホスト使用不可エントリはリンクになっています。このリンクをクリックすると、ブラウザで「リポジトリからターゲットUNAVAILABLEを検索中にエラーが発生しました。ターゲットが存在しないか、またはターゲットへのアクセス権がない可能性があります。」というメッセージが表示されます。
このエラーおよび関連付けられたリンクは無視してかまいません。
動的ディレクティブベースのグローバル・ログアウト用にmod_osso
を使用する場合は、文字列"Oracle SSO"
をレスポンス・エラー・メッセージとして渡す必要があります。次の例は、適切に構成されたディレクティブを示しています。
request.getSession().invalidate(); response.setHeader("Osso-Return-Url",redirectURL); response.sendError(470, "Oracle SSO");
"Oracle SSO"
以外の文字列がsendError
へのパラメータとして渡された場合、グローバル・ログアウトは行われません。
現在、『Oracle Application Server Single Sign-On管理者ガイド』のマルチレベル認証の項では、認証レベルを構成するときにポート番号を指定する必要があると指示しています。ただし、デフォルト・ポートがURLで使用されている場合はポート番号を省略できます。
マルチレベル認証を構成する際の手順2は正しくは次のようになります。
次の認証レベルを、2つのパートナ・アプリケーションのルートURLに割り当てます。
pa1.mydomain.com\:7777 = HighSecurity pa2.mydomain.com\:7777 = MediumSecurity
ドメイン名の後に必ず円記号を指定してください。
呼び出されるパートナ・アプリケーションのURLでデフォルトのSSLポートまたは非SSLポートが使用される場合、ポートはURLに指定されません。その場合は、パートナ・アプリケーションのルートURLを定義するときに、/:
port
を指定する必要はありません。
たとえば、パートナ・アプリケーションについて次のURLが呼び出されるとします。
http://pa1.mydomain.com/partner application https://pa2.mydomain.com/parnter application
policy.propertiesファイルでは次のルートURLが使用されます。
pa1.mydomain.com = HighSecurity pa2.mydomain.com = MediumSecurity
この項では、ドキュメントの訂正箇所を示します。内容は次のとおりです。
表9-1「パートナ・アプリケーションに渡されるユーザー属性」に、Remote-User
ヘッダーは9.0.4より前のアプリケーションにのみ推奨されると記載されています。理由は記載されていません。Remote-User
ヘッダーは、ドメイン内でのみ一意であることがその理由です。リリース9.0.4以降、OracleAS Single Sign-Onでは複数のドメインがサポートされるため、Osso-User-Guid
などのドメイン全体で一意のヘッダーを使用する必要があります。