OAMおよびIdPのFed認証メソッド
この記事では、フェデレーション認証メソッドをOAM認証スキームにマップするようにIdPを構成する方法について説明します。
-
認証リクエストを処理する場合、SPが特定のフェデレーション認証メソッドをリクエストし、ユーザーにチャレンジする必要があります
-
アサーションを送信する場合、IdPはアサーションのフェデレーション認証メソッドを設定します
概要
様々なフェデレーション・プロトコルでは、パートナが次の情報を交換できるメカニズムがサポートされています。
-
SP/RPがリクエストを行う場合のユーザーの課題
-
IdP/OPがSSOレスポンスを発行したときのユーザーのチャレンジ方法
リモートSPパートナがフェデレーションSSOのIdPにユーザーをリダイレクトすると、IdPでユーザーがどのようにチャレンジされるかを要求するデータがメッセージに含まれる場合があります。これは、リクエストされたフェデレーション認証方法として扱われます。
IdPは、リクエストされたフェデレーション認証方法をローカル認証スキームにマップしてから、マップされた認証スキームでユーザー認証/チャレンジのためにOAMを起動する必要があります。OAMは、必要に応じてIdPで指定されたスキームでユーザーを認証します。
同様に、IdPがSSOレスポンスを発行する場合、ほとんどの場合、ユーザーのチャレンジ方法を表す識別子を含める必要があります。これはフェデレーション認証方法として扱われます。
IdPがアサーションを発行すると、OAMがユーザーを識別した認証スキームが評価されます。
-
認証スキームをフェデレーション認証メソッドにマップできる場合、IdPは送信SSOレスポンスでそのマッピングの結果を使用します:
-
SAMLアサーションの
AuthenticationStatement
-
OpenIDレスポンス(PAPEが有効な場合)
-
認証スキームをマップできない場合、IdPは、送信SSOレスポンスの認証スキーム名としてフェデレーション認証メソッドを設定します
-
SAMLアサーションの
AuthenticationStatement
-
OpenIDレスポンス(PAPEが有効な場合)
マッピング
IdPでは、フェデレーション認証メソッドと認証スキーム間のマッピングには次のルールがあります。
-
1つのフェデレーション認証方法を複数の認証スキームにマップできます
-
フェデレーション認証方法、認証スキーム・マッピングでは、SP/RPパートナが特定のフェデレーション認証方法を使用してユーザーを認証するように要求した場合、単一の認証スキームがユーザーの認証に使用されるデフォルト・スキームとしてマークされます
-
認証スキームは、単一のフェデレーション認証方法にマップできます。
次の例と、SAML 2.0プロトコルに基づく様々なユースケースを見てみましょう。
マッピングの定義:
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
はLDAPScheme
にマップされ、認証に使用されるデフォルト・スキームBasicScheme
としてマークされます -
X509Scheme
にマップされたurn:oasis:names:tc:SAML:2.0:ac:classes:X509
。認証に使用されるデフォルト・スキームとしてマークされます
使用例:
-
SPは、
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
をRequestedAuthnContextとして指定するAuthnRequestを送信します。IdPは、そのメソッドにマップされたデフォルトのスキームであるため、X509Scheme
での使用を認証します。 -
SPは
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
を指定してAuthnRequestをRequestedAuthnContextとして送信します。IdPは、BasicScheme
ではなくそのメソッドにマップされたデフォルト・スキームであるため、LDAPScheme
での使用を認証します。 -
SPは特定のメソッドをリクエストせず、ユーザーは
BasisScheme
で認証されました: IdPは、urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
をFederationAuthenticationMethod
としてアサーションを発行します -
SPは特定のメソッドをリクエストせず、ユーザーは
LDAPScheme
で認証されました: IdPは、urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
をFederationAuthenticationMethod
としてアサーションを発行します -
SPが特定のメソッドをリクエストせず、ユーザーが
BasisSessionlessScheme
で認証されました: IdPは、BasisSessionlessScheme
をFederationAuthenticationMethod
としてアサーションを発行します。これは、そのスキームをどのフェデレーション認証メソッドにもマップできなかったためです(この場合、管理者はそれを修正してマッピングを作成する必要があります)。
構成
フェデレーション認証メソッドのOAM認証スキームへのマッピングは、メソッドが様々なプロトコル(SAML 2.0、SAML 1.1、OpenID 2.0)で定義されるため、プロトコルに依存します。
そのため、これらのマッピングを設定するWLSTコマンドには次のものが含まれます。
-
SPパートナ・プロファイルのいずれかが、そのプロファイルを参照しているすべてのパートナに影響し、フェデレーション認証方式からOAM認証スキームへのマッピングはオーバーライドされません
-
または、SPパートナに影響を与えるSPパートナ・エントリ
ノート: SPパートナが1つ以上のフェデレーション認証方法からOAM認証スキームへのマッピングを定義するように構成されている場合、SPパートナ・プロファイル内のすべてのマッピングde2nedは無視されます。
認証スキーム
フェデレーションSSO中に、IdPはユーザーを認証/検証のためにOAMに内部的に転送し、使用する認証スキームを指定します。
OAMは、ユーザーにチャレンジが必要かどうかを判断します。
-
ユーザーがまだ認証されていない場合
-
ユーザーが認証されたが、セッションがタイムアウトした場合
-
ユーザーが認証されているが、元の認証の認証スキーム・レベルが、IdPによってリクエストされた認証スキームのレベルより低い場合
そのため、SPが特定のフェデレーション認証メソッドをユーザーのチャレンジに使用するように要求した場合でも、そのメソッドが認証スキームにマップされ、実行時にOAMがユーザーにチャレンジする必要がないと判断した場合そのスキームでは(ユーザーがすでに認証されており、セッションがタイムアウトせず、セッション認証レベルが指定された認証スキームの認証レベル以上であるため)、弓はチャレンジ操作を実行しません。
プロトコル
SAML 2.0
SAML 2.0仕様では、SAML 2.0フローに対して次のフェデレーション認証方法が定義されています。
-
urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
-
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalTelephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Password
-
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword
-
urn:oasis:names:tc:SAML:2.0:ac:classes:X509
-
urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PGP
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI
-
urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI
-
urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword
-
urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered
-
urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract
-
urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI
-
urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken
デフォルトで、IdPにはSAML 2.0プロトコルの次のマッピングがあります。
-
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
のみが定義されています -
このフェデレーション認証方法は、次のものにマップされます:
-
LDAPScheme
。認証に使用されるデフォルト・スキームとしてマークされます -
FAAuthScheme
-
BasicScheme
-
BasicFAScheme
-
-
このマッピングは、SAML 2.0のデフォルトのOOTB SPパートナ・プロファイルであるsaml20-SP-partner-profile SPパートナ・プロファイルで定義されます
SPによってIdPに送信されるAuthnRequestメッセージの例で、SPが特定のフェデレーション認証メソッドを要求してユーザーへのチャレンジに使用されます。
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
Destination="https://idp.com/oamfed/idp/samlv20" ID="id-8bWn
A9o4aoMl3Nhx1DuPOOjawc-" IssueInstant="2014-03-21T20:51:11Z" Version="2.0">
<saml:Issuer ...>https://acme.com/sp</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="false"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspeciGed"/> <samlp:RequestedAuthnContext Comparison="minimum">
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>
</samlp:AuthnRequest>
IdPによって発行されたアサーションの例を次に示します。
<samlp:Response ...>
<saml:Issuer ...>https://idp.com/oam/fed</saml:Issuer>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion ...>
<saml:Issuer ...>https://idp.com/oam/fed</saml:Issuer>
<dsig:Signature>
...
</dsig:Signature>
<saml:Subject>
<saml:NameID ...>bob@oracle.com</saml:NameID>
<saml:SubjectConGrmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConGrmationData .../>
</saml:SubjectConGrmation> </saml:Subject>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>https://acme.com/sp</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2014-03-21T20:53:55Z" SessionIndex="id6i-Dm0yB-HekG6cejktwcKIFMzYE8Yrmqwfd0azz"
SessionNotOnOrAfter="2014-03-21T21:53:55Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef> </saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
管理者は、SAML 2.0フェデレーション認証方法と1つ以上のOAM認証スキーム間のマッピングを指定できる必要があります。
SAML 1.1
SAML 1.1仕様では、SAML 1.1フローに対して次のフェデレーション認証方法が定義されています。
-
urn:oasis:names:tc:SAML:1.0:am:unspecified
-
urn:oasis:names:tc:SAML:1.0:am:HardwareToken
-
urn:oasis:names:tc:SAML:1.0:am:password
-
urn:oasis:names:tc:SAML:1.0:am:X509-PKI
-
urn:ietf:rfc:2246
-
urn:oasis:names:tc:SAML:1.0:am:PGP
-
urn:oasis:names:tc:SAML:1.0:am:SPKI
-
urn:ietf:rfc:3075
-
urn:oasis:names:tc:SAML:1.0:am:XKMS
-
urn:ietf:rfc:1510 urn:ietf:rfc:2945
即時利用可能なIdPには、SAML 1.1プロトコルの次のマッピングがあります。
-
urn:oasis:names:tc:SAML:1.0:am:password
のみが定義されています -
このフェデレーション認証方法は、次のものにマップされます:
-
LDAPScheme
。認証に使用されるデフォルト・スキームとしてマークされます -
FAAuthScheme
-
BasicScheme
-
BasicFAScheme
このマッピングは、SAML 1.1のデフォルトのOOTB SPパートナ・プロファイルであるsaml11-SP-partner-profile SPパートナ・プロファイルで定義されます
IdPによって発行されたアサーションの例を次に示します。
<samlp:Response ...>
<samlp:Status>
<samlp:StatusCode Value="samlp:Success"/>
</samlp:Status>
<saml:Assertion Issuer="https://idp.com/oam/fed" ...>
<saml:Conditions ...>
<saml:AudienceRestriction>
<saml:Audience>https://acme.com/sp/ssov11</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthenticationInstant="2014-03-21T20:53:55Z"
AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">
<saml:Subject>
<saml:NameIdentiGer ...>bob@oracle.com</saml:NameIdentiGer>
<saml:SubjectConGrmation>
<saml:ConGrmationMethod>
urn:oasis:names:tc:SAML:1.0:cm:bearer
</saml:ConGrmationMethod>
</saml:SubjectConGrmation>
</saml:Subject>
</saml:AuthnStatement>
<dsig:Signature>
...
</dsig:Signature> </saml:Assertion> </samlp:Response>
ノート: SAML 1.1では、AuthnRequestメッセージは定義されません。
管理者は、SAML 1.1フェデレーション認証方法と1つ以上のOAM認証スキーム間のマッピングを指定できます。
OpenID 2.0
OpenID 2.0 PAPE仕様では、OpenID 2.0フローに対して次のフェデレーション認証方法を定義します。
-
http://schemas.openid.net/pape/policies/2007/06/phishing-resista
-
http://schemas.openid.net/pape/policies/2007/06/multi-fact
-
http://schemas.openid.net/pape/policies/2007/06/multi-factor-physic
初期状態では、IdPはOpenID 2.0フェデレーション認証メソッドのマッピングを定義しません。
OpenID 2.0の場合、構成では、OpenID 2.0ポリシーのリストを認証スキームのリストにマップします。
SP/RPによってIdP/OPに送信されるOpenID 2.0リクエスト・メッセージの例を次に示します。
https://idp.com/openid?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=checkid_setup&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2FidentiGer_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2FidentiGer_select&openid.assoc_handle=id-6a5S6zhAKaRwQNUnjTKROREdAGSjWodG1el4xyz3&openid.return_to=https%3A%2F%2Facme.com%2Fopenid%3FreGd%3Did9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.realm=https%3A%2F%2Facme.com%2Fopenid&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_request&openid.ax.type.aer0=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.if_available=aer0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=0
IdP/OPによって発行されたOpen ID 2.0 SSOレスポンスの例を次に示します。
https://acme.com/openid?reGd=id-9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fidp.com%2Fopenid&openid.claimed_id=https%3A%2F%2Fidp.com%2Fopenid%3Fid%3Did-38iCmmlAVEXPsFjnFVKArfn5RIiF75D5doorhEgqqPM%3D&openid.identity=https%3A%2F%2Fidp.com%2Fopenid%3Fid%3Did-38iCmmlAVEXPsFjnFVKArfn5RIiF75D5doorhEgqqPM%3D&openid.return_to=https%3A%2F%2Facme.com%2Fopenid%3FreGd%3Did9PKVXZmRxAeDYcgLqPm36ClzOMA-&openid.response_nonce=2014-03-24T19%3A20%3A06Zid-YPa2kTNNFftZkgBb460jxJGblk2g--iNwPpDI7M1&openid.assoc_handle=id6a5S6zhAKaRwQNUnjTKROREdAGSjWodG1el4xyz3&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_response&openid.ax.type.aer0=http%3A%2F%2Fsession%2Fcount&openid.ax.value.aer0=1&openid.ax.type.aer1=http%3A%2F%2Fopenid.net%2Fschema%2FnamePerson%2Ffriendly&openid.ax.value.aer1=My+name+is+Bobby+Smith&openid.ax.type.aer2=http%3A%2F%2Fschemas.openid.net%2Fax%2Fapi%2Fuser_id&openid.ax.value.aer2=bob&openid.ax.type.aer3=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.value.aer3=bob%40oracle.com&openid.ax.type.aer4=http%3A%2F%2Fsession%2Fipaddress&openid.ax.value.aer4=10.145.120.253&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.auth_time=2014-03-24T19%3A20%3A05Z&openid.pape.auth_policies=http%3A%2F%2Fschemas.openid.net%2Fpape%2Fpolicies%2F2007%2F06%2Fphishing-resistant&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ax%2Cax.mode%2Cax.type.aer0%2Cax.value.aer0%2Cax.type.aer1%2Cax.value.aer1%2Cax.type.aer2%2Cax.value.aer2%openid.sig=mYMgbGYSs22l8e%2FDom9NRPw15u8%3D
その他の学習リソース
docs.oracle.com/learnで他のラボを探すか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Fed Authentication Methods in OAM and IdP
F60445-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.