Oracle® Fusion Middleware Oracle Identity and Access Managementアップグレードおよび移行ガイド 11gリリース2(11.1.2) B69539-01 |
|
![]() 前 |
![]() 次 |
この章では、Sun OpenSSO Enterprise 8.0からOracle Access Management Access Manager 11.1.2に移行した後、Sun OpenSSO Enterprise 8.0(OpenSSO Enterprise)とOracle Access Management Access Manager(Access Manager)11gリリース2(11.1.2)のデプロイメントが共存する環境の設定方法について説明します。
この章は次の項で構成されています:
OpenSSO Enterprise 8.0からOracle Access Manager 11.1.2.0.0への移行プロセス時に、一部のアプリケーションはOpenSSO Enterprise 8.0で保護され、その他のアプリケーションはAccess Manager 11.1.2で保護されるようにOpenSSO Enterprise 8.0とAccess Manager 11.1.2の両方のデプロイメントを共存できます。エンドユーザーがこれらのアプリケーション間を移動する場合、シームレスなシングル・サインオンの経験があることが望まれます。これを共存モードと言います。
このモードでは、Access Manager 11.1.2は、移行したアプリケーションや、Access Manager 11gに登録された新しいアプリケーションを保護し、OpenSSO Enterprise 8.0は、Access Manager 11.1.2に移行されないアプリケーションを引き続き保護します。
この共存モードでは、OpenSSO Enterprise 8.0は、Access Manager 11.1.2で保護されるすべてのリソースの認証を行います。
図18-1に、保護されるリソースへのアクセスをユーザーがリクエストする際にOpenSSO Enterprise 8.0サーバーで行われる認証について示します。
図18-1 OpenSSO Enterprise 8.0とAccess Manager 11.1.2の共存
トポロジは、OpenSSO Enterprise 8.0とAccess Manager 11.1.2の非結合環境で構成されます。トポロジ内の数字1-8は、共存環境でリクエストがフローする順序を示しています。リクエスト・フローについては、「表18-2」を参照してください。
トポロジの説明
Agent-1
: Access Manager 11.1.2に登録されるOpenSSOエージェント(ポリシー・エージェント3.0)です。これはResource-1
を保護します。
Agent-2
: OpenSSO Enterprise 8.0サーバーに登録されるOpenSSOエージェント(ポリシー・エージェント3.0)です。これは、Access Manager 11.1.2サーバーのエンドポイントURLを保護します。このエージェントは、OpenSSO Enterprise 8.0サーバーで構成する必要があります。OpenSSO Enterprise 8.0サーバーでこのエージェント用のプロファイルを作成し、新しいポリシー・エージェント(3.0)を新規でインストールする必要があります。
Agent-3
およびAgent-4
: OpenSSO Enterprise 8.0サーバーに登録されるOpenSSOエージェント(ポリシー・エージェント3.0)です。
Resource-1
: Access Manager 11.1.2サーバーと通信するAgent-1
で保護されるリソースです。
Policy-1
: Resource-1
を保護するためにAccess Manager 11.1.2サーバーで作成される認証ポリシーです。このポリシーは、「Resource-1を保護する認証ポリシーのAccess Manager 11.1.2での作成」タスクの一環で作成されます。
Policy-2
: Agent-2
で保護されるAccess ManagerのOpenSSOプロキシ・エンドポイント用にOpenSSO Enterprise 8.0サーバーで作成される認証ポリシーです。このポリシーは、「Agent-2を使用したAccess Manager 11.1.2サーバーのエンドポイントURLの保護」タスクの一環で作成されます。
表18-2は、リクエスト・フローの説明です。手順列の数字は、図18-1内の数字と対応しています。
表18-1 リクエスト・フロー
手順 | 説明 |
---|---|
1 |
Access Manager 11.1.2サーバーと通信する |
2 |
|
3 |
Access Manager 11.1.2サーバーのエンドポイントは、OpenSSO Enterprise 8.0サーバーと通信する したがって、 |
4 |
OpenSSO Enterprise 8.0サーバーのLDAP認証モジュールによって、LDAPのユーザー名とパスワードの入力が求められます。ユーザーはLDAPの有効な資格証明を入力する必要があります。 |
5 |
OpenSSO Enterprise 8.0サーバーは、認証ストアと照らし合せてユーザーの資格証明を検証し、ユーザー・セッションをOpenSSO Enterprise 8.0セッションとして作成して、OpenSSO Enterprise 8.0のSSO cookie1をこのセッションIDで設定します。 |
6 |
OpenSSO Enterprise 8.0サーバーは、ユーザーをAccess Manager 11.1.2サーバー( |
7 |
Access Manager 11.1.2サーバーは、手順2( |
8 |
Access Manager 11.1.2サーバーは、Access Managerのセッションを作成してヘッダーを設定します。また、OAM_IDのCookieとOpenSSOのSSO cookie2(OpenSSOプロキシ経由)も設定し、ユーザーを
|
表18-2に、共存環境の構成手順を示します。
表18-2 完了するタスク
タスク番号 | タスク | 参照先 |
---|---|---|
1 |
構成プロセスを開始する前に、共存トポロジを理解して精通しておきます。 |
「共存のトポロジ」を参照してください。 |
2 |
前提条件を満たします。 |
「共存の前提条件」を参照してください。 |
3 |
OpenSSO Enterprise 8.0サーバーで また、OpenSSO Enterprise 8.0で認証ポリシーを作成し、 |
「Agent-2を使用したAccess Manager 11.1.2サーバーのエンドポイントURLの保護」を参照してください。 |
4 |
Access Manager 11.1.2のデータ・ソースを構成します。 |
「Access Manager 11.1.2のデータ・ソースの構成」を参照してください。 |
5 |
Access Manager 11.1.2で認証モジュールを更新し、第18.6項で構成されるデータ・ソースを示すようにユーザー・アイデンティティ・ストアを指定します。 |
「Access Manager 11.1.2でのLDAPNoPasswordAuthModuleの更新」を参照してください。 |
6 |
|
「Agent-1のプロファイルのOpenSSO Enterprise 8.0からAccess Manager 11.1.2への移行」を参照してください。 |
7 |
Access Manager 11.1.2で |
|
8 |
Access Manager 11.1.2とOpenSSO Enterprise 8.0のCookie名が異なるように、Access Manager 11.1.2のデフォルトのCookie名を変更します。 |
|
9 |
OpenSSO Enterprise 8.0サーバーで、 |
|
10 |
OpenSSO Enterprise 8.0サーバーとAccess Manager 11.1.2サーバーの両方からログアウトを開始するように、ログアウト設定を構成します。 |
「ログアウト設定の構成」を参照してください。 |
11 |
構成を確認します。 |
「構成の確認」を参照してください。 |
この章で説明するタスクの実行を開始する前に、次の前提条件を満たします。
Oracle Fusion Middlewareのシステム要件および仕様のドキュメントを読み、インストール、アップグレードおよび移行を行う製品の最小要件を環境が満たしていることを確認します。
注意: Oracle Fusion Middlewareの概念とディレクトリ構造の詳細は、『Oracle Fusion Middleware Oracle Identity and Access Managementインストレーション・プランニング・ガイド』のOracle Fusion Middlewareの概念とディレクトリ構造の理解に関する項を参照してください。 |
使用しているOpenSSO Enterpriseのリリースが共存でサポートされていることを確認します。OpenSSO Enterprise 8.0の共存がサポートされている開始ポイントの詳細は、第11.8項「Sun OpenSSO EnterpriseとOracle Access Management Access Manager 11.1.2の共存がサポートされている開始ポイント」を参照してください。
Sun OpenSSO Enterprise 8.0とOracle Access Management Access Manager 11gリリース2(11.1.2)のインストールが完了し、サーバーが動作していることを確認します。
Oracle Access Management Access Manager 11gリリース2(11.1.2)のインストールと構成を行っていない場合、次のタスクを開始する前にこれらの作業を行う必要があります。Oracle Access Management Access Manager 11gリリース2(11.1.2)のインストールと構成の詳細は、『Oracle Fusion Middleware Oracle Identity and Access Managementインストレーション・ガイド』のOracle Identity and Access Management(11.1.2.0.0)のインストールに関する項とOracle Access Managementの構成に関する項を参照してください。
OpenSSO Enterprise 8.0およびAccess Manager 11.1.2が同じユーザー・ストアを共有することを確認します。
OpenSSO Enterprise 8.0サーバーおよびAccess Manager 11.1.2サーバーが異なるマシンで動作している場合は、これらのマシンの時刻が同期するようにします。
OpenSSO Enterprise 8.0でAgent-2
のプロファイルを作成し、Access Manager 11.1.2サーバーのエンドポイントURLを保護するポリシー・エージェント3.0を新規でインストールする必要があります。また、OpenSSO Enterprise 8.0サーバーでAccess Manager 11.1.2サーバーのエンドポイントURLを保護するためのポリシーも作成する必要があります。このためには、次のタスクを実行します。
(図18-1に示すように)OpenSSO Enterprise 8.0サーバーでAgent-2
プロファイルを作成するには、次の手順を実行します。
次のURLを使用してOpenSSO Enterprise 8.0サーバーの管理コンソールにログインします。
http://host
:port
/opensso
このURLの内容は、次のとおりです。
host
は、OpenSSO Enterprise 8.0コンソールをホストするマシンの完全修飾ドメイン名を表します。
port
は、OpenSSO Enterprise 8.0コンソールの指定されたバインド・ポートを表します。これは管理サーバーのバインド・ポートと同じです。
「アクセス制御」タブに移動します。
「レルム」表で、「レルム名」列の一番上のレルムをクリックします。
「エージェント」タブをクリックします。
OpenSSO Enterprise 8.0サーバーで作成および構成するエージェントのタイプに応じて、「Web」または「J2EE」タブをクリックします。
「新規」をクリックして新しいAgent-2
を作成し、「名前」、「パスワード」、「構成」、「サーバーURL」およびエージェントURLなどの必要な情報を入力します。
「作成」をクリックします。
Access Manager 11.1.2サーバーの前にAgent-2
(ポリシー・エージェント3.0)をインストールします。これはWebLogicのJ2EEエージェントになります。
ポリシー・エージェント3.0の詳細は、Sun OpenSSO Enterpriseポリシー・エージェント3.0ガイド(Oracle WebLogic Server/Portal 10)を参照してください。
Access Manager 11.1.2サーバーをAgent-2
で保護するには、エージェント・ファイル構成を含めるように、Webアプリケーションngsso-web.war
およびopenssoproxy-urlapper.war
をweb.xml
ファイルで更新する必要があります。次の手順を実行します。
IAM_HOME
/oam/server/apps/oam-server.ear
ディレクトリからoam-server.ear
ファイルを解凍して、内容を一時ディレクトリに抽出します。
ngsso-web.war
ファイル、web.xml
ファイルの順に内容を抽出します。Access Manager 11.1.2サーバーをAgent-2
で保護するには、web.xml
ファイルを適切なエージェント・フィルタ構成で更新します。フィルタ定義をurl-pattern
のURL /server/opensso/login/*
で更新します。
次に例を示します。
<filter> <fitler-name>Agent</filter-name> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</fliter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/server/opensso/login/*</url-pattern> </filter-mapping>
同じ場所IAM_HOME
/oam/server/apps/oam-server.ear
でopenssoproxy-urlmapper.war
ファイルの内容を抽出します。Access Manager 11.1.2サーバーをAgent-2
で保護するには、web.xml
ファイルを適切なエージェント・フィルタ構成で更新します。フィルタ定義をurl-pattern
のURL /UI/*
で更新します。
次に例を示します。
<filter> <filter-name>Agent</filter-name> <filter-class>com.sun.identity.agents.filter.AmAgentFilter</filter-class> </filter> <filter-mapping> <filter-name>Agent</filter-name> <url-pattern>/UI/*</url-pattern> </filter-mapping>
更新したngsso-web.warファイルとopenssoproxy-urlapper.warファイルを含めるようにoam-server.ear
ファイルを再パッケージします。
更新したoam-server.ear
ファイルを再デプロイします。
OpenSSO Enterprise 8.0で、Access Manager 11.1.2サーバーのエンドポイントURLを保護する認証ポリシー(Policy-1
と呼ばれる)を作成する必要があります。次の手順を実行します。
次のURLを使用してOpenSSO Enterprise 8.0サーバーの管理コンソールにログインします。
http://host
:
port
/opensso
このURLの内容は、次のとおりです。
host
は、OpenSSO Enterprise 8.0コンソール(管理サーバー)をホストするマシンの完全修飾ドメイン名を表します。
port
は、OpenSSO Enterprise 8.0コンソールの指定されたバインド・ポートを表します。これは管理サーバーのバインド・ポートと同じです。
「アクセス制御」タブに移動します。
「レルム」表で、「レルム名」列の一番上のレルムをクリックします。
「ポリシー」タブをクリックします。
新規ポリシーをクリックして、Access Manager 11.1.2サーバーのエンドポイントURLを保護するための新しいポリシーの詳細を入力します。この場合、「ルール」はOAM_server_protocol
://
OAM_managed_server_host
:
OAM_managed_server_port
/opensso/UI/Login*?*
およびOAM_server_protocol
://
OAM_managed_server_host
:
OAM_managed_server_port
/oam/server/opensso/login*
にして、「サブジェクト」は認証されたユーザーにします。
「OK」をクリックします。
Access Manager 11.1.2のデータ・ソースを構成するには、次の手順を完了します。
次のURLを使用してOracle Access Manager 11.1.2コンソールにログインします。
http://host
:port
/oamconsole
このURLの内容は、次のとおりです。
host
は、Oracle Access Managerコンソール(管理サーバー)をホストするマシンの完全修飾ドメイン名を表します。
port
は、Oracle Access Managerコンソールの指定されたバインド・ポートを表します。これは管理サーバーのバインド・ポートと同じです。
「システム構成」タブに移動します。
「共通構成」を選択します。
「データソース」を開き、「ユーザー・アイデンティティ・ストア」を選択します。
「ユーザー・アイデンティティ・ストア」で、左パネルの上部にある「作成」アイコンをクリックして新しいデータ・ソースを作成します。このデータ・ソースのタイプは、「オープンLDAP」(OUD)にします。この新しいデータ・ソースに対してOpenSSO Enterprise 8.0のOpenDSのユーザー・ストアの詳細を指定する必要があります。
LDAPNoPasswordAuthModuleは、Resource-1
を保護するOAM10gSchemeで使用される認証モジュールです。
第18.6項でその「ユーザー・アイデンティティ・ストア」として作成したデータ・ソースを指し示すように認証モジュールLDAPNoPasswordAuthModuleを更新する必要があります。次の手順を実行します。
次のURLを使用してOracle Access Management 11.1.2コンソールにログインします。
http://host
:port
/oamconsole
このURLの内容は、次のとおりです。
host
は、Oracle Access Managerコンソール(管理サーバー)をホストするマシンの完全修飾ドメイン名を表します。
port
は、Oracle Access Management 11.1.2コンソールの指定されたバインド・ポートを表します。これは管理サーバーのバインド・ポートと同じです。
「システム構成」タブに移動します。
「Access Manager」→「認証モジュール」を開きます。
「LDAP認証モジュール」を開きます。
LDAPNoPasswordAuthModuleをクリックし、第18.6項で作成したデータ・ソースを指し示すように「ユーザー・アイデンティティ・ストア」を更新します。
Agent-1
は、Resource-1
を保護するポリシー・エージェント(3.0)です。このエージェントはOpenSS0 8.0サーバーに登録されます。このエージェントがAccess Manager 11.1.2サーバーと通信するには、Agent-1
のプロファイルをOpenSSO Enterprise 8.0サーバーからAccess Manager 11.1.2サーバーに移行する必要があります。
エージェントのプロファイルをOpenSSO Enterprise 8.0からAccess Manager 11.1.2に移行する場合の詳細は、第15章「Sun OpenSSO Enterprise 8.0環境の移行」を参照してください。
注意:
|
適切なアプリケーション・ドメインに、Resource-1
を保護する認証ポリシー(Policy-2
と呼ばれる)を、OAM10gAuthSchemeという認証スキームで作成します。
また、必要に応じて認可ポリシーも作成します。
認証および認可ポリシーの作成と管理の詳細は、『Oracle Fusion Middleware Oracle Access Management管理者ガイド』のリソースの保護とSSOの有効化のためのポリシーの管理に関する項を参照してください。
Access Manager 11.1.2サーバーとOpenSSO Enterprise 8.0サーバー間でCookie名の競合が発生しないように、Access Manager 11.1.2サーバーでOpenSSO CookieのデフォルトのCookie名を変更する必要があります。次の手順を実行します。
IAM_HOME
/user_projects/domains/base_domain/config/fmwconfig/oam-config.xml
を開きます。
セクションopenssoproxyで、openssoCookieNameの値を、デフォルトのCookie名iPlanetDirectoryProから別の値(OAMOpenSSOCookie
など)に変更します。
次のURLを使用してOracle Access Management 11.1.2コンソールにログインします。
http://host
:port
/oamconsole
「システム構成」タブに移動します。
「Access Manager」→「SSOエージェント」を開きます。
「OpenSSOエージェント」を開きます。
必要なAgent-1
を選択し、Cookie名を新しい値(OAMOpenSSOCookieなど)で更新します。
Access Manager 11.1.2サーバーを再起動します。
Access Manager 11.1.2のポリシーをOpenSSO Enterprise 8.0サーバーで作成した後、Agent-2
のプロファイル(タスク6で作成)をOpenSSO Enterprise 8.0サーバーで更新する必要があります。次の手順を実行します。
次のURLを使用してOpenSSO Enterprise 8.0サーバーの管理コンソールにログインします。
http://host
:port
/opensso
このURLの内容は、次のとおりです。
<host>
は、OpenSSO Enterprise 8.0コンソール(管理サーバー)をホストするマシンの完全修飾ドメイン名を表します。
<port>
は、OpenSSO Enterprise 8.0コンソールの指定されたバインド・ポートを表します。これは管理サーバーのバインド・ポートと同じです。
「アクセス制御」タブに移動します。
「レルム」表で、「レルム名」列の/(最上位のレルム)をクリックします。
「エージェント」タブをクリックします。
Agent-2
のタイプに応じて、「Web」または「J2EE」タブをクリックします。
Agent-2
をクリックします。
「アプリケーション」タブをクリックします。
セッション属性処理をクリックします。
セッション属性フェッチ・モードにHTTP_HEADERを選択します。
OAM_REMOTE_USERヘッダーの値をUserTokenに設定して、このエージェントのセッション属性をマップします。これを行うには、セッション属性マップで、マップ・キーにUserToken、対応するマップの値にOAM_REMOTE_USERを入力します。
共存モードでOpenSSO Enterprise 8.0とAccess Manager 11.1.2間のシングル・ログアウトが行われるように、ログアウト設定を構成する必要があります。これを実行するには、次の2つの項で説明する手順に従ってください。
OpenSSO Enterprise 8.0サーバーからログアウトを開始するには、認証後プラグインを作成し、onLogout()
メソッドを実装して、問合せパラメータgoto
をリダイレクトURL <OAM_server_protocol>://<OAM_server_host>:<OAM_managed_server_port>/opensso/UI/Logout
に設定する必要があります。このURLは、ユーザーをAccess Manager 11.1.2サーバーのエンドポイントURLにリダイレクトします。
Access Manager 11.1.2サーバーからログアウトを開始するには、OpenSSO Enterprise 8.0サーバーのログアウト・エンドポイントにリダイレクトするように、Access Manager 11.1.2サーバーで構成されるそれぞれのポリシー・エージェント3.0(Agent-1
)で「ログアウトURL」を更新する必要があります。次の手順を実行します。
次のURLを使用してOracle Access Management 11.1.2コンソールにログインします。
http://host
:port
/oamconsole
「システム構成」タブに移動します。
「Access Manager」→「SSOエージェント」を開きます。
「OpenSSOエージェント」を開きます。
Agent-1
(Access Manager 11.1.2で構成され、Resource-1
を保護しているエージェント)を選択し、OpenSSO Enterprise 8.0サーバーのログアウト・エンドポイント(OpenSSO8.x_server_protocol
://
OpenSSO8.x_server_host
:
OpenSSO8.x_managed_server_port
/opensso/UI/Logout
)にリダイレクトするように「ログアウトURL」を設定します。goto
問合せパラメータは、Agent-1
に構成されるリダイレクトURLに設定されます。
構成を確認するには、次の手順を実行します。
Resource-1
にアクセスします。認証を受けるためにOpenSSO Enterprise 8.0サーバーにリダイレクトされるかどうかを観察します。認証後、Resource-1
にアクセスできます。
(図18-1に示すように)Agent-3
で保護されるリソースにアクセスして、リソースに正常にアクセスするために明示的なログインが必要かどうかを観察します。
OpenSSO Enterprise 8.0サーバーとAccess Manager 11.1.2サーバーの両方からのログアウトを開始し、3つのCookie(cookie1、cookie2およびOAM_ID Cookie)がすべて消去されていることを観察します。