この章では、Oracle Access ManagementのIdentity Federationで使用するフェデレーション・パートナについて説明します。この章の内容は次のとおりです。
この章に記載されている内容は、前の章の「フェデレーション・サービスの管理」を実行していることを前提としています。また、この章は、『Oracle Fusion Middleware Oracle Identity Federation管理者ガイド』に記載されているOracle Identity Federation 11.1.1についてある程度理解していることを前提としています。
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を使用する必要があります。
アイデンティティ・プロバイダ(IdP)は、そのサービス・プロバイダ(SP)パートナのユーザーIDのセットを管理、認証およびアサートします。Identity Federationサービスが外部アイデンティティ・プロバイダを使用してSSOを実行するには、そのプロバイダがトラステッド・パートナとして定義されている必要があります。
この項の内容は次のとおりです。
「新規アイデンティティ・プロバイダ」ページを使用して、Access Managerのアイデンティティ・プロバイダ(IdP)パートナのレコードを定義します。サービスの詳細は、手動で指定することもメタデータ・ファイルからロードすることも可能です。
図28-1に、サービスの詳細をメタデータからロードした場合のフェデレーテッドIdPパートナの「新規アイデンティティ・プロバイダ」ページを示します。
図28-2に、サービスの詳細を手動で入力した場合のフェデレーテッドIdPパートナの「新規アイデンティティ・プロバイダ」ページを示します。
表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アドレスです。この要素はログアウト機能を使用する場合は必須です。 |
署名証明書 |
プロバイダが使用する署名証明書です。 |
ユーザー・アイデンティティ・ストア |
IdPのユーザーが配置およびマップされるアイデンティティ・ストアです。Identity Federationは、パートナ単位で定義された複数のアイデンティティ・ストアをサポートします。ユーザー・アイデンティティ・ストアが選択されていない場合は、Access Managerに定義されたデフォルト・ストアが使用されます。 |
ユーザー検索ベースDN |
ユーザー・レコードの参照時に使用される基本検索DNです。(オプション。省略した場合は、選択したユーザー・アイデンティティ・ストア用に構成されているデフォルトのユーザー検索ベースDNが使用されます。) |
マッピング・オプション |
この設定では、アイデンティティ・ストア内のユーザーに着信アサーションをマップする方法を指定します。次のいずれかのオプションを選択します。
|
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)を定義します。
Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。
System Configuration tab Federation section Identity Providers node
「IDプロバイダの作成」ボタンをクリックして、「新規アイデンティティ・プロバイダ」ページを表示します。
通常、SAML 2.0はメタデータで構成します。「サービスの詳細」ドロップダウンで、「プロバイダ・メタデータからロード」を選択します。
「メタデータ・ファイル」という新しいフィールドが表示されます。「参照」をクリックします。
対象のメタデータ・ファイルを選択します。
ファイルからメタデータがロードされます。
「保存」をクリックすると、アイデンティティ・プロバイダの定義が作成されます。
フェデレーションで使用するSAML 1.1アイデンティティ・プロバイダを定義する手順
次の手順を実行して、新しいSAML 1.1アイデンティティ・プロバイダ(IdP)を作成します。
Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。
System Configuration tab Federation section Identity Providers node
「IDプロバイダの作成」ボタンをクリックして、「新規アイデンティティ・プロバイダ」ページを表示します。
使用環境に適した値(表28-1)を、「新規アイデンティティ・プロバイダ」ページに入力します。指定する情報は、プロバイダなどの要素で選択したプロトコルに応じて異なります。
「保存」をクリックすると、アイデンティティ・プロバイダの定義が作成されます。
フェデレーションで使用する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 |
|
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 |
|
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")
注意:
詳細は、後述の項「属性をマップするには」を参照してください。 |
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から要求されることを示すために" |
最後に、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")
Identity Federation用の既存のIdPを管理するには、次の手順を使用します。
前提条件
フェデレーション・サービスの有効化
既存のアイデンティティ・プロバイダを検索する手順
次の手順に従います。
Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。
System Configuration tab Federation section Identity Providers node
ページの「検索」に、アイデンティティ・プロバイダの検索基準を入力します。"*
"(アスタリスク)文字と".
"(ピリオド)文字は、検索のワイルドカードとしてサポートされています。検索パラメータの詳細は、表28-4を参照してください。
「検索」をクリックします。
検索結果は、表に表示されます。
表28-4 IdPのプロバイダ検索で使用される要素
要素 | 説明 |
---|---|
パートナ名 |
特定のパートナ名を検索します。 |
プロバイダID |
プロバイダIDで検索します。 |
ステータス |
ステータスに一致するプロバイダを検索します。 |
説明 |
プロバイダの説明で検索します。 |
プロトコル |
指定したプロバイダを使用するプロバイダを検索します。 |
注意: WLSTコマンドを使用して作成されたOpenID 2.0 IdPパートナは、IdPの検索結果に表示されます。ただし、管理コンソールから編集や更新を実行できません。そのかわりに、次の関連WLSTコマンドを使用します。 |
表28-4に、IdP検索の検索結果の例を示します。
フェデレーションで使用するアイデンティティ・プロバイダを更新する手順
Oracle Access Managementコンソールで、次のようにフェデレーション・アイデンティティ・プロバイダに移動します。
System Configuration tab Federation section Identity Providers node
更新対象のプロバイダを検索します。詳細は、「既存のアイデンティティ・プロバイダを検索する手順」を参照してください。
検索結果の表から対象のプロバイダを選択します。
鉛筆アイコンをクリックして、プロバイダの更新ページを表示します。このページは、「サービス情報」、「署名証明書」、「ユーザー・マッピング」および「詳細設定」のセクションに分かれています。
プロバイダの情報を更新します。詳細は、表28-1を参照。
「保存」をクリックすると、アイデンティティ・プロバイダの定義が更新されます。
図28-4に、IdP定義の更新の例を示します。