Oracle® Fusion Middleware Oracle Identity Management Suite統合ガイド 11g リリース2 (11.1.2.3.0) E67361-04 |
|
![]() 前 |
![]() 次 |
この章では、Oracle Access Management Access Managerがアイデンティティ・フェデレーションを使用してフェデレーション・パートナとの認証済セッションを作成する方法について説明します。
この章では、次の内容を説明します。
この項では、Access Managerとのフェデレーションに関する背景について説明します。内容は次のとおりです。
アイデンティティ・フェデレーションは次の2つのアーキテクチャで使用可能です。
Oracle Access Management Identity Federationとして知られ、Oracle Access Managementに組み込まれるフェデレーション・エンジンとして(11gリリース2 (11.1.2))。
Oracle Identity Federationとして知られ、複数ドメインからなるアイデンティティ・ネットワークでのシングル・サインオンおよび認証を可能にする、スタンドアロンの自己完結型フェデレーション・サーバーとして(11gリリース1 (11.1.1))。
Oracle Identity Federationに付属のSP統合エンジンは、サーバーからのリクエストを処理してIdentity and Access Management (IAM)サーバーでユーザー用の認証済セッションを作成するサーブレットで構成されています。このエンジンには、Access Manager(旧Oracle Access Manager)などの異なるIAMサーバーとの相互作用を可能にする複数の内部プラグインが含まれています。
関連項目: Oracle Access Managementの命名規則および名前の変更の詳細は、『Oracle Access Management管理者ガイド』のOracle Access Managementの概要に関する説明を参照してください。 |
Access Managerとのアイデンティティ・フェデレーションを使用して認証済ユーザー・セッションを作成するための様々なデプロイメント・オプションを使用できます。
Oracle Fusion Middleware frameworkでは、クロス・ドメイン・シングル・サインオンを実現するため次のような統合された手法をサポートしています。
Access Managerサーバーに組み込まれたOracle Access Management Identity Federationエンジン。すべての構成がAccess Managerで実行されます。
この方法は、11gリリース2 (11.1.2.3.0)で利用可能です。このエンジンは、サービス・プロバイダ(SP)・モードとアイデンティティ・プロバイダ(IdP)・モードの両方をサポートしています。
フェデレーション機能を提供するために統合可能なOracle Identity FederationとOracle Access Managerの個別のサーバー。この統合では、両方のサーバーを管理および構成する必要があります。
この方法は、11gリリース1 (11.1.1)で利用可能です。
この方法において、Oracle Identity FederationではOracle Access Managerの2つのデプロイメント・シナリオを用意しています。
Oracle Access Manager 10gと統合されたOracle Identity Federation 11gリリース1 (11.1.1)
Access Manager 11gと統合されたOracle Identity Federation 11gリリース1 (11.1.1)
表6-1に、アイデンティティ・フェデレーション製品をOracle Access Management Access Managerと統合する際に使用できるオプションをまとめ、デプロイメント手順へのリンクを示します。
表6-1 Oracle Access Managerを含むデプロイメント・オプション
Access Managerバージョン | 説明 | 属性情報 |
---|---|---|
Oracle Access Management Access Manager 11gR2 |
Access Managerには、Access Manager管理コンソールを介して構成可能なSPモードとIdPモードの両方の機能をサポートする組込みのフェデレーション・エンジンが含まれています。 |
『Oracle Access Management管理者ガイド』のOracle Access Suiteコンソール内のフェデレーションの概要に関する項 |
Oracle Access Manager 11g R1 |
スタンドアロンのOracle Identity Federation 11gリリース1サーバーは、Access Manager 11gサーバーと統合します。 |
Oracle Fusion Middleware Oracle Access Managerに関する統合ガイドのOracle Identity Federationの統合に関する項 |
Oracle Access Manager 10g |
スタンドアロンのOracle Identity Federation 11gリリース1サーバーは、Oracle Access Manager 10gサーバーと統合します。 |
Oracle Fusion Middleware Oracle Identity Federation管理者ガイド |
Oracle Fusion Middleware Oracle Identity Federation管理者ガイド
この項では、Access Manager 11g リリース2 (11.1.2.3.0)とOracle Identity Federation 11g リリース1 (11.1.1)との統合方法を説明しています。これはまた、Access Manager 11gR2とOracle Identity Federation 11gR1と表現されています。
この章では、2つの統合モードについて説明します。
SPモード
このモードでは、Oracle Identity FederationによりフェデレーションSSOを介してユーザーを認証して認証状態をAccess Managerに伝播し、そこでセッション情報を維持します。
認証モード
このモードでは、Access ManagerがOracle Identity Federationのかわりにユーザーを認証できます。
図6-1に、各モードでの処理フローを示します。
SPモードでは、Oracle Identity Federationは、フェデレーション・プロトコルを使用してユーザーを識別し、Access Managerで認証済セッションを作成するようAccess Managerにリクエストします。
認証モードでは、Oracle Identity Federationは、Oracle Identity Federationリソースを保護するWebゲート・エージェントを使用して認証をAccess Managerに委任します。ユーザーが認証されると、Webゲートは、HTTPヘッダーによりユーザーのアイデンティティをアサートします。Oracle Identity Federationはこのヘッダーを読み取り、ユーザーを識別します。
Access ManagerとOracle Identity Federationの統合には、次のタスクが必要です。
Oracle WebLogic ServerおよびIdentity Management (IdM)コンポーネントなどの必要なコンポーネントがインストールされて稼働していることを確認します。詳細は、第6.2.4項を参照してください。
リソースを保護するため、Oracle HTTP ServerをパートナとしてAccess Managerに登録します。詳細は、第6.2.5項を参照してください。
サービス・プロバイダ(SP)またはアイデンティティ・プロバイダ(IdP)あるいはその両方としてAccess Managerとともに機能するように、Oracle Identity Federationサーバーを構成します。詳細は、第6.2.6項を参照してください。
Oracle Identity Federationに認証を委任するように、またはOracle Identity Federationのかわりにユーザーを認証するように、Access Managerを構成します。詳細は、第6.2.7項を参照してください。
統合タスクを実行する前に、次のコンポーネントをインストールする必要があります。
Oracle WebLogic Server
Oracle HTTP Server 11g
Access Manager 11g
Oracle Identity Federation 11g
Webゲート(認証モードで必要)
注意: プラットフォームおよびバージョンの詳細は、Certification Matrixを参照してください。 |
関連項目: Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド |
Oracle WebLogic Server
管理サーバーと管理対象サーバーが起動しており、稼働中であることを確認します。
Oracle HTTP Server
テスト目的で、保護対象のリソースを識別または作成します。たとえば、テスト・リソースとしてサーバーにindex.html
ファイルを作成します。
Oracle Identity Federation
次の形式のURLを使用して、Oracle Identity FederationサーバーのFusion Middleware Controlコンソールにアクセスします。
http://oif_host:oif_em_port/em
すべてのサーバーが実行されていることを確認します。
この項では、選択した保護メカニズムに応じて、Oracle HTTP Serverと11g WebゲートをOracle Access Managerに登録する方法について説明します。
認証のため、Oracle HTTP ServerとAccess Manager 11g WebゲートをAccess Managerに登録するには、次の手順に従います。
注意: この手順において、MW_HOME はOracle Fusion Middlewareホーム・ディレクトリを表します。 |
次のディレクトリにあるOAM11GRequest.xml
ファイルまたはOAM11GRequest_short.xml
ファイルを見つけます。
MW_HOME/Oracle_IDM1/oam/server/rreg/input
ファイルに必要な変更を加えます。
次のディレクトリにあるoamreg.sh
スクリプトを見つけます。
MW_HOME/Oracle_IDM1/oam/server/rreg/bin
次のコマンド文字列を使用してスクリプトを実行します。
注意: ユーザーはweblogic であり、パスワードを指定する必要があります。 |
./oamreg.sh inband input/OAM11GRequest.xml
または
./oamreg.sh inband input/OAM11GRequest_short.xml
Access Managerコンソールを使用して、認証用のAccess Managerで保護するOracle Identity Federation URLを表すリソースを作成します。このURLには、Oracle Identity Federationサーバーのホスト名とポート、およびリソースへのパス(モードによって異なります)が含まれます。
http(s)://oif-host:oif-port/fed/user/authnoam11g
認証ポリシーおよび認可ポリシーにより、このリソースを保護します。
Oracle HTTP Serverを再起動します。
Oracle_WT1/instances/instance1/bin/opmnctl restartproc process-type=OHS
次のようにOracle HTTP Serverを再起動することもできます。
Oracle_WT1/instances/instance1/bin/opmnctl stopall Oracle_WT1/instances/instance1/bin/opmnctl startall
この項では、Access Managerと統合するようにOracle Identity Federationを構成する方法について説明します。
SPモードでは、Access ManagerがフェデレーションSSO用のOracle Identity Federationに認証を委任します。
認証モードでは、Oracle Identity FederationがAccess Managerに認証を委任します。
この項の内容は次のとおりです。
Oracle Identity FederationとAccess Managerは、同じLDAPディレクトリを使用する必要があります。
使用するLDAPディレクトリは、Access Managerでデフォルトのアイデンティティ・ストアとして定義する必要があります。
Oracle Identity Federationユーザー・データ・ストアは、使用するLDAPディレクトリを参照する必要があります。
データ・ストア構成を検証するには、次の手順を実行します。
Fusion Middleware ControlでOracle Identity Federationインスタンスを見つけます。
「管理」→「データ・ストア」の順にナビゲートします。
ユーザー・データ・ストアがデフォルトのAccess Managerアイデンティティ・ストアと同じディレクトリを指していることを確認します。
Oracle Identity Federation認証エンジンを構成してWebゲート11gエージェントにより提供される情報を取得するには、次の手順を実行します。
Fusion Middleware ControlでOracle Identity Federationインスタンスを見つけます。
「管理」→「認証エンジン」にナビゲートします。
Access Manager 11g認証エンジンを有効化します。
「エージェント・タイプ」として「WebGate 11g」を選択します。
「ユーザーの一意IDヘッダー」としてOAM_REMOTE_USER
を入力します。
「デフォルトの認証エンジン」ドロップダウン・リストで、「Oracle Access Manager 11g」を選択します。
ログアウトの構成
Oracle Identity FederationをSPモードでAccess Managerに統合する予定の場合は、Access Manager 11gとのログアウト統合がOAM11g SPエンジンで行われるため、ログアウトを無効にします。
SPモードでOracle IdentityをAccess Managerと統合しない場合:
ログアウトを有効にします。
URLとして次を入力します。
http(s)://oam_host:oam_port/oam/server/logout
「適用」をクリックします。
この項では、Oracle Identity Federationがアサーション・トークンを送信してセッション管理をOracle Access Managerに転送できるように、Access Manager用にSPモードでOracle Identity Federationを構成するために実行する必要のある手順をリストします。
必要な手順は次のとおりです。
Fusion Middleware ControlでOracle Identity Federationインスタンスを見つけます。
「管理」→「サービス・プロバイダ統合モジュール」の順にナビゲートします。
「Oracle Access Manager 11g」タブを選択します。
ページを次のように構成します。
「SPモジュールの有効化」ボックスを選択します。
「デフォルトSP統合モジュール」ドロップダウンで、「Oracle Access Manager 11g」を選択します。
「ログアウト有効」ボックスを選択します。
次のURLを構成します。
Login URL : http(s)://oam_host:oam_port/oam/server/dap/cred_submit Logout URL: http(s)://oam_host:oam_port/oam/server/logout
ここで、oam_hostおよびoam_portは、それぞれAccess Managerサーバーのホストおよびポート番号です。
Access Managerのユーザー名属性に対応させるため、「ユーザー名属性」の値をcnに設定します。
「適用」をクリックします。
「再生成」をクリックします。
この操作により、Access ManagerサーバーとOracle Identity Federationサーバーとの間で交換されるトークンの暗号化と復号化のための鍵を含むキーストア・ファイルが生成されます。「別名保存」ダイアログを使用してキーストア・ファイルを保存することを忘れないでください。
キーストア・ファイルをAccess Managerのインストール・ディレクトリ内の場所にコピーします。
注意: 後で参照する必要があるため、この場所をメモします。 |
この項では、Oracle Identity Federationと統合するようにAccess Managerを構成する方法について説明します。
SPモードでは、Access ManagerがフェデレーションSSO用のOracle Identity Federationに認証を委任します。
認証モードでは、Oracle Identity FederationがAccess Managerに認証を委任します。
この項の内容は次のとおりです。
このタスクでは、OIFScheme
を使用してフェデレーションのシングル・サインオンでリソースを保護する際に、認証のためユーザーをOracle Identity Federationにリダイレクトするよう、Access Managerを構成します。必要な手順は次のとおりです。
Access Manager管理コンソールにログインします。
http://oam_adminserver_host:oam_adminserver_port/oamconsole
「ポリシー構成」タブを選択します。
OIFScheme
を選択して開きます。
「チャレンジURL」フィールドで、OIF-Host
およびOIF-Port
の値を変更します。
http(s)://oif-host:oif-port/fed/user/spoam11
「コンテキスト・タイプ」ドロップダウンの値がexternalに設定されていることを確認します。
「適用」をクリックして変更を保存します。
Oracle Identity FederationがSPモードのみ、または認証モードとSPモードで使用される場合は、第6.2.7.2.1項を参照してください。
Oracle Identity Federationが認証モードのみで使用される場合は、第6.2.7.2.2項を参照してください。
注意: 第6.3項では、Oracle Identity Federationを信頼できるパートナとして登録するためにここで示している手動の操作を、自動的に行うために実行可能なスクリプトについて説明しています。 |
注意: この手順を実行する前に、OAM管理サーバーとすべての管理対象サーバーが実行中であることを確認します。 |
Access Managerサーバーがインストールされているミドルウェア・ホーム内のディレクトリにキーストア・ファイルをコピーします。
WLSTコマンドを使用して、oam-config.xml
構成ファイル内のOIFDAP
パートナ・ブロックを更新します。手順と構文は次のとおりです。
次のコマンドを実行して、シェル環境に入ります。
$DOMAIN_HOME/common/bin/wlst.sh
次のコマンド構文により、Access Manager管理サーバーに接続します。
connect('weblogic','password','host:port')
次のコマンドを実行して、構成ファイル内のパートナ・ブロックを更新します。
registerOIFDAPPartner(keystoreLocation=location of keystore file, logoutURL=logoutURL)
logoutURL
は、Access Managerサーバーからユーザーをログアウトする際に起動されるOracle Identity FederationログアウトURLです。
次に例を示します。
registerOIFDAPPartner(keystoreLocation="/home/pjones/keystore", logoutURL="http://abcdef0123.in.mycorp.com:1200/fed/user/spslooam11g?doneURL=http://abc1234567.in.mycorp.com:6001/oam/pages/logout.jsp")
WLSTコマンドを使用して、oam-config.xml
構成ファイル内のOIFDAP
パートナ・ブロックを更新します。手順と構文は次のとおりです。
次のコマンドを実行して、シェル環境に入ります。
$DOMAIN_HOME/common/bin/wlst.sh
次のコマンド構文により、Access Manager管理サーバーに接続します。
connect('weblogic','password','host:port')
次のコマンドを実行して、構成ファイル内のパートナ・ブロックを更新します。
registerOIFDAPPartnerIDPMode(logoutURL=logoutURL)
logoutURL
は、Access Managerサーバーからユーザーをログアウトする際に起動されるOracle Identity FederationログアウトURLです。
次に例を示します。
registerOIFDAPPartnerIDPMode(logoutURL="http://abcdef0123.in.mycorp.com:1200/fed/user/authnslooam11g?doneURL=http://abc1234567.in.mycorp.com:6001/oam/pages/logout.jsp")
SPモードでAccess ManagerとOracle Identity Federationを統合すると、OIFScheme
によってリソースを保護できるようになります(OIFSchemeは、認証されていないユーザーがそのスキームで保護されているリソースへのアクセスを要求すると、フェデレーションのシングル・サインオン操作をトリガーします)。
「ポリシー構成」タブの「アプリケーション・ドメイン」で、OIFScheme
を使用して認証ポリシーを定義し、その認証ポリシーでリソースを保護します。
最後の構成タスクでは、統合が正しく構成されているかどうかをテストします。この手順は、認証モードとSPモードとの間で異なります。
次の手順に従って、SPモードで構成が正しいかどうかをテストします。
Oracle Identity Federationとリモートのアイデンティティ・プロバイダ(IdP)間のフェデレーテッド信頼を確立します。
そのアイデンティティ・プロバイダをデフォルトのSSOアイデンティティ・プロバイダとして設定します。
保護されたリソースにアクセスしてみます。
正しく設定されている場合は、認証のため、IdPにリダイレクトされます。このページでユーザー資格証明が必要であることを確認します。
ログイン・ページで有効な資格証明を入力します。
注意: ユーザーは、IdPセキュリティ・ドメインとOracle Identity Federation/Access Managerセキュリティ・ドメインの両方に存在する必要があります。 |
保護されたページにリダイレクトされたことを確認します。
次のCookieが作成されたことを確認します。
OAM_ID
ORA_OSFS_SESSION
OHS Cookie
次の手順に従って、認証モードで構成が正しいかどうかをテストします。
Oracle Identity Federationとリモートのサービス・プロバイダ間のフェデレーテッド信頼を確立します。
サービス・プロバイダからフェデレーションのシングル・サインオンを開始します。
IdPでAccess Managerログイン・ページにリダイレクトされることを確認します。このページでは、ユーザー資格証明がリクエストされます。
関連する資格証明を入力し、ページを処理します。
サービス・プロバイダ・ドメインにリダイレクトされることを確認します。
この項では、Oracle Access Manager統合について、第6.2項に記載されているOracle Identity Federation構成タスクの一部を自動化するスクリプトについて説明します。
この自動化された手順によって、手動の手順よりも、統合が円滑で高速になります。
この項の内容は次のとおりです。
統合に関して、あらかじめ必要な手順を実行してから、その他の手順を行います。次が完了していることを確認します。
次のコンポーネントがインストール済となっています。
Oracle WebLogic Server
Oracle HTTP Server
Oracle Access Manager 11g
Oracle Identity Federation 11g
注意: プラットフォームおよびバージョンの詳細は、Certification Matrixを参照してください。 |
統合の前提条件のガイダンスについては、Oracle Fusion Middleware Oracle Identity Managementに関するインストレーション・ガイドを参照してください。
Oracle Identity Federation 11gとOracle HTTP Serverが統合されています(すなわち、Oracle HTTP ServerがOracle Identity Federationサーバーに対するフロントエンドとして構成されています)。
詳細は、『Oracle Fusion Middleware Oracle Identity Federation管理者ガイド』のOracle HTTP Serverを使用したOracle Identity Federationのデプロイに関する項を参照してください。
SSOエージェントは、すでに作成済でAccess Manager 11gと統合されています。
Oracle WebLogic Server
管理サーバーと管理対象サーバーが起動しており、稼働中であることを確認します。
Oracle Identity Federation
次の形式のURLを使用して、Oracle Identity FederationサーバーのFusion Middleware Controlコンソールにアクセスします。
http://oif_host:oif_em_port/em
すべてのサーバーが実行されていることを確認します。
この項では、Oracle Access ManagerとOracle Identity Federationの統合における一部のタスクを自動化する手順を説明します。この手順は、配布されたPythonスクリプトの実行によって行われます。
第6.2.6項「Oracle Identity Federationの構成」では、スクリプトで自動化可能なタスクについて説明しています。
このスクリプトは、次のタスクおよび手順を実行します。
Oracle Identity Federationのすべての構成の自動化
Oracle Identity FederationをDAPパートナとしてAccess Managerに登録
Oracle Identity FederationのURLをポリシー・ドメインに保護されているリソースとして追加
一部のファイルをAccess Managerホストにコピーする必要があります。ファイルは次のとおりです。
setupOIFOAMConfig.sh
,
setupOIFOAMIntegration.py
ロケール固有のリソース・バンドルoifWLSTResourceBundle
_locale.properties
これらのファイルを保存するために、Access Managerホスト・マシンでディレクトリを作成するかまたは既存のディレクトリにコピーします。たとえば、/scratch/scripts
(Linux)またはc:\temp\scripts
(Windows)です。
スクリプトは名前指定パラメータを入力として解釈します(入力の順序は関係ありません)。入力値が渡されないとたいていの場合に、デフォルト値が適用されます。
表6-2は、スクリプトによって必要とされる入力を示しています。
表6-2 OAM-OIF 11gR1統合スクリプトへの入力
パラメータ | 説明 | デフォルト | 必須かどうか |
---|---|---|---|
oifHost |
Oracle Identity Federation管理対象サーバーのホスト名 |
なし |
はい |
oifPort |
Oracle Identity Federation管理対象サーバーのポート番号 |
7499 |
いいえ |
oifAdminHost |
Oracle Identity Federation管理サーバーのホスト名 |
oifHost |
いいえ |
oifAdminPort |
Oracle Identity Federation管理サーバーのポート番号 |
7001 |
いいえ |
oamAdminHost |
Access Manager管理サーバーのホスト名 |
localhost |
いいえ |
oamAdminPort |
Access Manager管理サーバーのポート番号 |
7001 |
いいえ |
agentType |
使用されるエージェント・タイプ(例: webgate10g、webgate11g、 |
webgate11g |
いいえ |
注意: エージェント・タイプは、rreg ツールを使用して、またはAccess Managerコンソールを介してAccess Managerで作成されたエージェントです。 |
自動化は、スクリプト・ファイルsetupOIFOAMConfig.sh
(Unix)またはsetupOIFOAMConfig.cmd
(Windows)の実行によって行われます。
その手順を次に示します。
UNIXの場合
スクリプトの実行手順を次に示します。例のパラメータ値に適切な値を代入してください。
コマンド行プロンプトで、DOMAIN_HOME
を次のように設定します。
export DOMAIN_HOME=path to domain home
Oracle Identity Federation管理および管理対象サーバーが同じホストに存在し、エージェント・タイプは非デフォルト(例: webgate10g)の場合、次のコマンドを実行します。
./setupOIFOAMConfig.sh oifHost=myhost oifPort=portnum oamAdminHost=myhost2 oamAdminPort=portnum2 agentType=webgate10g
Oracle Identity Federation管理および管理対象サーバーが別のホストに存在し、エージェント・タイプはデフォルト(例: webgate11g)の場合、次のコマンドを実行します。
./setupOIFOAMConfig.sh oifHost=myhost oifPort=portnum oifAdminHost=myhost2 oifAdminPort=portnum2 oamAdminHost=myhost3 oamAdminPort=portnum3
Oracle Identity Federation管理および管理対象サーバーが同じホストに存在し、すべてのデフォルトが表6-2から適用される場合、次のコマンドを実行します。
./setupOIFOAMConfig.sh oifHost=myhost oamAdminHost=myhost2
Windowsの場合
スクリプトの実行手順を次に示します。例のパラメータ値に適切な値を代入してください。
コマンド行プロンプトで、DOMAIN_HOME
を次のように設定します。
set DOMAIN_HOME=path to oam domain home
Oracle Identity Federation管理および管理対象サーバーが同じホストに存在し、エージェント・タイプは非デフォルト(例: webgate10g)の場合、次のコマンドを実行します。
setupOIFOAMConfig.cmd "oifHost=myhost" "oifPort=portnum" "oamAdminHost=myhost2" "oamAdminPort=portnum2" "agentType=webgate10g"
Oracle Identity Federation管理および管理対象サーバーが別のホストに存在し、エージェント・タイプはデフォルト(例: webgate11g)の場合、次のコマンドを実行します。
setupOIFOAMConfig.cmd "oifHost=myhost" "oifPort=portnum" "oifAdminHost=myhost2" "oifAdminPort=portnum2" "oamAdminHost=myhost3" "oamAdminPort=portnum3"
Oracle Identity Federation管理および管理対象サーバーが同じホストに存在し、すべてのデフォルトが表6-2から適用される場合、次のコマンドを実行します。
setupOIFOAMConfig.cmd "oifHost=myhost" " "oamAdminHost=myhost3"