4 Identity Federationとの統合
この章では、次の内容を説明します。
4.1 Oracle Access Managerとのアイデンティティ・フェデレーションの概要
この項では、Access Managerとのフェデレーションに関する背景について説明します。
内容は次のとおりです。
4.1.1 Oracle Access Management Identity Federationについて
アイデンティティ・フェデレーションは次の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サーバーとの相互作用を可能にする複数の内部プラグインが含まれています。
4.1.2 Identity Federationのデプロイメント・オプションについて
関連項目:
Oracle Access Managementの命名規則および名前の変更の詳細は、Oracle Access Management管理者ガイドのOracle Access Managementの概要に関する項を参照してください。
Access Managerとのアイデンティティ・フェデレーションを使用して認証済ユーザー・セッションを作成するための様々なデプロイメント・オプションを使用できます。
Oracle Fusion Middlewareフレームワークでは、クロス・ドメイン・シングル・サインオンを実現するため次のような統合された手法をサポートしています。
-
Access Managerサーバーに組み込まれたOracle Access Management Identity Federationエンジン。すべての構成がAccess Managerで実行されます。
この方法は、12c (12.2.2)で利用可能です。このエンジンは、サービス・プロバイダ(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)
-
表4-1に、アイデンティティ・フェデレーション製品をOracle Access Management Access Managerと統合する際に使用できるオプションをまとめ、デプロイメント手順へのリンクを示します。
表4-1 Oracle Access Manager 10gとAccess Manager 11gを含むデプロイメント・オプション
Access Managerバージョン | 説明 | 追加情報 |
---|---|---|
Oracle Access Management Access Manager 11gR2 |
Access Managerには、Oracle Access Managementコンソールを介して構成可能なSPモードとIdPモードの両方の機能をサポートする組込みのフェデレーション・エンジンが含まれています。 |
Oracle Access Management管理者ガイドのOracle Access Suiteコンソール内のフェデレーションの概要に関する項 |
Oracle Access Manager 11gR1 |
スタンドアロンのOracle Identity Federation 11gリリース1サーバーは、Access Manager 11gサーバーと統合します。 |
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 Access Manager 10gを使用したOracle Identity Federationのデプロイに関する項 |
4.2 Access Manager 11gR2とIdentity Federation 11gR1の統合
この項では、Access Manager 12c (12.2.2)とOracle Identity Federation 11gリリース1 (11.1.1)との統合方法を説明しています。
これはまた、Access Manager 11gR2とOracle Identity Federation 11gR1と表現されています。
4.2.1 SPモードと認証統合モードについて
この章では、2つの統合モードについて説明します。
-
SPモード
このモードでは、Oracle Identity FederationによりフェデレーションSSOを介してユーザーを認証して認証状態をAccess Managerに伝播し、そこでセッション情報を維持します。
-
認証モード
このモードでは、Access ManagerがOracle Identity Federationのかわりにユーザーを認証できます。
図4-1に、各モードでの処理フローを示します。
図4-1 Identity Federationの付随したAccess Manager
SPモードでは、Oracle Identity Federationは、フェデレーション・プロトコルを使用してユーザーを識別し、Access Managerで認証済セッションを作成するようAccess Managerにリクエストします。
認証モードでは、Oracle Identity Federationは、Oracle Identity Federationリソースを保護するWebゲート・エージェントを使用して認証をAccess Managerに委任します。ユーザーが認証されると、Webゲートは、HTTPヘッダーによりユーザーのアイデンティティをアサートします。Oracle Identity Federationはこのヘッダーを読み取り、ユーザーを識別します。
4.2.2 Access ManagerとOracle Identity Federationの統合の概要
Access ManagerとOracle Identity Federationの統合には、次のタスクが必要です。
-
Oracle WebLogic ServerおよびIdentity Management (IdM)コンポーネントなどの必要なコンポーネントがインストールされて稼働していることを確認します。詳細は、「サーバーが稼働中でリソースが保護されていることの確認」を参照してください。
-
リソースを保護するため、Oracle HTTP ServerをパートナとしてAccess Managerに登録します。詳細は、「Access ManagerとOIFの統合のためのAccess ManagerへのOracle HTTP Server WebGateの登録」を参照してください。
-
サービス・プロバイダ(SP)またはアイデンティティ・プロバイダ(IdP)あるいはその両方としてAccess Managerとともに機能するように、Oracle Identity Federationサーバーを構成します。詳細は、「Access ManagerとOIFの統合のためのOracle Identity Federationの構成」を参照してください。
-
Oracle Identity Federationに認証を委任するように、またはOracle Identity Federationのかわりにユーザーを認証するように、Access Managerを構成します。詳細は、「Oracle Identity Federationとの統合のためのAccess Managerの構成」を参照してください。
4.2.3 Access ManagerとOracle Identity Federationの統合の前提条件
統合タスクを実行する前に、次のコンポーネントをインストールする必要があります。
-
Oracle WebLogic Server
-
Oracle HTTP Server 11g
-
Access Manager 11g
-
Oracle Identity Federation 11g
-
Webゲート(認証モードで必要)
ノート:
プラットフォームおよびバージョンの詳細は、Certification Matrixを参照してください。
4.2.4 サーバーが稼働中でリソースが保護されていることの確認
構成プロセスを開始する前に、次のコンポーネントを確認します。
-
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
すべてのサーバーが実行されていることを確認します。
4.2.5 Access ManagerとOIFの統合のためのAccess ManagerへのOracle HTTP Server WebGateの登録
この項では、選択した保護メカニズムに応じて、Oracle HTTP Serverと11g WebゲートをOracle Access Managerに登録する方法について説明します。
認証のため、Oracle HTTP ServerとAccess Manager 11g WebゲートをAccess Managerに登録するには、次のステップに従います。
ノート:
この手順において、MW_HOME
はOracle Fusion Middlewareホーム・ディレクトリを表します。
4.2.6 Access ManagerとOIFの統合のためのOracle Identity Federationの構成
この項では、Access Managerと統合するようにOracle Identity Federationを構成する方法について説明します。
-
SPモードでは、Access ManagerがフェデレーションSSO用のOracle Identity Federationに認証を委任します。
-
認証モードでは、Oracle Identity FederationがAccess Managerに認証を委任します。
この項には、次の項目が含まれます。
4.2.6.1 Oracle Identity Federationユーザー・データ・ストアの検証
Oracle Identity FederationとAccess Managerは、同じLDAPディレクトリを使用する必要があります。
-
使用するLDAPディレクトリは、Access Managerでデフォルトのアイデンティティ・ストアとして定義する必要があります。
-
Oracle Identity Federationユーザー・データ・ストアは、使用するLDAPディレクトリを参照する必要があります。
データ・ストア構成を検証するには、次のステップを実行します。
- Fusion Middleware ControlでOracle Identity Federationインスタンスを見つけます。
- 「管理」→「データ・ストア」の順にナビゲートします。
- ユーザー・データ・ストアがデフォルトのAccess Managerアイデンティティ・ストアと同じディレクトリを指していることを確認します。
4.2.6.2 Oracle Identity Federation認証エンジンの構成
ノート:
「タスクを自動化するAccess Manager-OIF統合スクリプトの実行」では、ここで示している手動の操作を自動的に行うために実行可能なスクリプトについて説明しています。
Oracle Identity Federation認証エンジンを構成してWebゲート11gエージェントにより提供される情報を取得するには、次のステップを実行します。
4.2.6.3 Oracle Identity Federation SP統合モジュールの構成
この項では、Oracle Identity Federationがアサーション・トークンを送信してセッション管理をOracle Access Managerに転送できるように、Access Manager用にSPモードでOracle Identity Federationを構成するために実行する必要のあるステップをリストします。
ノート:
「タスクを自動化するAccess Manager-OIF統合スクリプトの実行」では、ここで示している手動の操作を自動的に行うために実行可能なスクリプトについて説明しています。
必要なステップは次のとおりです。
4.2.7 Oracle Identity Federationとの統合のためのAccess Managerの構成
この項では、Oracle Identity Federationと統合するようにAccess Managerを構成する方法について説明します。
-
SPモードでは、Access ManagerがフェデレーションSSO用のOracle Identity Federationに認証を委任します。
-
認証モードでは、Oracle Identity FederationがAccess Managerに認証を委任します。
この項には、次の項目が含まれます。
4.2.7.1 ユーザーをOracle Identity FederationにリダイレクトするためのAccess Managerの構成
このタスクでは、OIFScheme
を使用してフェデレーションのシングル・サインオンでリソースを保護する際に、認証のためユーザーをOracle Identity Federationにリダイレクトするよう、Access Managerを構成します。必要なステップは次のとおりです。
4.2.7.2 信頼できるAccess ManagerパートナとしてのOracle Identity Federationの登録
Oracle Identity FederationがSPモードのみ、または認証モードとSPモードで使用される場合は、「SPモードで使用するためのOracle Identity Federationの登録」を参照してください。
Oracle Identity Federationが認証モードのみで使用される場合は、「認証モードで使用するためのOracle Identity Federationの登録」を参照してください。
ノート:
「タスクを自動化するAccess Manager-OIF統合スクリプトの実行」では、Oracle Identity Federationを信頼できるパートナとして登録するためにここで示している手動の操作を、自動的に行うために実行可能なスクリプトについて説明しています。
4.2.7.2.1 SPモードで使用するためのOracle Identity Federationの登録
ノート:
この手順を実行する前に、OAM管理サーバーとすべての管理対象サーバーが実行中であることを確認します。
Access Managerサーバーがインストールされているミドルウェア・ホーム内のディレクトリにキーストア・ファイルをコピーします。
WLSTコマンドを使用して、oam-config.xml
構成ファイル内のOIFDAP
パートナ・ブロックを更新します。ステップと構文は次のとおりです。
4.2.8 OIFSchemeによってリソースを保護するためのAccess Managerの構成
SPモードでAccess ManagerとOracle Identity Federationを統合すると、OIFScheme
によってリソースを保護できるようになります(OIFSchemeは、認証されていないユーザーがそのスキームで保護されているリソースへのアクセスを要求すると、フェデレーションのシングル・サインオン操作をトリガーします)。
「ポリシー構成」タブの「アプリケーション・ドメイン」で、OIFScheme
を使用して認証ポリシーを定義し、その認証ポリシーでリソースを保護します。
4.3 タスクを自動化するAccess Manager-OIF統合スクリプトの実行
この自動化されたステップによって、手動の手順よりも、統合が円滑で高速になります。
この項では、Oracle Access Manager統合について、「Access Manager 11gR2とIdentity Federation 11gR1の統合」に記載されているOracle Identity Federation構成タスクの一部を自動化するスクリプトについて説明します。
この項には、次の項目が含まれます。
4.3.2 WebLogic ServerとOracle Identity Federationサーバーが稼働していることの確認
WebLogic ServerとOracle Identity Federationサーバーが稼働していることを確認します。
-
Oracle WebLogic Server
管理サーバーと管理対象サーバーが起動しており、稼働中であることを確認します。
-
Oracle Identity Federation
次の形式のURLを使用して、Oracle Identity FederationサーバーのFusion Middleware Controlコンソールにアクセスします。
http://oif_host:oif_em_port/em
すべてのサーバーが実行されていることを確認します。
4.3.3 Access Manager-OIF統合の自動化された手順の実行
Access ManagerとOracle Identity Federationの統合における一部のタスクの自動化は、配布されたpythonスクリプトの実行によって行われます。
「Access ManagerとOIFの統合のためのOracle Identity Federationの構成」では、スクリプトで自動化可能なタスクについて説明しています。
4.3.3.1 フェデレーション構成スクリプトで実行されるタスク
このスクリプトは、次のタスクおよび手順を実行します。
-
Oracle Identity Federationのすべての構成の自動化
-
Oracle Identity FederationをDAPパートナとしてAccess Managerに登録
-
Oracle Identity FederationのURLをポリシー・ドメインに保護されているリソースとして追加。
4.3.3.2 Access ManagerマシンへのAccess Manager-OIF統合スクリプトのコピー
一部のファイルをAccess Managerホストにコピーする必要があります。ファイルは次のとおりです。
-
setupOIFOAMConfig.sh
、 -
setupOIFOAMIntegration.py
-
ロケール固有のリソース・バンドル
oifWLSTResourceBundle
_locale.properties
これらのファイルを保存するために、Access Managerホスト・マシンでディレクトリを作成するかまたは既存のディレクトリにコピーします。たとえば、/scratch/scripts
(Linux)またはc:\temp\scripts
(Windows)です。
4.3.3.3 Access Manager-OIF統合スクリプトへの入力の理解
スクリプトは名前指定パラメータを入力として解釈します(入力の順序は関係ありません)。入力値が渡されないとたいていの場合に、デフォルト値が適用されます。
表4-2は、スクリプトによって必要とされる入力を示しています。
表4-2 Access Manager-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、 mod_osso) |
webgate11g |
× |
ノート:
エージェント・タイプは、rreg
ツールを使用して、またはOracle Access Managementコンソールを介してAccess Managerで作成されたエージェントです。
4.3.3.4 Access Manager-OIF統合スクリプトの実行
自動化は、スクリプト・ファイルsetupOIFOAMConfig.sh
(Linux)または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管理および管理対象サーバーが同じホストに存在し、すべてのデフォルトが表4-2から適用される場合、次のコマンドを実行します。
./setupOIFOAMConfig.sh oifHost=myhost oamAdminHost=myhost2
Windowsの場合:
スクリプトの実行ステップを次に示します。例のパラメータ値に適切な値を代入してください。