Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11gリリース2 (11.1.2.2) for All Platforms B69533-09 |
|
前 |
次 |
フェデレーションとは、複数のグループまたはパーティを結合することによって形成されるアソシエーションです。フェデレーテッド環境(アイデンティティ管理レルムで定義)とは、サービスとアイデンティティ・データを提供する組織(ビジネス・パートナ)が、保護されたリソース・セットへのアクセスを共有しながら、これらのリソース・セットを不正アクセスから保護できるように信頼を確立している環境のことです。ビジネス・パートナはOracle Identity Federationによりこのことを実現できます。Oracle Identity Federationは、会社がフェデレーションを形成し、サービスとデータを個々のセキュリティ・ドメイン間で安全に共有できるメカニズムを提供します。
Oracle Access Managementの11gリリース2 (11.1.2.2)から、スタンドアロンのOracle Identity Federation製品とOracle Access Managerとの統合が実現しています。この章では、統合されたIdentity Federationについて紹介します。次の項で構成されています。
このマニュアルのIdentity Federationについてのトピックは、一般的なフェデレーションとその機能について熟知しているユーザーを対象としています。背景と概念については、Oracle Fusion Middleware Oracle Identity Federation管理者ガイドのOracle Identity Federationの概要に関する項を参照してください。
Oracle Identity Managementフレームワークは、クロスドメイン・シングル・サインオンを実現するための次の2つの方法をサポートしています。それぞれ独立しているため、これらの方法を組み合せることはできません。
11gリリース2 (11.1.2)から、Oracle Access Management Access Managerサーバー(OAMサーバー)は、Oracle Access Management Identity Federationサーバーと統合されています。Identity Federationサーバーの構成はすべてOracle Access Managementコンソールを使用して実行します。
以前の各リリースのOracle Identity Federation (11.1.1)とOracle Access Managerをデプロイして、フェデレーション機能を提供することもできます。この統合用に両方のサーバーを構成し、管理する必要があります。この方法は11gリリース1 (11.1.1)の時点ですでに存在しており、引き続き使用できます。
Oracle Identity Federation機能は11gリリース2 (11.1.2.2)でAccess Managerと統合されているため、この現在のドキュメントではOracle Identity Federation機能のみを説明しています。以前の各リリースのOracle Identity Federationの詳細は、Oracle Fusion Middleware Oracle Identity Federation管理者ガイドを参照してください。
Access Managerに統合された新しいIdentity Federation 11gリリース2 (11.1.2.2)サーバーの利点は次のとおりです。
各サーバーへの個別のインストールや管理が不要になります。
インストール後のフェデレーション機能の構成が簡略化されます。具体的には、Oracle Access Managementコンソールからこれらのフェデレーション機能にアクセスできるようになります。
2つのサービスを連携させるスケーラビリティが向上します。
診断およびトラブルシューティングの機能が強化されます。
機能的には、Identity Federationサービスを使用した11gリリース2 (11.1.2.2)シナリオ(ユーザーがWebブラウザを使用して保護されたサービスにログインする場合)のコンポーネントに、次が含まれます。
Access Managerサーバーには、フェデレーテッド・コンテキストで管理サービスにアクセスする際に必要なコンポーネントがすべて含まれています。コンポーネントは次のとおりです。
資格証明コレクタ
フェデレーション認証プラグイン
アサーションを生成および処理するIdentity Federationエンジン
フェデレーション・データ・キャッシュ
Oracle WebLogic Serverは、次のような主要なインフラストラクチャ・サービスをホストし、提供します。
Oracle Entitlement Serverと相互作用する認可エンジン
トラスト・サークルの詳細や他の構成を含むフェデレーション・データ
Coherenceマップ・ストア
認証タスクに必要なアイデンティティ・データは、アイデンティティ・ストアやCoherenceデータベースなどのデータ・ストアで保持されます。Identity Federationは、Access Manager共通ユーザー・ストアをサポートし、複数のアイデンティティ・ストアのサポートを提供します。永続アカウント・リンク用フェデレーション・データはデータベースに格納できます。
注意: コールは通常のHTTPコールです。 |
統合されたIdentity Federationサーバーは、Security Access Markup Language (SAML) 2.0仕様、SAML 1.1またはOpenID 2.0のいずれかを使用してリクエスト・メッセージとレスポンス・メッセージの転送と受信をサポートします。次の各項では、詳細を説明します。
注意: 特定のコンテキストでSAMLが使用される方法を示す仕様は、SAMLプロファイルと呼ばれます。SAMLアサーションまたはメッセージが別のプロトコルで転送される方法を示す仕様は、SAMLバインディングと呼ばれます。 |
SAMLは、eXtensible Markup Language (XML)フレームワークを使用して、SAMLアサーションを提供するベンダー・プラットフォーム間の相互運用性を実現するためのシンプルなリクエスト-レスポンス・プロトコルを定義します。SAMLリクエスタはSAMLリクエスト要素をレスポンダに送信します。同様に、SAMLレスポンダはSAMLレスポンス要素をリクエスタに戻します。
SAML 2.0プロトコル内部で、Identity Federationは次の項で説明する機能をサポートします。
SSOとフェデレーションは、認証情報を転送するSAMLアーティファクトとアサーションに依存します。SSOとフェデレーションにおけるデータ交換に対して次のバインディングがサポートされています。
HTTPアーティファクト・バインディングは、アーティファクト解決プロトコルとSAML SOAPバインディング(HTTP経由)を使用して、参照によりSAMLメッセージを解決します。IdPは、レジストリにアサーションを格納し、格納されているアサーションを参照する文字列(アーティファクト)とともに、SPにユーザーをリダイレクトします。SPは、SOAP/HTTP経由でIdPディレクトリに直接接続し、アーティファクトを提示することにより、アサーションを取得します。
HTTP POSTバインディングは、プロバイダ間で認証情報を伝達するのにHTMLフォームに依存します。たとえば、サービス・プロバイダはHTTPリダイレクトを使用してリクエストを送信します。アイデンティティ・プロバイダはHTTP POSTを使用してリクエストを転送します。IdPは、アサーションそのものを含むHTMLフォームによりユーザーをSPにリダイレクトすることもできます。
リバースSOAPバインディング(PAOS)は、Access ManagerがIdPとして構成されている場合にのみサポートされます。このフローで、クライアントは、SAML 2.0認証リクエストを含むSOAPリクエストをIdPに送信します。IdPはユーザーをローカルに認証し、SAML 2.0アサーションを含むSOAPレスポンスを返します。そして、クライアントは結果をリモートSPに提示します。
シングル・ログアウトは、プロバイダがそれぞれログアウト・イベントを通知し合う方法を定義します。このメッセージ交換により、ログアウトがSPまたはIdPで発生すると、すべてのセッションが終了します。シングル・ログアウトにおけるデータ交換に対して次のプロファイルがサポートされています。
HTTPリダイレクト・プロファイルは、プロバイダ間のHTTPリダイレクトに依存します。たとえば、IdPは、ログアウト・リクエスト/レスポンス・メッセージを含むURLにより302リダイレクト・オペレーションを使用してSPにユーザーをリダイレクトします。このプロファイルは、シングル・ログアウトにおけるデータの送受信に対して使用できます。
HTTP POSTプロファイルは、ログアウト・リクエスト/レスポンス・メッセージを含むHTMLフォームを使用してIdPがユーザーをSPにリダイレクトするときに発生します。このプロファイルは、シングル・ログアウトにおけるデータの送受信に対して使用できます。
SOAPバインディング・プロファイルは、IdPをSPに直接接続できるようにして、ログアウト・リクエスト・メッセージを送信します。ログアウト時、IdPは、様々なSPに順にユーザーをリダイレクトします。SPは、ログアウト・レスポンス・メッセージで応答します。このプロファイルは、プロバイダ間での非同期SOAP over HTTPメッセージング・コールに依存し、シングル・ログアウトに関するデータを送信するためだけに使用できます。
名前識別子マッピングは、異なるSPのネーム・スペースで認証されているプリンシパルに割り当てられた名前識別子をSPがどのように取得するかを定義します。1つのSPに対して認証されているプリンシパルが2つ目のサイトへのアクセスを要求すると、プリンシパルのフェデレーションがSP間で存在していない場合でも、2つ目のSPがこのプロトコルを使用して、名前識別子を取得し、プリンシパルを最初のSPに伝達します。表30-1のSAML 2.0名前IDフォーマットは、IdPおよびSPモードの両方でサポートされています。
表30-1 サポートされているSAML 2.0名前IDフォーマット
名前IDフォーマット | 説明 |
---|---|
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent |
SP/IdPは次のいずれかを行います。
|
urn:oasis:names:tc:SAML:2.0:nameid-format:transient |
IdPがランダム値を生成します。 |
カスタム値 |
この名前IDフォーマットが使用される場合、OIF/IdPはユーザー属性を使用して名前ID値を入力します。 |
SAML 2.0仕様を使用して転送されるアイデンティティ・データのセキュリティについては、次のことが当てはまります。
すべての送信アサーションに署名される。
アサーションを含むすべての送信レスポンスには署名されない。
アサーションを含まないすべての送信リクエスト/レスポンスには署名される。
署名証明書はメッセージに含まれない。
Identity Federation (IdPとして機能)は、SPパートナ・メタデータで指定されている場合以外、どのメッセージに対しても署名を必要としない。
名前ID、属性およびアサーションは暗号化されない。
デフォルトXML暗号化アルゴリズムについての情報は、http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/Overview.html#aes128-cbcに記載されています。
署名のデフォルトのハッシュ生成アルゴリズムはSHA-1です。Identity FederationはSHA-256を使用するように構成できます。
IdPとSP用SAML 2.0メタデータは単一のXMLドキュメントに含まれ、Oracle Access Managementコンソールから、または次のURLのいずれかにアクセスすることによって取得できます。
http://public-oam-host:public-oam-port/oamfed/idp/metadata http://public-oam-host:public-oam-port/oamfed/sp/metadata
署名と暗号化で使用される証明書は、SAML 2.0メタデータ経由で発行されます。証明書は、キーストア設定で定義されているとおりキー/証明書エントリのキーIDを指定するサービスURLを使用することにより取得できます。(第32.5項「フェデレーションのキーストア設定の定義」を参照してください)。次に例を示します。
http://public-oam-host:public-oam-port/oamfed/idp/cert?id=osts_signing
IdPプロファイルとSPプロファイルのプロバイダIDと発行者IDは同じで、Oracle Access Managementコンソールを使用して適用可能なプロバイダ・パートナ・プロファイルから取得できます。
表30-2は、Identity FederationがIdPとして機能するように構成されている場合に使用されるSAML 2.0 URLを示しています。
表30-2 アイデンティティ・プロバイダとして機能するIdentity FederationのためのSAML 2.0 URL
説明 | URL |
---|---|
HTTPリダイレクト・バインディング用シングル・サインオン・サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/samlv20 |
HTTP POSTバインディング用シングル・サインオン・サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/samlv20 |
SOAPバインディング用シングル・サインオン・サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/soap |
SOAPバインディング用アーティファクト解決サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/soap |
HTTPリダイレクト・バインディング用シングル・ログアウト・サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/samlv20 |
HTTP POSTバインディング用シングル・ログアウト・サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/samlv20 |
SOAPバインディング用属性権限サービスURL |
http://public-oam-host:public-oam-port/oamfed/aa/soap |
表30-3は、Identity FederationがSPとして機能するように構成されている場合に使用されるSAML 2.0 URLを示しています。
表30-3 サービス・プロバイダとして機能するIdentity FederationのためのSAML 2.0 URL
説明 | URL |
---|---|
アーティファクト・バインディング用アサーション・コンシューマ・サービスURL |
http://public-oam-host:public-oam-port/oam/server/fed/sp/sso |
HTTP POSTバインディング用アサーション・コンシューマ・サービスURL |
http://public-oam-host:public-oam-port/oam/server/fed/sp/sso |
HTTPリダイレクト・バインディング用シングル・ログアウト・サービスURL |
http://public-oam-host:public-oam-port/oamfed/sp/samlv20 |
HTTP POSTバインディング用シングル・ログアウト・サービスURL |
http://public-oam-host:public-oam-port/oamfed/sp/samlv20 |
SAML 2.0とSAML 1.1で同じユース・ケースを解決できますが、方法が異なります。SAML 1.1リクエストの最も重要なタイプは問合せです。SPは、安全なバック・チャネル上で(SOAPを使用して)IdPへの直接問合せを作成します。SAML 1.1プロトコル内部で、Identity Federationは次の項で説明する機能をサポートします。
SAML 1.1プロファイルは、認証情報を転送するSAMLアーティファクトとSPへのアサーションに依存します。次のプロファイルがサポートされています。
ブラウザ/アーティファクト・プロファイルは、参照によって(ブラウザ経由でHTTPリダイレクトを使用して)SAMLアサーションをIdPからSPに渡します。このアーティファクトは、以降は、SPがSOAP over HTTP上のSAMLを使用して、IdPからのアサーションを取得するバックチャネル交換により逆参照されます。
ブラウザ/POSTプロファイルは、ブラウザ経由でHTTP POSTを使用してSSOアサーションをSPに渡します。この動作のことを、アイデンティティ・プロバイダがサービス・プロバイダにアサーションをプッシュするという言い方をします。
SAML 1.1仕様はログアウト・プロファイルを定義しないので、ログアウト・ユーザーをリモート・パートナに通知できません。
1つのSPに対して認証されているプリンシパルが2つ目のサイトへのアクセスを要求すると、プリンシパルのフェデレーションがSP間で存在していない場合でも、2つ目のSPが名前識別子を取得し、プリンシパルを最初のSPに伝達します。表30-4のSAML 1.1名前IDフォーマットは、IdPおよびSPモードの両方でサポートされています。
表30-4 サポートされているSAML 1.1名前IDフォーマット
名前IDフォーマット | 説明 |
---|---|
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos |
SP/IdPは適用可能なユーザー属性を使用して、名前ID値を入力または処理します。 |
カスタム値 |
この名前IDフォーマットが使用される場合、OIF/IdPはユーザー属性を使用して名前ID値を入力します。 |
SAML 1.1仕様を使用して転送されるアイデンティティ・データのセキュリティについては、次のことが当てはまります。
すべての送信アサーションに署名される。
アサーションを含むすべての送信レスポンスには署名されない。
署名証明書はメッセージに含まれない。
Identity Federation (IdPとして機能)は、どのメッセージに対しても署名を必要としない。
署名のデフォルトのハッシュ生成アルゴリズムはSHA-1です。Identity FederationはSHA-256を使用するように構成できます。
署名および暗号化用に使用される証明書は、キーストア設定で定義されているとおりキー/証明書エントリのキーIDを指定するサービスURLを使用することにより取得できます。(第32.5項「フェデレーションのキーストア設定の定義」を参照してください)。次に例を示します。
http://public-oam-host:public-oam-port/oamfed/idp/cert?id=osts_signing
IdPプロファイルとSPプロファイルのプロバイダIDと発行者IDは同じで、Oracle Access Managementコンソールを使用して適用可能なプロバイダ・パートナ・プロファイルから取得できます。
表30-5は、Identity FederationがIdPとして機能するように構成されている場合に使用されるSAML 1.1 URLを示しています。
表30-5 アイデンティティ・プロバイダとして機能するIdentity FederationのためのSAML 1.1 URL
説明 | URL |
---|---|
シングル・サインオン・サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/samlv11sso |
アーティファクト解決サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/soapv11 |
表30-6は、Identity FederationがSPとして機能するように構成されている場合に使用されるSAML 1.1 URLを示しています。
OpenID 2.0では、ユーザーは、優先OpenID IdPでアカウントを作成し、OpenID認証を受けるすべてのWebサイトにサインオンするためのベースとしてそのアカウントを使用できます。アイデンティティ・データは、OpenID識別子(エンドユーザーによって選択されているURLまたはXRI)の交換によって伝達され、IdPはOpenID認証を提供します。OpenIDプロトコル内部で、Identity Federationは次の項で説明する機能をサポートします。
OpenID 2.0では、ユーザーは特別なOpenID URLを使用して新しいWebサイトにサインインできます。たとえば、myblog.comにブログを持っているユーザーが、yourname.myblog.comというOpenID URLを作成するなどします。OpenIDログインを受け入れる2つ目のWebサイトに移動して、OpenIDボタンをクリックする場合、このURLを入力し、クリックしてログインします。2つ目のSPは、このOpenID識別子でOpenID IdP URLを検出します。OpenID IdPが認証ユーザーをSPにリダイレクトする場合、ここには操作結果、ユーザーの名前IDおよび属性(オプション)を含むOpenIDアサーションが含まれます。
OpenID 2.0仕様はログアウト・プロファイルを定義しないので、ログアウト・ユーザーをリモート・パートナに通知できません。
OpenIDは名前IDをランダム文字列になるように定義するので、Identity Federationは、名前IDの値として次のいずれかを使用します。
ハッシュ・ユーザー属性(DNなど)
フェデレーション・データ・ストアに格納される、生成されたランダム値。このモードでは、フェデレーション・データ・ストアの使用が必要です。
OpenID 2.0仕様を使用して転送されるアイデンティティ・データのセキュリティについては、次のことが当てはまります。
すべての送信アサーションに署名される。
デフォルトのアソシエーション・アルゴリズムはHMAC SHA-1です。
デフォルトのセッション・アグリーメント・アルゴリズムはDiffie-Hellmann SHA-1です。
OpenIDは拡張仕様です。統合Identity Federationを使用する際、次の拡張機能を使用できます。
Attribute Exchange (AX): 有効である場合、SPは、属性をOpenIDアサーション・レスポンスに含めるよう要求できます。IdPは、要求された属性、またはそのように構成された属性をレスポンスに含めることができます。(デフォルト: 有効)
Provider Authentication Policy Extension (PAPE): 有効である場合、高度な認証方法を定義および指定できます。たとえば、フィッシング対応認証方法、マルチファクタ認証などがあります。(デフォルト: 無効)
GSAレベル1: このサーバーがhttp://www.idmanagement.gov/schema/2009/05/icam/openid-trust-level1.pdfポリシーに準拠しているかどうかを示すOpenIDアサーションの識別子。これが有効で、PAPEが有効である場合、OIFは、OpenIDレスポンスにこのポリシーを含めます。(デフォルト: 無効)
Level Of Assurance (LOA): このサーバーがhttp://csrc.nist.gov/publications/nistpubs/800-63/SP800-63V1_0_2.pdfポリシーに準拠しているかどうかを示すOpenIDアサーションの識別子。有効である場合、OIF/IdPは、Level of AssuranceとschemeID間のマッピングを使用して、OpenIDレスポンス内でLOAに対して使用する値を判断します(詳細は2.5.2を参照)。(デフォルト: 無効)
No Private Identifier Information (NoPII): このサーバーがhttp://www.idmanagement.gov/schema/2009/05/icam/no-pii.pdfポリシーに準拠しているかどうかを示すOpenIDアサーションの識別子。有効である場合、OIFはOpenIDアサーションに属性を含めないことに注意してください。
Persistent Personal Identifier (PPID): このサーバーがhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifierポリシーに準拠しているかどうかを示すOpenIDアサーションの識別子。これが有効で、PAPEが有効である場合、OIFは、OpenIDレスポンスにこのポリシーを含めます。(デフォルト: 無効)
Registration (SReg): OpenIDアサーション内の属性のための拡張機能。有効である場合、SPは、レスポンスに属性を含めるように要求できます。IdPは、要求された属性またはレスポンスに含めるように構成されている属性を含めることができます。(デフォルト: 無効)
UI Extension (UIExt): UI用の拡張機能。OIF/IdPにおけるこの拡張機能のサポートは、XRDSメタデータでの通知に限定されます。(デフォルト: 無効)
次のURLはOpenID 2.0 SPコンポーネントのレルムです。
http://public-oam-host:public-oam-port
表30-7は、Identity FederationがIdPとして機能するように構成されている場合に使用されるOpenID 2.0 URLを示しています。
表30-7 アイデンティティ・プロバイダとして機能するIdentity FederationのためのOpenID 2.0 URL
説明 | URL |
---|---|
シングル・サインオン・サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/openidv20 |
検出サービスURL |
http://public-oam-host:public-oam-port/oamfed/idp/openidv20 |
表30-8は、Identity FederationがSPとして機能するように構成されている場合に使用されるOpenID 2.0 URLを示しています。
次の項では、フェデレーションSSOプロセスの開始について詳しく説明します。
Identity FederationがIdPとして機能する場合、フェデレーションSSOを開始するためのURLは次のとおりです。
http://public-oam-host:public-oam-port/oamfed/idp/initiatesso
問合せパラメータは次のとおりです。
providerid: フェデレーションSSOを実行するSPパートナの名前、またはフェデレーションSSOを実行するSPパートナの発行者ID/プロバイダID。(必須)
returnurl: フェデレーションSSOの成功後ユーザーがリダイレクトされるSP URL(オプション)
acsurl: Identity FederationがSAML 2.0アサーションでユーザーをリダイレクトするSAML 2.0アサーション・コンシューマ・サービスURL。このURLはSP SAML 2.0メタデータで宣言する必要があります。(オプション)
Identity FederationがSPとして機能する場合、フェデレーションSSOを開始するためのURLは次のとおりです。
http://public-oam-host:public-oam-port/oamfed/sp/initiatesso
問合せパラメータは次のとおりです。
providerid: フェデレーションSSOを実行するIdPパートナの名前、またはフェデレーションSSOを実行するIdPパートナの発行者ID/プロバイダID。(必須)
returnurl: フェデレーションSSOの成功後ユーザーがリダイレクトされるURL(オプション)
フェデレーションは任意の数のアイデンティティ・プロバイダとサービス・プロバイダで構成できます。一般的なフェデレーテッド・ネットワーク・トポロジの1つに、ハブ・アンド・スポーク・モデルと呼ばれるものがあります。このトポロジでは、1つのサービス・プロバイダが複数のアイデンティティ・プロバイダから認証を受け入れるか、1つのアイデンティティ・プロバイダが複数のサービス・プロバイダに対して認証を実施します。フェデレーテッド・ネットワークのIdentity Federationインスタンスは、アイデンティティ・プロバイダまたはサービス・プロバイダ、あるいはその両方として機能します。
サービス・プロバイダ(SP)は、ニュース・ポータル、財務リポジトリ、小売り窓口などのWebベース・サービスを提供する民間または非営利の組織です。フェデレーテッド・ネットワークのSPとして構成されている場合、ユーザーが、Oracle Access Managerなどの認証エンジンによって保護されているリソースにアクセスしようとすると、Identity Federationはグローバル認証のためにユーザーをIdPにリダイレクトします。IdPは資格証明を取得し、ユーザーを認証し、ユーザーをIdentity Federationサーバー・インスタンスにリダイレクトして戻します。ここで、IdPからアサートされているアイデンティティが取得され、認証済ユーザーが、保護リソースへのアクセスを提供する認証エンジンにリダイレクトされます。
アイデンティティ・プロバイダ(IdP)は、アイデンティティ・プロファイルを格納するサービス・プロバイダです。(アイデンティティ・プロバイダは、前述のサービスと、アイデンティティ・プロファイル・ストレージ関連サービス以外のサービスも提供する場合があります。)フェデレーテッド・ネットワークでIdPとして構成されている場合、ユーザーが保護されているリソースにアクセスしようとすると、リソースのSPがユーザーをIdentity Federationサーバー・インスタンスにリダイレクトします。ここで、Access Manager認証エンジンが使用され、資格証明が取得され、ユーザーが認証されます。認証が成功すると、Identity FederationインスタンスがユーザーのアイデンティティをリソースのSPに対してアサートできます。SPは、ユーザーを認証し、保護リソースへのアクセスを提供します。
統合されたIdentity Federationサーバーは、IdPとしてでもSPとしてでも機能できます。これらのプロバイダ・モードのいずれかとして機能するようにIdentity Federationを構成し、フェデレーション内のリモート・パートナと通信する方法については、第31章「Identity Federationパートナの管理」を参照してください。
注意: 管理者がOracle Access Managementコンソールを使用してユーザー・セッションを終了すると、そのセッションに関与するリモート・アイデンティティ・プロバイダにはログアウトが伝播されません。そのため、ログアウト済のユーザーは、Identity Federationを通じて自動的にAccess Managerに再認証されるようになります。 |
OIF WLST認証コマンドは、特定のサービス・プロバイダに基づいた認証を構成します。詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』を参照してください。
SPが開始するSSOでは、SPがIdPに認証リクエストを送信すると、フェデレーテッドSSOプロセスが開始されます。IdPが開始するSSOでは、IdPがSPに非送信請求アサーション・レスポンスを送信します(SPからの認証リクエストがない場合)。両方のモードでサポートされているランタイム・フローには、SSO、ログアウト(リモート・フェデレーション・パートナまたはAccess Manager保護アプリケーションから開始)および属性問合せが含まれます。詳細は、次の各項を参照してください。
注意: OIF WLST認証コマンドは、特定のサービス・プロバイダに基づいた認証を構成します。詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』を参照してください。 |
Identity Federation (IdPとして機能)がSPとフェデレーテッドSSOを実行している場合、Access Managerサーバーはユーザーを認証するか、認証済ユーザーが非アクティブを理由にしてチャレンジを受けることがないようにします。また、Access Managerサーバーは、SPによって指定されている、要求されたフェデレーション認証方式が、認証レベルに基づいたチャレンジを必要としていないことを確認します。このことは、認証方式に対する認証スキーム・マッピングにより判断されます。(SPがフェデレーション認証方式を指定していない場合、IdPは、defaultschemeidプロパティでSPパートナに対して指定されている認証方式を使用します。)
Identity Federationにより、ログアウト操作は認証操作から分離されています。ログアウトはユーザー(Access Managerサーバー)またはフェデレーション内のパートナによって開始できます。
Access Managerログアウト・サービスにアクセスしているユーザーによって開始された場合、Access ManagerがそのユーザーのAccess Managerセッションを中断し、ログアウト・ページを表示し、ここから、様々なWebゲート・エージェントにユーザーのCookieを削除するよう指示が出ます。そして、Access Managerは、ユーザーをIdentity Federationログアウト・サービスにリダイレクトし、このサービスが、ログアウト・リクエスト・メッセージ付きでユーザーをHTTPリダイレクトまたはHTTP POST経由でリダイレクトするか、ログアウト・リクエスト・メッセージをSOAP経由で直接送信することにより、このセッションに関与する各パートナへの通知を行います。Identity FederationはOIFセッションを強制終了し、定義された戻りURLにユーザーをリダイレクトします。
フェデレーション内のパートナからWebサイト上のユーザーによって開始された場合、パートナがユーザーをIdentity Federationサーバーにリダイレクトし、ここで、ユーザー・セッションがログアウトとしてマークされます。次に、Identity FederationがユーザーをAccess Managerサーバーにリダイレクトし、ここでユーザーのAccess Managerセッションが中断されます。Access Managerは、ログアウト・ページを表示します。ここで、様々なWebゲート・エージェントに対してユーザーのCookieを削除するよう指示が出て、ユーザーはリダイレクトによりIdentity Federationに戻され、Federationログアウト・プロセスが再開されます。ここでは、ログアウト・リクエスト・メッセージ付きでユーザーをHTTPリダイレクトまたはHTTP POST経由でリダイレクトするか、ログアウト・リクエスト・メッセージをSOAP経由で直接送信することにより、このセッションに関与する各パートナ(ユーザーを最初にリダイレクトしたパートナを除く)への通知が行われます。Identity FederationはOIFセッションを中断し、ユーザーをログアウト・レスポンス・メッセージ付きで、Identity Federationサーバーにユーザーを最初にリダイレクトしたパートナにリダイレクトします。
IdPとして機能するIdentity Federationサーバーは、Federation SSO操作中、アイデンティティ・トークンをSPに発行する必要があります。アイデンティティ・トークンは、ユーザー情報とセッション情報を含みます。デフォルトでは、認可機能は無効になっています。この機能は、configureFedSSOAuthz
WLSTコマンドを使用して、有効にも無効にもできます。TokenServiceRPタイプのリソースと(リソースURLをSPパートナIDに設定)、リソースが追加されるトークン発行ポリシーを作成する必要もあります。トークン発行ポリシーは、トークンの発行条件を示します。
SAML 2.0とOpenID 2.0は、有効なユーザー・セッションがすでに存在している場合でもユーザーがIdPによってチャレンジを受ける必要があるかどうかを、フェデレーションSSO中にSPが示す方法を提供しています。この場合、SPは、IdPがユーザーに対して再度チャレンジを渡す必要がある、つまり強制認証を行う必要があることを示すパラメータ付きの認証リクエストを送信します。
SAML 2.0とOpenID 2.0は、Identity Providerがユーザーと対話する必要があるかどうかを、フェデレーションSSO中にSPが示す方法を提供しています。この場合、SPは、IdPがユーザーと対話する必要がない、つまりパッシブでいる必要があることを示すパラメータ付きの認証リクエストを送信します。IdPは、パラメータを認識し、それぞれ次の内容をSPに戻します。
エラー(IdPがユーザーと対話する必要があるが、このパラメータによりそれができない場合)。
ユーザーが有効なセッションを持っているかどうかを示すフェデレーション・アサーション。
SPとして動作するIdentity Federationは、IdPパートナが作成したSAMLアサーションの検証を終えると、次の方法のいずれかを使用して、ローカル・ユーザーにアサーションをマップできます。
ユーザー属性(mail
など)を持つユーザー・レコードにSAMLサブジェクトをマップする方法。
ユーザー属性を持つユーザー・レコードにSAMLアサーション属性をマップする方法(たとえば、SAMLアサーション属性emailAddress
をmail
にマップ)。
LDAP問合せを使用して、SAMLアサーションのAttributeStatement
要素に含まれる1つ以上の属性またはSAMLサブジェクトをマップする方法。SAML属性名およびこのマップ先となるユーザー属性の両方を構成する必要があります。
このアーキテクチャでは、資格証明ストア・フレームワーク(CSF)を使用する際にOracle Fusion Middlewareプラットフォームを利用します。CSFは、キーストア・パスワードと、サーバーの資格証明(HTTP Basic認証のユーザー名とパスワードなど)を安全に格納します。
Access Managerと統合されているIdentity Federationは、Oracle Access ManagementコンソールとOracle WebLogic Scripting Tool (WLST)コマンドを使用して、各種構成の組合せとともに管理できます。Oracle Access Managementコンソールを使用すると、Identity Federationサービスを有効にしたり、IdPおよびSPのパートナ・プロファイルを管理したり、フェデレーテッド認証スキームおよびポリシーに対する作業を実行できます。WLSTユーティリティを使用すると、追加のサーバーおよびパートナの構成プロパティを管理できます。
注意: すべてのWLSTコマンド機能に対応する機能がOracle Access Managementコンソールにあるわけではなく、また、すべてのコンソール機能に対応する機能がコマンド行に実装されているわけではありません。 |
管理者はOracle Access Managementコンソールを使用して、フェデレーション・サービスとパートナに関連する構成を管理できます。Oracle Access ManagementコンソールでIdentity Federation用に構成可能な情報の種類を表30-9にまとめます。
表30-9 Identity Federation設定の構成
構成対象 | 説明 |
---|---|
フェデレーション管理者 |
フェデレーテッド・パートナおよび関連する構成を管理できる管理者。「コントロールの理解」を参照してください。 |
フェデレーション・サービス |
Access ManagerのIdentity Federationサービスを有効または無効にします。「Identity Federationの有効化」を参照してください。 |
フェデレーション設定 |
基本的なIdentity Federationサービス構成プロパティの管理。第32章「Identity Federationの設定管理」を参照してください。 |
フェデレーションで使用するプロバイダ |
IdPパートナは、Identity FederationをSPとして管理するコンテキスト内において管理されます。反対に、SPパートナは、Identity FederationをIdPとして管理するコンテキスト内において管理されます。第31.3項「サービス・プロバイダとしてのIdentity Federationの管理」または第31.4項「アイデンティティ・プロバイダとしてのIdentity Federationの管理」を参照してください。 |
フェデレーションの認証スキームおよび認証モジュール |
フェデレーションの認証スキームの管理。「Identity Federation 11gリリース2 (11.1.2.2)の認証スキームおよび認証モジュールの使用」を参照してください。 |
フェデレーションで使用するポリシー |
フェデレーション・パートナに使用するポリシーの管理。「Identity Federationで使用するAccess Managerのポリシーの管理」を参照してください。 |
表30-10に、Oracle Access Managementコンソールを使用してIdentity Federationを実装する際に必要なタスクの概要を示します。
Identity Federationは、Oracle Access Managementにおける認証モジュールなので、Access ManagerサービスとIdentity Federationの両方を有効にしておく必要があります。図30-1は、Oracle Access Managementコンソールの「使用可能なサービス」ページを示しています。Access ManagerサービスとIdentity Federationが有効になっています。このページを使用して、Identity FederationとAccess Managerサービスを有効(または無効)にします。
注意: 有効であれば、IdP、SP、属性認証局、属性リクエスタなどのフェデレーション機能を個々に有効または無効にできます。『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』で説明されているように、configureFederationService() WLSTコマンドを使用します。 |
Access ManagerでIdentity Federationサービスを管理する手順
Oracle Access Managementコンソールにログインします。
https://hostname:port/oamconsole/
「ようこそ」ページの「構成」で、「使用可能なサービス」をクリックします。
Identity Federationの有効化: 「Identity Federation」の横にある「有効化」をクリックします(または、「ステータス」に緑のチェック・マークが表示されていることを確認します)。
Access Managerの有効化: 「Access Manager」の横にある「有効化」をクリックします(または、「ステータス」に緑のチェック・マークが表示されていることを確認します)。