OAMおよびIdPのFed認証メソッド

この記事では、フェデレーション認証メソッドをOAM認証スキームにマップするようにIdPを構成する方法について説明します。

概要

様々なフェデレーション・プロトコルでは、パートナが次の情報を交換できるメカニズムがサポートされています。

リモートSPパートナがフェデレーションSSOのIdPにユーザーをリダイレクトすると、IdPでユーザーがどのようにチャレンジされるかを要求するデータがメッセージに含まれる場合があります。これは、リクエストされたフェデレーション認証方法として扱われます。

IdPは、リクエストされたフェデレーション認証方法をローカル認証スキームにマップしてから、マップされた認証スキームでユーザー認証/チャレンジのためにOAMを起動する必要があります。OAMは、必要に応じてIdPで指定されたスキームでユーザーを認証します。

同様に、IdPがSSOレスポンスを発行する場合、ほとんどの場合、ユーザーのチャレンジ方法を表す識別子を含める必要があります。これはフェデレーション認証方法として扱われます。

IdPがアサーションを発行すると、OAMがユーザーを識別した認証スキームが評価されます。

マッピング

IdPでは、フェデレーション認証メソッドと認証スキーム間のマッピングには次のルールがあります。

次の例と、SAML 2.0プロトコルに基づく様々なユースケースを見てみましょう。

マッピングの定義:

使用例:

構成

フェデレーション認証メソッドのOAM認証スキームへのマッピングは、メソッドが様々なプロトコル(SAML 2.0、SAML 1.1、OpenID 2.0)で定義されるため、プロトコルに依存します。

そのため、これらのマッピングを設定するWLSTコマンドには次のものが含まれます。

ノート: SPパートナが1つ以上のフェデレーション認証方法からOAM認証スキームへのマッピングを定義するように構成されている場合、SPパートナ・プロファイル内のすべてのマッピングde2nedは無視されます。

認証スキーム

フェデレーションSSO中に、IdPはユーザーを認証/検証のためにOAMに内部的に転送し、使用する認証スキームを指定します。

OAMは、ユーザーにチャレンジが必要かどうかを判断します。

そのため、SPが特定のフェデレーション認証メソッドをユーザーのチャレンジに使用するように要求した場合でも、そのメソッドが認証スキームにマップされ、実行時にOAMがユーザーにチャレンジする必要がないと判断した場合そのスキームでは(ユーザーがすでに認証されており、セッションがタイムアウトせず、セッション認証レベルが指定された認証スキームの認証レベル以上であるため)、弓はチャレンジ操作を実行しません。

プロトコル

SAML 2.0

SAML 2.0仕様では、SAML 2.0フローに対して次のフェデレーション認証方法が定義されています。

デフォルトで、IdPにはSAML 2.0プロトコルの次のマッピングがあります。

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フローに対して次のフェデレーション認証方法が定義されています。

即時利用可能なIdPには、SAML 1.1プロトコルの次のマッピングがあります。

このマッピングは、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フローに対して次のフェデレーション認証方法を定義します。

初期状態では、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を参照してください。