プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11g リリース2 (11.1.2.3) for All Platforms
E61950-08
目次へ移動
目次

前
次

37.6 Identity Federationデータの交換

統合されたIdentity Federationサーバーは、Security Access Markup Language (SAML) 2.0仕様、SAML 1.1、OpenID 2.0またはWS-Federation 1.1のいずれかを使用してリクエスト・メッセージとレスポンス・メッセージの転送と受信をサポートします。

この節では、以下のトピックについて説明します。

ノート:

特定のコンテキストでSAMLが使用される方法を示す仕様は、SAMLプロファイルと呼ばれます。SAMLアサーションまたはメッセージが別のプロトコルで転送される方法を示す仕様は、SAMLバインディングと呼ばれます。

37.6.1 SAML 2.0の使用

SAMLは、eXtensible Markup Language (XML)フレームワークを使用して、SAMLアサーションを提供するベンダー・プラットフォーム間の相互運用性を実現するためのシンプルなリクエスト-レスポンス・プロトコルを定義します。

SAMLリクエスタはSAMLリクエスト要素をレスポンダに送信します。同様に、SAMLレスポンダはSAMLレスポンス要素をリクエスタに戻します。SAML 2.0プロトコル内部で、Identity Federationは次の各項で説明する機能をサポートします。

37.6.1.1 SSOとフェデレーションのためのSAML 2.0バインディング

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に提示します。

37.6.1.2 シングル・ログアウトのためのSAML 2.0バインディング

シングル・ログアウトは、プロバイダがそれぞれログアウト・イベントを通知し合う方法を定義します。このメッセージ交換により、ログアウトがSPまたはIdPで発生すると、すべてのセッションが終了します。

シングル・ログアウトにおけるデータ交換に対して次のプロファイルがサポートされています。

  • HTTPリダイレクト・プロファイルは、プロバイダ間のHTTPリダイレクトに依存します。たとえば、IdPは、ログアウト・リクエスト/レスポンス・メッセージを含むURLにより302リダイレクト・オペレーションを使用してSPにユーザーをリダイレクトします。このプロファイルは、シングル・ログアウトにおけるデータの送受信に対して使用できます。

  • HTTP POSTプロファイルは、ログアウト・リクエスト/レスポンス・メッセージを含むHTMLフォームを使用してIdPがユーザーをSPにリダイレクトするときに発生します。このプロファイルは、シングル・ログアウトにおけるデータの送受信に対して使用できます。

  • SOAPバインディング・プロファイルは、IdPをSPに直接接続できるようにして、ログアウト・リクエスト・メッセージを送信します。ログアウト時、IdPは、様々なSPに順にユーザーをリダイレクトします。SPは、ログアウト・レスポンス・メッセージで応答します。このプロファイルは、プロバイダ間での非同期SOAP over HTTPメッセージング・コールに依存し、シングル・ログアウトに関するデータを送信するためだけに使用できます。

37.6.1.3 SAML 2.0名前IDフォーマット

名前識別子マッピングは、異なるSPのネーム・スペースで認証されているプリンシパルに割り当てられた名前識別子をSPがどのように取得するかを定義します。

1つのSPに対して認証されているプリンシパルが2つ目のサイトへのアクセスを要求すると、プリンシパルのフェデレーションがSP間で存在していない場合でも、2つ目のSPがこのプロトコルを使用して、名前識別子を取得し、プリンシパルを最初のSPに伝達します。表37-1のSAML 2.0名前IDフォーマットは、IdPおよびSPモードの両方でサポートされています。

表37-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は次のいずれかを行います。

  • ユーザー属性を使用して名前IDフォーマットを入力します。

  • ユーザー属性(DNなど)を使用して、値を設定します(すべての操作に対して同じ)。

  • ランダム値を使用して、フェデレーション・データ・ストアにその値を格納します(このモードのみフェデレーション・データ・ストアが必要です)。

urn:oasis:names:tc:SAML:2.0:nameid-format:transient

IdPがランダム値を生成します。

カスタム値

この名前IDフォーマットが使用される場合、OIF/IdPはユーザー属性を使用して名前ID値を入力します。

37.6.1.4 SAML 2.0データの保護

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を使用するように構成できます。

37.6.1.5 SAML 2.0サービスの詳細

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を使用することにより取得できます。(「フェデレーションのキーストア設定の定義」を参照してください。)次に例を示します。

http://public-oam-host:public-oam-port/oamfed/idp/cert?id=osts_signing

IdPプロファイルとSPプロファイルのプロバイダIDと発行者IDは同じで、Oracle Access Managementコンソールを使用して適用可能なプロバイダ・パートナ・プロファイルから取得できます。

表37-2に、Identity FederationがIdPとして機能するように構成されている場合に使用されるSAML 2.0 URLを示します。

表37-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

表37-3に、Identity FederationがSPとして機能するように構成されている場合に使用されるSAML 2.0 URLを示します。

表37-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

37.6.2 SAML 1.1の使用

SAML 2.0とSAML 1.1で同じユース・ケースを解決できますが、方法が異なります。SAML 1.1リクエストの最も重要なタイプは問合せです。

SPは、安全なバック・チャネル上で(SOAPを使用して)IdPへの直接問合せを作成します。SAML 1.1プロトコル内部で、Identity Federationは次の各項で説明する機能をサポートします。

37.6.2.1 WebブラウザSSO用SAML 1.1プロファイル

SAML 1.1プロファイルは、認証情報を転送するSAMLアーティファクトとSPへのアサーションに依存します。

次のプロファイルがサポートされています。

  • ブラウザ/アーティファクト・プロファイルは、参照によって(ブラウザ経由でHTTPリダイレクトを使用して)SAMLアサーションをIdPからSPに渡します。このアーティファクトは、以降は、SPがSOAP over HTTP上のSAMLを使用して、IdPからのアサーションを取得するバックチャネル交換により逆参照されます。

  • ブラウザ/POSTプロファイルは、ブラウザ経由でHTTP POSTを使用してSSOアサーションをSPに渡します。この動作のことを、アイデンティティ・プロバイダがサービス・プロバイダにアサーションをプッシュするという言い方をします。

37.6.2.2 SAML 1.1ログアウト・プロファイル

SAML 1.1仕様ではログアウト・プロファイルを定義しないので、Identity Federationはユーザーのログアウトをリモート・パートナに通知できません。

37.6.2.3 SAML 1.1名前IDフォーマット

1つのSPに対して認証されているプリンシパルが2つ目のサイトへのアクセスを要求すると、プリンシパルのフェデレーションがSP間で存在していない場合でも、2つ目のSPが名前識別子を取得し、プリンシパルを最初のSPに伝達します。

表37-4のSAML 1.1名前IDフォーマットは、IdPおよびSPモードの両方でサポートされています。

表37-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値を入力します。

37.6.2.4 SAML 1.1データ・セキュリティについて

SAML 1.1仕様を使用して転送されるアイデンティティ・データのセキュリティについては、次のことが当てはまります。

  • すべての送信アサーションに署名される。

  • アサーションを含むすべての送信レスポンスには署名されない。

  • 署名証明書はメッセージに含まれない。

  • Identity Federation (IdPとして機能)は、どのメッセージに対しても署名を必要としない。

  • 署名のデフォルトのハッシュ生成アルゴリズムはSHA-1です。Identity FederationはSHA-256を使用するように構成できます。

37.6.2.5 SAML 1.1サービスの詳細

署名および暗号化用に使用される証明書は、キーストア設定で定義されているとおりキー/証明書エントリのキーIDを指定するサービスURLを使用することにより取得できます。

詳細は、「フェデレーションのキーストア設定の定義」を参照してください。

次に例を示します。

http://public-oam-host:public-oam-port/oamfed/idp/cert?id=osts_signing

IdPプロファイルとSPプロファイルのプロバイダIDと発行者IDは同じで、Oracle Access Managementコンソールを使用して適用可能なプロバイダ・パートナ・プロファイルから取得できます。

表37-5に、Identity FederationがIdPとして機能するように構成されている場合に使用されるSAML 1.1 URLを示します。

表37-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

表37-6に、Identity FederationがSPとして機能するように構成されている場合に使用されるSAML 1.1 URLを示します。

表37-6 サービス・プロバイダとして機能するIdentity FederationのためのSAML 1.1 URL

説明 URL

アサーション・コンシューマ・サービスURL

http://public-oam-host:public-oam-port/oam/server/fed/sp/sso

37.6.3 OpenID 2.0の使用

OpenID 2.0では、ユーザーは、優先OpenID IdPでアカウントを作成し、OpenID認証を受けるすべてのWebサイトにサインオンするためのベースとしてそのアカウントを使用できます。

アイデンティティ・データは、OpenID識別子(エンドユーザーによって選択されているURLまたはXRI)の交換によって伝達され、IdPはOpenID認証を提供します。OpenIDプロトコル内部で、Identity Federationは次の各項で説明する機能をサポートします。

37.6.3.1 OpenID 2.0認証/SSO

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アサーションが含まれます。

37.6.3.2 OpenID 2.0ログアウト

OpenID 2.0仕様はログアウト・プロファイルを定義しないので、Identity Federationではユーザーのログアウトをリモート・パートナに通知できません。

37.6.3.3 OpenID 2.0名前IDフォーマット

OpenIDは名前IDをランダム文字列になるように定義するので、Identity Federationは、名前IDの値として次のいずれかを使用します。

  • ハッシュ・ユーザー属性(DNなど)

  • フェデレーション・データ・ストアに格納される、生成されたランダム値。このモードでは、フェデレーション・データ・ストアの使用が必要です。

37.6.3.4 OpenID 2.0データ・セキュリティについて

OpenID 2.0仕様を使用して転送されるアイデンティティ・データのセキュリティについては、次のことが当てはまります。

  • すべての送信アサーションに署名される。

  • デフォルトのアソシエーション・アルゴリズムはHMAC SHA-1です。

  • デフォルトのセッション・アグリーメント・アルゴリズムはDiffie-Hellmann SHA-1です。

37.6.3.5 OpenID 2.0拡張機能

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メタデータでの通知に限定されます。(デフォルト: 無効)

37.6.3.6 OpenID 2.0サービスの詳細

次のURLはOpenID 2.0 SPコンポーネントのレルムです。

http://public-oam-host:public-oam-port

表37-7に、Identity FederationがIdPとして機能するように構成されている場合に使用されるOpenID 2.0 URLを示します。

表37-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

表37-8に、Identity FederationがSPとして機能するように構成されている場合に使用されるOpenID 2.0 URLを示します。

表37-8 サービス・プロバイダとして機能するIdentity FederationのためのOpenID 2.0 URL

説明 URL

シングル・サインオン・サービスURL

http://public-oam-host:public-oam-port/oam/server/fed/sp/sso

検出サービスURL

http://public-oam-host:public-oam-port/oamfed/sp/openidv20

レルムURL

http://public-oam-host:public-oam-port

37.6.4 WS-Federation 1.1の使用

Access Managerでは、WS-Federation 1.1プロトコルの機能がサポートされるようになりました。

新しいWLSTコマンドaddWSFed11IdPFederationPartnerおよびaddWSFed11SPFederationPartnerを使用して、WS-Federation 1.1のパートナを作成できます。パートナの作成後、既存のWLST Identity Federationコマンドを使用してプロファイルを構成できます。詳細は、Oracle Fusion Middleware WebLogic Scripting Tool Identity and Access Managementコマンド・リファレンスを参照してください。

ノート:

WS-Federation 1.1パートナは、Oracle Access Managementコンソールを使用して部分的に管理できます。