Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11g リリース2 (11.1.2.3) for All Platforms E61950-08 |
|
![]() 前 |
![]() 次 |
統合されたIdentity Federationサーバーは、Security Access Markup Language (SAML) 2.0仕様、SAML 1.1、OpenID 2.0またはWS-Federation 1.1のいずれかを使用してリクエスト・メッセージとレスポンス・メッセージの転送と受信をサポートします。
この節では、以下のトピックについて説明します。
ノート:
特定のコンテキストで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に伝達します。表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は次のいずれかを行います。
|
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を使用することにより取得できます。(「フェデレーションのキーストア設定の定義」を参照してください。)次に例を示します。
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 |
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仕様ではログアウト・プロファイルを定義しないので、Identity Federationはユーザーのログアウトをリモート・パートナに通知できません。
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値を入力します。 |
SAML 1.1仕様を使用して転送されるアイデンティティ・データのセキュリティについては、次のことが当てはまります。
すべての送信アサーションに署名される。
アサーションを含むすべての送信レスポンスには署名されない。
署名証明書はメッセージに含まれない。
Identity Federation (IdPとして機能)は、どのメッセージに対しても署名を必要としない。
署名のデフォルトのハッシュ生成アルゴリズムはSHA-1です。Identity FederationはSHA-256を使用するように構成できます。
署名および暗号化用に使用される証明書は、キーストア設定で定義されているとおりキー/証明書エントリのキー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 |
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仕様はログアウト・プロファイルを定義しないので、Identity Federationではユーザーのログアウトをリモート・パートナに通知できません。
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
表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 |
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コンソールを使用して部分的に管理できます。