ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11gリリース2 (11.1.2)
B69533-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

28 Oracle Access Managementコンソールを使用したIdentity Federation用パートナの管理

この章では、Oracle Access ManagementのIdentity Federationで使用するフェデレーション・パートナについて説明します。この章の内容は次のとおりです。

28.1 前提条件

この章に記載されている内容は、前の章の「フェデレーション・サービスの管理」を実行していることを前提としています。また、この章は、『Oracle Fusion Middleware Oracle Identity Federation管理者ガイド』に記載されているOracle Identity Federation 11.1.1についてある程度理解していることを前提としています。

28.2 フェデレーション・パートナの管理の概要

Oracle Access Management Access Managerに含まれるIdentity Federationの機能を使用すると、フェデレーテッド・シングル・サインオン操作に必要なトラステッド・パートナを追加できます。

フェデレーション・パートナの作成には、Oracle Access ManagementコンソールまたはWLSTコマンドライン・ユーティリティを使用できます。

SPモード機能およびIdPモード機能

11gリリース2(11.1.2)には、Access Managerに統合されたフェデレーション・サービス・プロバイダ(SPモード)機能が用意されています。ただし、アイデンティティ・プロバイダ(IdP-mode)の機能が必要な場合は、Oracle Identity Federation 11.1.1を使用する必要があります。

28.3 フェデレーション用のアイデンティティ・プロバイダ・パートナの管理

アイデンティティ・プロバイダ(IdP)は、そのサービス・プロバイダ(SP)パートナのユーザーIDのセットを管理、認証およびアサートします。Identity Federationサービスが外部アイデンティティ・プロバイダを使用してSSOを実行するには、そのプロバイダがトラステッド・パートナとして定義されている必要があります。

この項の内容は次のとおりです。

28.3.1 フェデレーション・アイデンティティ・プロバイダの作成

「新規アイデンティティ・プロバイダ」ページを使用して、Access Managerのアイデンティティ・プロバイダ(IdP)パートナのレコードを定義します。サービスの詳細は、手動で指定することもメタデータ・ファイルからロードすることも可能です。

図28-1に、サービスの詳細をメタデータからロードした場合のフェデレーテッドIdPパートナの「新規アイデンティティ・プロバイダ」ページを示します。

図28-1 サービスの詳細をメタデータからロードした場合の「新規アイデンティティ・プロバイダ」ページ

図28-1については周囲のテキストで説明しています。

図28-2に、サービスの詳細を手動で入力した場合のフェデレーテッドIdPパートナの「新規アイデンティティ・プロバイダ」ページを示します。

図28-2 サービスの詳細を手動で入力した場合の「新規アイデンティティ・プロバイダ」ページ

図28-2については周囲のテキストで説明しています。

表28-1では、「新規アイデンティティ・プロバイダ」の各要素について説明します。

表28-1 アイデンティティ・プロバイダ・パートナの設定

要素 説明

名前

プロバイダ名です。

説明

プロバイダの簡単な説明です。(オプション)。

プロトコル

プロバイダ・プロトコルです(SAML 1.1、SAML 2.0など)。

サービスの詳細

このドロップダウンを使用して、サービスの詳細を手動で入力するか、メタデータからロードするかを選択します。

メタデータ・ファイル

このフィールドは、ファイルからメタデータをロードする場合に表示されます。「参照」をクリックして、使用するファイルを選択します。

発行者ID

プロバイダの発行者IDです。

簡潔ID

プロバイダの簡潔IDです。この要素は、アーティファクト・プロファイルを使用する場合は必須です。

SSOサービスURL

SSOリクエストが送信されるURLアドレスです。

SOAPサービスURL

SOAPサービス・リクエストが送信されるURLアドレスです。この要素は、アーティファクト・プロファイルを使用する場合は必須です。

ログアウト・リクエスト・サービスURL

プロバイダからログアウト・リクエストが送信されるURLアドレスです。この要素はログアウト機能を使用する場合は必須です。

ログアウト・レスポンス・サービスURL

ログアウト・レスポンスが送信されるURLアドレスです。この要素はログアウト機能を使用する場合は必須です。

署名証明書

プロバイダが使用する署名証明書です。pemおよびderフォーマットで指定できます。

ユーザー・アイデンティティ・ストア

IdPのユーザーが配置およびマップされるアイデンティティ・ストアです。Identity Federationは、パートナ単位で定義された複数のアイデンティティ・ストアをサポートします。ユーザー・アイデンティティ・ストアが選択されていない場合は、Access Managerに定義されたデフォルト・ストアが使用されます。

ユーザー検索ベースDN

ユーザー・レコードの参照時に使用される基本検索DNです。(オプション。省略した場合は、選択したユーザー・アイデンティティ・ストア用に構成されているデフォルトのユーザー検索ベースDNが使用されます。)

マッピング・オプション

この設定では、アイデンティティ・ストア内のユーザーに着信アサーションをマップする方法を指定します。次のいずれかのオプションを選択します。

  • ユーザーIDストア属性にアサーション名IDをマップ

    アサーションのNameIDのマップ先となるアイデンティティ・ストア属性を入力します。

  • ユーザーIDストア属性にアサーション属性をマップ

    アサーション属性とそのマップ先となるアイデンティティ・ストア属性を入力します。

  • LDAP問合せを使用してユーザー・レコードにアサーションをマップ

    着信データのプレースホルダを含むLDAP問合せを入力します。次を使用できます。

    - SAMLアサーションのAttributeStatement要素の属性。属性名の先頭と末尾に%文字を付けて参照します。

    - SAMLアサーションのサブジェクトのNameID%fed.nameidvalue%で参照します。

    - アイデンティティ・プロバイダのパートナ名。%fed.partner%で参照します。

    たとえば、2つのアサーション属性(lastnameとemail)に基づいて着信アサーションをマップするLDAP問合せは、(&(sn=%lastname%)(mail=%email%))のようになります。

HTTP Basic認証の有効化

HTTP基本資格証明を受け入れる場合はこのボックスを選択します。(拡張要素。プロバイダの「Edit」モードのみで使用できます。)



注意:

アイデンティティ・プロバイダ(IdP)機能には、11gリリース1(11.1.1)のOracle Identity Federationサーバーを使用してください。詳細は、『Oracle Fusion Middleware Oracle Identity Federation管理者ガイド』を参照してください。


フェデレーションで使用するSAML 2.0アイデンティティ・プロバイダを定義する手順

次の手順に従って、新しいSAML 2.0アイデンティティ・プロバイダ(IdP)を定義します。

  1. Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。

    System Configuration tab
    Federation section
    Identity Providers node
    
  2. 「IDプロバイダの作成」ボタンをクリックして、「新規アイデンティティ・プロバイダ」ページを表示します。

  3. 通常、SAML 2.0はメタデータで構成します。「サービスの詳細」ドロップダウンで、「プロバイダ・メタデータからロード」を選択します。

  4. 「メタデータ・ファイル」という新しいフィールドが表示されます。「参照」をクリックします。

  5. 対象のメタデータ・ファイルを選択します。

  6. ファイルからメタデータがロードされます。

  7. 「保存」をクリックすると、アイデンティティ・プロバイダの定義が作成されます。

フェデレーションで使用するSAML 1.1アイデンティティ・プロバイダを定義する手順

次の手順を実行して、新しいSAML 1.1アイデンティティ・プロバイダ(IdP)を作成します。

  1. Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。

    System Configuration tab
    Federation section
    Identity Providers node
    
  2. 「IDプロバイダの作成」ボタンをクリックして、「新規アイデンティティ・プロバイダ」ページを表示します。

  3. 使用環境に適した値(表28-1)を、「新規アイデンティティ・プロバイダ」ページに入力します。指定する情報は、プロバイダなどの要素で選択したプロトコルに応じて異なります。

  4. 「保存」をクリックすると、アイデンティティ・プロバイダの定義が作成されます。

フェデレーションで使用するOpenID 2.0アイデンティティ・プロバイダを定義するには:

11gリリース2 (11.1.2)では、フェデレーション・サービスは、OpenIDをサポートし、OpenID RP/SPの役割を果たします。OpenIDプロバイダ(OP)は、IdPパートナとして登録できます。これらのOpenIDパートナを使用して作成された認証スキームは、OpenIDアイデンティティ・プロバイダが提供する認証サービスを使用してOAMリソースを保護します。

フェデレーションWLSTコマンドを使用すると、OpenID IdPパートナを登録および管理できます。


関連項目:

『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』


Google IdPパートナ

次のWLSTコマンドを実行して、Google IdPパートナを追加します。

addOpenID20GoogleIdPFederationPartner()

これにより、次の検出URLを使用するGoogleという名前のIdPパートナを作成します。

https://www.google.com/accounts/o8/id

このパートナは、SPがGoogle IdPから表28-2に一覧されたアサーション属性を要求できるように構成され、それらの属性を対応するセッション属性名にマップします。

表28-2 Google OpenIDパートナの属性

アサーション属性名 セッション属性名

http://axschema.org/contact/country/home

country

http://axschema.org/contact/email

email

http://axschema.org/namePerson/first

firstname

http://axschema.org/pref/language

language

http://axschema.org/namePerson/last

lastname


Googleパートナはユーザー・マッピング属性としてmailを使用するため、着信のhttp://axschema.org/contact/email属性は、ユーザー・アイデンティティ・ストアに含まれるユーザーのmail属性と一致するようになります。

次のWLSTコマンドを使用すると、GoogleがデフォルトIdPになります。

putStringProperty("/spglobal/defaultssoidp","google")

Yahoo IdPパートナ

次のWLSTコマンドを実行して、Yahoo IdPパートナを追加します。

addOpenID20YahooIdPFederationPartner()

これにより、次の検出URLを使用するyahooという名前のIdPパートナを作成します。

https://open.login.yahooapis.com/openid20/user_profile/xrds

このパートナは、SPがYahoo IdPから表28-3に一覧されたアサーション属性を要求できるように構成され、それらの属性を対応するセッション属性名にマップします。

表28-3 Yahoo OpenIDパートナの属性

アサーション属性名 セッション属性名

http://axschema.org/contact/country/home

country

http://axschema.org/contact/email

email

http://axschema.org/namePerson/first

firstname

http://axschema.org/pref/language

language

http://axschema.org/namePerson/last

lastname


Yahooパートナはユーザー・マッピング属性としてmailを使用するため、着信のhttp://axschema.org/contact/email属性は、ユーザー・アイデンティティ・ストアに含まれるユーザーのmail属性と一致するようになります。

次のWLSTコマンドを使用すると、YahooがデフォルトIdPになります。

putStringProperty("/spglobal/defaultssoidp", "yahoo")

その他のOpenID 2.0 IdPパートナ

次のWLSTコマンドを実行して、GoogleまたはYahoo以外のOpenID 2.0 IdPパートナを追加します。

addOpenID20IdPFederationPartner(partnerName, idpSSOURL, discoveryURL, description) 

説明:

  • partnerNameは、作成するパートナの名前です。

  • idpSSOURLは、IdPの初期SSO URLです。検出URLが指定されていて、そのURLを使用する場合は、""を設定します。

  • discoveryURLは、IdPのOpenID検出URLです。IdP SSO URLが指定されていて、そのURLを使用する場合は、""を設定します。

  • descriptionは、パートナの説明です。このパラメータはオプションです。

例1:

addOpenID20IdPFederationPartner(“testpartner1”, “”, “http://host:port/discoveryurl”, description="Test IdP1")

例2:

addOpenID20IdPFederationPartner(“testpartner2”, 
“http://host:port /openidv20/sso”, “”, description="Test IdP2")

パートナIdPにアイデンティティ・ストアを設定するには

次のWLSTコマンドを使用すると、IdPのユーザーをマップするために使用するアイデンティティ・ストアを指定できます。このアイデンティティ・ストアは、OAMに登録されている必要があります。管理コンソールで登録済のストアを確認するには、「システム構成」、「共通構成」、「データソース」、「ユーザー・アイデンティティ・ストア」の順に移動します。

setPartnerIDStoreAndBaseDN(partnerName, ”idp”, storeName, searchBaseDN)

説明:

  • partnerNameは、更新するパートナの名前です。

  • storeNameは、アイデンティティ・ストアの名前です。

  • searchBaseDNは、LDAPの検索ベースDNです(オプション)。

例:

setPartnerIDStoreAndBaseDN(partnerName="testpartner", partnerType="idp", storeName="testldap", searchBaseDN="dc=company,dc=com")

アサーション属性をユーザー属性にマップするには

ユーザーを特定するには、IdPから受信したOpenIDアサーションの属性を、特定のデータ・ストアにマップするように指定します。次のWLSTコマンドを使用すると、属性でユーザーのアサーションをマッピングするパートナを構成できます。

setIdPPartnerMappingAttribute(partnerName, assertionAttr,userstoreAttr)

説明:

  • partnerNameは、更新するパートナのIDです。

  • assertionAttrは、マッピングに使用するアサーションの属性です。

  • userstoreAttrは、アサーション属性値のマップ先になるユーザー・ストア内の属性名です。

例:

setIdPPartnerMappingAttribute(partnerName="testpartner", assertionAttr="email", userstoreAttr="mail")

注意:

assertionAttrを含むIdPから受信したアサーションが、確実にユーザー・マッピングに使用されるようにするために、IdPが送信する属性を指定できます。

詳細は、後述の項「属性をマップするには」を参照してください。


IdPパートナの属性プロファイルを構成するには

属性プロファイルを作成すると、OpenID IdPから要求する属性を指定できます。

次のWLSTコマンドを使用すると、このプロファイルを作成できます。

createIdPPartnerAttributeProfile(attrProfileID)

このattrProfileIDは、作成するIdPパートナ属性プロファイルを参照する識別子です。例:

createIdPPartnerAttributeProfile(attrProfileID="openid-idp-attribute-profile")

その次に、IdPから要求される属性ごとに、属性プロファイルのエントリを作成します。

setIdPPartnerAttributeProfileEntry(attrProfileID, messageAttributeName, oamSessionAttributeName, "true")

説明:

  • attrProfileIDでは、エントリが含まれるIdPパートナ属性プロファイルを特定します。

  • messageAttributeNameは、要求される属性の名前です。

  • oamSessionAttributeNameは、OAMセッションに示される属性の名前です($session.attr.fed.attr.%oamSessionAttributeName%、%oamSessionAttributeName%の部分が、この属性の名前に置き換わります)。

例:

setIdPPartnerAttributeProfileEntry("openid-idp-attribute-profile", "http://axschema.org/namePerson", "name", "true")

注意:

このコマンドの最後のパラメータは、この属性がIdPから要求されることを示すために"true"のままにします。


最後に、OpenID IdPパートナに使用する属性プロファイルとして、作成した属性プロファイルを指定します。

setIdPPartnerAttributeProfile(partnerName, attrProfileID)

説明:

  • partnerNameは、IdPパートナのIDです。

  • attrProfileIDは、IdPパートナに使用する属性プロファイルです。

例:

setIdPPartnerAttributeProfile("testpartner, "openid-idp-attribute-profile")

属性プロファイルを削除するには

次のWLSTコマンドを使用すると、属性プロファイルを削除できます。

deleteIdPPartnerAttributeProfile(<attrProfileID>)

このattrProfileIDは、削除するIdPパートナ属性プロファイルの識別子です。例:

deleteIdPPartnerAttributeProfile("openid-idp-attribute-profile")

注意:

属性プロファイルを削除する前に、属性プロファイルを参照するパートナが存在しないことを確認してください。


OpenId IdPパートナをデフォルトのフェデレーションIdPとして指定するには

次のWLSTコマンドを使用すると、OpenId IdPパートナをデフォルトのフェデレーションIdPとして指定できます。

putStringProperty("/spglobal/defaultssoidp", partnerName)

このpartnerNameは、デフォルトのフェデレーションIdPとして指定するIdPパートナのIDです。例:

putStringProperty("/spglobal/defaultssoidp", "testpartner")

OpenID IdPパートナを削除するには

次のWLSTコマンドを使用すると、OpenID IdPパートナを削除できます。

deleteFederationPartner(partnerName, "idp")

このpartnerNameは、IdPパートナのIDです。例:

deleteFederationPartner("testpartner", "idp")

OAMのリソースを保護する認証スキームを作成するには

OAMのリソースは、OpenD IdPを使用する認証スキームで保護できます。次のWLSTコマンドを使用すると、認証スキームおよびモジュールを作成できます。

createAuthnSchemeAndModule(partnerName)

このpartnerNameは、認証スキームおよびモジュールを作成する対象のIdPパートナのIDです。例:

createAuthnSchemeAndModule("testpartner")

OpenID簡易登録を有効化するには

デフォルトでは、Identity FederationはAttribute Exchange Extensionを使用して、OpenID IdPからユーザー・アイデンティティ属性を取得します。ただし、古いSimple Registration(SREG)拡張機能を使用する必要がある場合は、次のWLSTコマンドを実行することで、有効化できます。

putBooleanProperty("/spglobal/openid20axenabled", "false")
putBooleanProperty("/spglobal/openid20sregenabled", "true")

OpenID Simple Registrationを無効化するには

Simple Registration(SREG)拡張機能からAttribute Exchange Extensionに切り替えてOpenID IdPからユーザー・アイデンティティ属性を取得するには:

putBooleanProperty("/spglobal/openid20axenabled", "true")
putBooleanProperty("/spglobal/openid20sregenabled", "false")

28.3.2 フェデレーションのアイデンティティ・プロバイダの管理

Identity Federation用の既存のIdPを管理するには、次の手順を使用します。

前提条件

フェデレーション・サービスの有効化

既存のアイデンティティ・プロバイダを検索する手順

次の手順に従います。

  1. Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。

    System Configuration tab
    Federation section
    Identity Providers node
    
  2. ページの「検索」に、アイデンティティ・プロバイダの検索基準を入力します。"*"(アスタリスク)文字と"."(ピリオド)文字は、検索のワイルドカードとしてサポートされています。検索パラメータの詳細は、表28-4を参照してください。

  3. 「検索」をクリックします。

  4. 検索結果は、表に表示されます。

表28-4 IdPのプロバイダ検索で使用される要素

要素 説明

パートナ名

特定のパートナ名を検索します。

プロバイダID

プロバイダIDで検索します。

ステータス

ステータスに一致するプロバイダを検索します。

説明

プロバイダの説明で検索します。

プロトコル

指定したプロバイダを使用するプロバイダを検索します。



注意:

WLSTコマンドを使用して作成されたOpenID 2.0 IdPパートナは、IdPの検索結果に表示されます。ただし、管理コンソールから編集や更新を実行できません。そのかわりに、次の関連WLSTコマンドを使用します。


表28-4に、IdP検索の検索結果の例を示します。

図28-3 アイデンティティ・プロバイダの検索

図28-3については周囲のテキストで説明しています。

フェデレーションで使用するアイデンティティ・プロバイダを更新する手順

  1. Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。

    System Configuration tab
    Federation section
    Identity Providers node
    
  2. 更新対象のプロバイダを検索します。詳細は、「既存のアイデンティティ・プロバイダを検索する手順」を参照してください。

  3. 検索結果の表から対象のプロバイダを選択します。

  4. 鉛筆アイコンをクリックして、プロバイダの更新ページを表示します。このページは、「サービス情報」、「署名証明書」、「ユーザー・マッピング」および「詳細設定」のセクションに分かれています。

  5. プロバイダの情報を更新します。詳細は、表28-1を参照。

  6. 「保存」をクリックすると、アイデンティティ・プロバイダの定義が更新されます。

図28-4に、IdP定義の更新の例を示します。

図28-4 アイデンティティ・プロバイダの更新

図28-4については周囲のテキストで説明しています。