例: OAMおよびIdPを使用した属性の送信

次に、属性を送信するようにIdPを構成する方法の例を示します。

送信される属性は、次に基づきます。

OAM管理コンソール

この項では、管理コンソールを介して属性を送信するようにIdPを構成する方法について説明します。この例は、リモートSAML 2.0 SPパートナとのフェデレーションに基づいており、IdPは次のように構成されています。

新しいSP属性プロファイルを作成し、acmeSPに割り当てます。後で、新しいSPパートナがオンボーディングされている場合、IdPがそれらの新しいSPに同じ属性を送信するように、既存のSP属性プロファイルを割り当てることができます。

SP属性プロファイルの作成

新しいSP属性プロファイルを作成するには、次のステップを実行します。

  1. OAM管理コンソール(http(s)://OAM-admin-host:OAM-admin- port/oamconsole)にアクセスします。

  2. 「アイデンティティ・フェデレーション」「アイデンティティ・プロバイダ管理」に移動します。

  3. 「サービス・プロバイダ属性プロファイル」タブをクリックします。

  4. 「SP属性プロファイルの作成」ボタンをクリックします。

図Create_SP_Attribute_Profile.jpgの説明

  1. 新しいSP属性プロファイルに関する基本情報を設定します。

    • 名前を入力します

    • 必要に応じて説明を入力します

    ノート: 「デフォルト・サービス・ポイント・パートナ属性プロファイル」が選択されている場合、新規サービス・ポイント・パートナがUIを介して作成されるときに、SP属性プロファイルが事前に割り当てられ、サービス・ポイント属性プロファイルが割り当てられていないサービス・ポイント・パートナに使用されるサービス・ポイント属性プロファイルになります(たとえば、WLSTコマンドを介して作成されるサービス・ポイント属性プロファイル)。

    図Default_SP_Partner_Attribute_Profile.jpgの説明

前にリストした必要な属性を追加します。Eメール属性を追加するには、次の操作を実行します。

  1. 「属性マッピング」表の「エントリの追加」ボタンをクリックします。

  2. 電子メール属性を設定します。

    1. メッセージ属性名: Eメール

    2. : ユーザーを選択し、attrを選択して、電子メール・アドレス(この場合はメール)を含むLDAP属性を入力します

    3. 常に送信: 選択

図Add_Email_Attribute.jpgの説明

次の操作を実行して、Name属性を追加します。

  1. 「属性マッピング」表の「エントリの追加」ボタンをクリックします。

  2. 「Name」属性を設定します。

    1. メッセージ属性名: 名前

    2. : 式を選択し、次の文字列を入力します(この例では、givenname LDAP属性に名が含まれ、姓がsnです): 私の名前は$user.attr.givenname $user.attr.snです

    3. 常に送信: 選択

    図Add_Name_Attribute.jpgの説明

次の操作を実行して、UserID属性を追加します。

  1. 「属性マッピング」表の「エントリの追加」ボタンをクリックします。

  2. UserID属性を設定します。

    1. メッセージ属性名: UserID

    2. : ユーザーを選択し、useridを選択します

    3. 常に送信: 選択

    図Add_UserID_Attribute.jpgの説明

次の操作を実行して、SessionCount属性を追加します。

  1. 「属性マッピング」表の「エントリの追加」ボタンをクリックします。

  2. SessionCount属性を設定します。

    1. メッセージ属性名: SessionCount

    2. : セッションを選択し、カウントします

    3. 常に送信: 選択

    図Add_SessionCount_Attribute.jpgの説明

次の操作を実行して、IPAddress属性を追加します。

  1. 「属性マッピング」表の「エントリの追加」ボタンをクリックします。

  2. IPAddress属性を設定します。

    1. メッセージ属性名: IPAddress

    2. : リクエストを選択し、client_ipを選択します

    3. 常に送信: 選択

    図Add_IPAddress_Attribute.jpgの説明

SP属性プロファイルは、このプロファイルにリンクされているSPパートナに必要な属性を送信するように構成されました

図SP_Attribute_Profile.jpgの説明

新しいSP属性プロファイルを使用するようにSPパートナを更新し、NameID設定を構成します。

  1. OAM管理コンソール(http(s)://OAM-admin-host:OAM-admin- port/oamconsole)にアクセスします。

  2. 「アイデンティティ・フェデレーション」「アイデンティティ・プロバイダ管理」に移動します。

  3. 「サービス・プロバイダ・パートナの検索」をクリックします。

  4. 目的のSPパートナを開きます。

  5. NameIDフォーマットとしてUnspeci9edを選択します。

  6. NameIDには、「ユーザーIDストア属性」を選択し、userIDを含むLDAP属性としてuidを入力します。

ノート: ドロップダウンで「式」を選択し、以前使用したものと同様の式を入力します。

  1. 「属性マッピング」セクションで、新しく作成したSP属性プロファイルを属性プロファイルとして選択します。

  2. 「保存」をクリックします。

図SP_Partner_Update.jpgの説明

常に送信することに関するノート

SP属性プロファイルは、次のようなさまざまなプロトコルに使用されます。

SAMLアサーション

次の特性を持つユーザーに基づいて、IdPは、次に示すようなSAMLアサーションを生成します。

aliceのIdPによって生成されたSAMLアサーション:

 <samlp:Response ...>
 <saml:Issuer ...>https://idp.com</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</saml:Issuer>

  <dsig:Signature>

  ...

  </dsig:Signature>

 <saml:Subject>

  <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid- format:unspeci9ed">alice</saml:NameID>

  ...

 </saml:Subject>
 <saml:Conditions NotBefore="2014-02-26T20:35:00Z" NotOnOrAfter="2014-02-26T22:35:00Z">
 <saml:AudienceRestriction>

  <saml:Audience>https://acme.com/sp</saml:Audience>

 </saml:AudienceRestriction>
 </saml:Conditions>
 <saml:AuthnStatement AuthnInstant="2014-02-26T20:35:00Z" ...>
 <saml:AuthnContext>

  <saml:AuthnContextClassRef>urn:...:Password</saml:AuthnContextClassRef>

 </saml:AuthnContext>
 </saml:AuthnStatement>
 <saml:AAributeStatement>
 <saml:Attribute Name="Name" ...>

  <saml:AAributeValue ...>My name is Alice Appleton</saml:AAributeValue>

  </saml:AAribute>

 <saml:Attribute Name="SessionCount" ...>
 <saml:AAributeValue ...>1</saml:AAributeValue>
 </saml:AAribute>
 <saml:Attribute Name="Email" ...>
 <saml:AAributeValue ...>alice@idp.com</saml:AAributeValue>
 </saml:AAribute>
 <saml:Attribute Name="IPAddress" ...>
 <saml:AAributeValue ...>10.145.120.253</saml:AAributeValue>
 </saml:AAribute>
 <saml:Attribute Name="UserID" ...>
 <saml:AAributeValue ...>alice</saml:AAributeValue>
 </saml:AAribute>
 </saml:AAributeStatement>
 </saml:Assertion>
 </samlp:Response>

WLSTコマンド

この項では、OAM WLSTコマンドを使用して属性を送信するようにIdPを構成する方法について説明します。次の例では、リモートのOpenID 2.0 SPパートナを持つフェデレーションに基づいており、IdPは次のように構成されています。

次の属性を送信します。

このために、新しいSP属性プロファイルを作成し、acmeRPに割り当てます。新しいRPパートナがオンボーディングされている場合、IdPがそれらの新しいSPに同じ属性を送信するように、既存のSP属性プロファイルを割り当てることができます。

すでにWLST環境にあり、次を使用して接続しているとします。

  1. $IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。

  2. WLS管理サーバー(connect())に接続します。

  3. 「ドメイン・ランタイム」ブランチdomainRuntime()に移動します。

新規SP属性プロファイルの構成

新しいSP属性プロファイルを構成するには、次のステップを実行します。

  1. 新しいSP属性プロファイルcreateSPPartnerAAributeProfile("openIDAArProfile")を作成します。

  2. 新規SP属性プロファイルの名前を指定します。

  3. Eメール属性setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://axschema.org/contact/email", "$user.attr.mail")を作成します。

  4. 変更するSP属性プロファイルの名前を指定します。

  5. OpenID属性名をhttp://axschema.org/contact/emailに指定します。

  6. 値を、電子メール・アドレス(この場合は$user.attr.mail)を含むLDAP属性に設定します。

  7. 名前属性setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://openid.net/schema/namePerson/friendly", "My name is $user.attr.givenname $user.attr.sn")を作成します。

  8. 変更するSP属性プロファイルの名前を指定します。

  9. OpenID属性名をhttp://openid.net/schema/namePerson/friendlyに指定します。

  10. 値を設定します(この例では、指定された名前のLDAP属性に9rstの名前が含まれ、姓をsnします): My nameは$user.attr.givenname $user.attr.snです。

  11. UserID属性setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://schemas.openid.net/ax/api/user_id", "$user.userid")を作成します。

  12. 変更するSP属性プロファイルの名前を指定します。

  13. OpenID属性名を<http://schemas.openid.net/ax/api/user_id>に指定します。

  14. 値を、電子メール・アドレス(この場合は$user.attr.uid)を含むLDAP属性に設定します。

  15. OAMセッション数属性setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://session/count", "$session.count")を作成します。

  16. 変更するSP属性プロファイルの名前を指定します。

  17. OpenID属性名を<http://session/count>に指定します。

  18. 値を$session.countに設定します。

  19. クライアントのIPアドレス属性setSPPartnerAAributeProfileEntry("openIDAArProfile", "http://session/ipaddress", "$request.client_ip")を作成します。

  20. 変更するSP属性プロファイルの名前を指定します。

  21. OpenID属性名を<http://session/ipaddress>に指定します。

  22. 値を$request.client_ipに設定します。

そのSP属性プロファイルを使用するようにSPパートナを更新するには、次を実行します。

OpenIDレスポンス

次の特性を持つユーザーに基づいて、IdPは、次に示すようなOpenIDレスポンスを生成します。

OpenID aliceのIdPによって生成されるレスポンス:

https://acme.com/sp/openidv20?re9d=id-UnaYvk-mDQy6ZQB-4R39L4An4B0-& openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res& openid.op_endpoint=http%3A%2F%2Fadc00pcc.us.oracle.com%3A23002%2Foamfed%2Fidp%2Fopenidv20& openid.claimed_id=http%3A%2F%2Fadc00pcc.us.oracle.com%3A23002%2Foamfed%2Fidp%2Fopenidv20%3Fid%3Did- p4rWL%2FjzZAKwxAYLA%2FjOtP7s6fqjdyQ2BiSWZduaR5c%3D&openid.identity=http%3A%2F%2Fadc00pcc.us.oracle.com%3A23002%2Foamfed%2Fidp%2Fopenidv20%3Fid%3Did- p4rWL%2FjzZAKwxAYLA%2FjOtP7s6fqjdyQ2BiSWZduaR5c%3D& openid.return_to=http%3A%2F%2Fadc00peq.us.oracle.com%3A7499%2Ffed%2Fsp%2Fopenidv20%3Fre9d%3Did-UnaYvk-mDQy6ZQB-4R39L4An4B0-&openid.response_nonce=2014-02-26T21%3A35%3A08Zid- uTAXy9lDK7TVvgezZVY3XZ06iSDcZb97zxiOl0qw&openid.assoc_handle=id-n-nN- qW2VAZa75-XJshWpmVHK53Yz0-lTZtrtsJm&openid.ns.ax=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ax.mode=fetch_response& openid.ax.type.attr0=http%3A%2F%2Fsession%2Fcount&openid.ax.value.attr0=2& openid.ax.type.attr1=http%3A%2F%2Fopenid.net%2Fschema%2FnamePerson%2Ffriendly& openid.ax.value.attr1=My+name+is+Alice+Appleton&openid.ax.type.attr2=http%3A%2F%2Fschemas.openid.net%2Fax%2Fapi%2Fuser_id& openid.ax.value.attr2=alice&openid.ax.type.attr3=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ax.value.attr3=alice%40idp.com& openid.ax.type.attr4=http%3A%2F%2Fsession%2Fipaddress& openid.ax.value.attr4=10.145.120.253&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ax%2Cax.mode%2Cax.type.attr0%2Cax.value.attr0%2Cax.type.attr1%2Cax.value.attr1%2Cax. openid.sig=TeDo%2FouX%2BXRI%2F1G8kJVsw5JOVY8%3D

属性に関連するデコードされたURL問合せパラメータは、次のとおりです。

その他の学習リソース

docs.oracle.com/learnで他のラボを探すか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。