ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Enterprise Repository構成ガイド
11g リリース1 (11.1.1.7)
E59381-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 外部認証ツールを使用するためのOracle Enterprise Repositoryの構成

この章では、LDAP/Active Directory、eTrust Single Sign-On、およびコンテナ管理設定などの外部認証ツールを使用してOracle Enterprise Repositoryを認証する方法について説明します。

この章には、次のセクションがあります。

3.1 概要

この項では、LDAP/Active Directoryを使用してOracle Enterprise Repositoryのユーザーを認証する方法について説明します。

この項には次のトピックが含まれます:

3.1.1 LDAP/Active Directory

ユーザーの認証にLDAP/Active Directory (AD)を利用する場合、LDAP/Active Directoryサーバーを利用する前に、ユーザーの部門とロールの構成を検討する必要があります。統合が有効になるとすべてのユーザーがLDAP/ADを介して認証されますが、Oracle Enterprise Repositoryデータベース内でLDAP/ADからのユーザー名を照合する管理レベルのユーザー・アカウントを1つ以上設定する必要があります。LDAP/ADが有効な場合にOracle Enterprise Repository内で管理機能を引き続き実行できるように、このユーザー・アカウントには管理ロールが割り当てる必要があります。

LDAP/ADからのロール同期が有効な場合、1つ以上のユーザー・アカウントに管理レベル・ロールを割り当てる必要があります。LDAPロールは、ロール同期のオプションを利用する前にOracle Enterprise Repository内で作成し、適切なOracle Enterprise Repository権限を割り当てておく必要があります。ロール名は名前でのみ同期されます。管理レベル・ユーザーがLDAP/ADを使用してOracle Enterprise Repositoryにログインすると、そのユーザーはアプリケーションを適切に構成および管理できます。このユーザー・アカウントは日常業務には使用しないでください。

3.1.2 LDAP統合システム・プロパティの有効化

この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。

  1. 左のペインで「システム設定」をクリックします。メイン・ペインで「システム設定」セクションが開きます。

  2. Cookieログイン設定グループのエンタープライズ認証セクションを見つけます。

    図3-1 Cookieログイン設定

    図3-1の説明が続きます
    「図3-1 Cookieログイン設定」の説明

  3. Cookieログインの許可設定が「False」に設定されていることを確認します。

  4. 「システム設定」の「検索」ボックスを使用すると、次のそれぞれの設定を容易に検索できます。

  5. 「検索」ボックスに「enterprise.authentication.ldap.enabled」と入力します。値を「True」に設定し、「保存」をクリックします。

    設定を次のように変更します。

    • Cookieログインをデフォルトに設定

      • 「False」に設定します。

    • 承認されていないユーザーのログイン

      • 「True」に設定します。

    • Cookieログイン・モジュール

      • 「False」に設定します。

    • Cookieログイン・モジュール - 内部チェック

      • 「False」に設定します。

    • プラグイン・ログイン・モジュール・クラス名

      • テキスト・ボックスに「com.oer.enterprise.authentication.server.loginmodule.LDAPLogin」と入力します。


        注意:

        このプロパティはLDAPのオン/オフを切り替えます。有効になると、アプリケーションのユーザー認証にLDAPサーバーが使用されます。


    • プラグイン・ログイン・モジュール表示名

      • テキスト・ボックスに「Enterprise LDAP Login」と入力します。

    • プラグイン・ログイン・モジュール

      • 「True」に設定します。

    • プラグイン・ログイン・モジュール - 内部チェック

      • 「False」に設定します。

  6. 完了したら、「保存」をクリックします。

3.1.3 LDAP/Active Directoryプロパティの変更

LDAP/ADプロパティは次のように変更できます。

  1. 左のペインで「システム設定」をクリックします。

  2. 「システム設定」の「検索」を使用すると、次のそれぞれの設定を容易に検索できます。値を次に示のように入力します。

    • LDAPサーバーのホスト名

      • テキスト・ボックスにホスト名、またはディレクトリ・サーバーのIPアドレスを入力します。

    • LDAPサーバーのポート番号

      • テキスト・ボックスに「389」と入力します。

    • LDAPマスク

      • LDAPの場合、「uid=^」と入力します。

        または

      • Active Directoryの場合、「samAccountName=^」と入力します。

    • 未承認ユーザー・アカウントの作成

      • 「True」に設定します。

    • デフォルト・ロールのユーザーへの割当て

      • 「True」に設定します。


      注意:

      このプロパティでは、ユーザー認証ごとにデフォルトのロールを割り当てます。


    • 不足ロールの自動作成

      • 「True」に設定します。


      注意:

      このプロパティは、LDAP/ADサーバーで同期されているロールを作成しますが、これらのロールに権限は割り当てません。


    • 不足部門の自動作成

      • 「True」に設定します。


      注意:

      このプロパティは、LDAP/ADサーバーで同期されている部門を作成しますが、これらの部門に説明は割り当てません。ただし、ユーザーは新しいロールに割り当てられます。


    • LDAPのバージョン

      • テキスト・ボックスに「3」と入力します。(サポート対象のバージョンは2と3です。)

    • 管理者アカウントの識別名


      注意:

      このプロパティはActive Directoryを使用する際に必要です。このプロパティには、少なくとも読取り専用ディレクトリの参照権限のあるユーザー・アカウントのDNが必要です。


      例: CN=Some_User,CN=Users,DC=ad,DC=example,DC=com

    • 管理者アカウントのパスワード

      • テキスト・ボックスには、前述の管理者アカウントの識別名プロパティで識別した管理者アカウントのパスワードを入力します。

    • SSL接続の使用

      • LDAPのSSL接続を有効にするには、「True」に設定します。デフォルト値はfalseです。

    • 照会先を追跡

      • 「True」に設定します。

    • 管理者アカウントを使用してデータを取得

      • LDAPでは(該当する場合)、「False」に設定します。または

      • Active Directoryまたは制限のあるLDAP環境では、「True」に設定します。

    • 検索開始場所


      注意:

      このプロパティでは、ユーザー・レコードの検索を開始するディレクトリ・ツリーの場所を定義します。


      例:

      • LDAPの場合: OU=MemberGroupB, O=en_us

      • Active Directoryの場合: CN=Users,DC=ad,DC=example,DC=com

    • 検索範囲

      • リストからサブツリーを選択します。


        注意:

        このプロパティでは、ユーザー・レコード検索の深さ(baseDNより下)を定義します。


    • 検索エントリを識別する属性名


      注意:

      このプロパティでは、ツリー検索の範囲内でユーザー・アカウントを一意に識別する属性名を指定します。


      • LDAPの場合: uid

        または

      • Active Directoryの場合: samAccountName

    • 検索エントリの電子メール属性名

      • 「mail」と入力します。

    • 検索エントリの名前属性名

      • 「givenName」と入力します。

    • 検索エントリのミドル・ネーム属性名

      • LDAPまたはActive Directory (該当する場合)のミドル・ネームの属性を入力します。

    • 検索エントリの姓属性名

      • 「sn」と入力します。

    • 検索エントリの電話番号属性名

      • 「telephoneNumber」と入力します。

    • LDAP部門の使用

      • 「True」に設定します。


        注意:

        このプロパティでは、Oracle Enterprise Repositoryで同期されるユーザーの部門属性の値を定義します。


    • 部門属性

      • 「department」と入力します。

    • LDAPロールの使用

      • 「False」に設定します。

    • ロール属性

      • ユーザーのロール情報を含むLDAP/Active directory属性を入力します。

    • 第2レベル参照属性


      注意:

      このプロパティでは、ユーザー情報を取得するための第2レベル参照を識別する属性を定義します。値はDNである必要があります。第2レベル参照にリダイレクトを使用している場合は、この2つ目の参照にベースDNを定義します。


  3. 完了したら、「保存」をクリックします。

  4. Oracle Enterprise Repositoryアプリケーションを再起動します。

3.1.4 セキュリティに関する考慮事項

Oracle Enterprise Repository LDAP/Active Directory Connectorを使用すると、LDAPがOracle Enterprise Repositoryユーザー認証およびロール割当てにおけるユーザー識別の単一ソースとして機能します。ただし、これによって個々のホスト・リポジトリによるOracle Enterprise Repositoryを介したファイル・アクセスに対するユーザー認証管理が妨げられることはありません。

Oracle Enterprise Repository LDAP/Active Directory Connectorを使用した場合は、Oracle Enterprise RepositoryはLDAPまたはActive Directoryを使用してユーザーを認証します。ユーザー名/パスワードの組合せは、バインド・リクエストとしてLDAPシステムに委任されます。ユーザーはバインド・リクエストが完了した場合のみ認証されます。

オプションとして、Oracle Enterprise Repositoryユーザーのロール割当てを格納および取得するようにLDAPを構成できます。この構成では、ロールがLDAPに格納されるように、ユーザーのログインのたびにOracle Enterprise Repositoryがユーザーのロールと同期します。ロールはLDAPを介して直接追加されるため、Oracle Enterprise Repositoryでは管理されません。

3.1.4.1 サンプル・ユース・ケースのシナリオ

次のシナリオでは、LDAPの設定および構成の選択を示し、ユーザー管理のプロパティ設定を明確にします。

シナリオ1

LDAP認証に関係なく、Oracle Enterprise Repositoryへのユーザー・アクセスを防止します。アクセスは、アクティブなOracle Enterprise Repositoryアカウントを持つ既存のユーザーにのみ許可されます。

  • 理由

    • 非エンタープライズ・ライセンス契約では、ユーザー・ベースが事前定義されており、アプリケーションに許可されているユーザー数が限定されているため。

  • プロパティ設定

    • ldap.allow-user-creation

      • 「False」に設定します。

    • enterprise.security.unapproveduser.allowlogin

      • 「False」に設定します。

シナリオ2

LDAP認証で、デフォルトのOracle Enterprise Repositoryユーザー・アカウントを作成し、デフォルトのロールを割り当てますが、Oracle Enterprise Repositoryへのユーザー・アクセスは拒否します。

  • 理由

    • 新規ユーザー・アカウントが作成されたことをセキュリティ管理者に通知するまで、新規ユーザーに対してOracle Enterprise Repositoryのアクセスを拒否するため。セキュリティ管理者の承認が得られたら、ユーザーのステータスがアクティブに変更され、Oracle Enterprise Repositoryログインが許可されます。

  • プロパティ設定

    • ldap.allow-user-creation

      • 「True」に設定します。

    • ldap.assign-default-roles

      • 「True」に設定します。

    • enterprise.security.unapproveduser.allowlogin

      • 「False」に設定します。

シナリオ3

LDAP認証で、デフォルト・ロールを使用してデフォルトのOracle Enterprise Repositoryユーザー・アカウントが作成され、そのユーザーはOracle Enterprise Repositoryへのログインを許可されます。

  • 理由

    • エンタープライズ・ライセンス契約では、LDAP認証が新規ユーザー作成の唯一の制限であるため。通常、デフォルトのOracle Enterprise Repositoryロールがユーザーに設定され、LDAPアカウントで事前定義されていないロールを持つ新規ユーザーに対するアクセスは制限されます。

  • プロパティ設定

    • ldap.allow-user-creation

      • 「True」に設定します。

    • ldap.assign-default-roles

      • 「True」に設定します。

    • enterprise.security.unapproveduser.allowlogin

      • 「True」に設定します。

3.1.5 LDAPプロパティの例

ディレクトリ・サーバーに匿名でバインドされている(認証されていない)間は、Active Directoryの制限によって、最上位より下のディレクトリが検索されないため、Oracle Enterprise Repositoryユーザー情報の参照では、「バインドDN」、「バインド・パスワード」、および管理者としてデータを取得のプロパティを適切な値に設定する必要があります。表3-1では、LDAP /Active Directoryプロパティとその例を示します。

表3-1 Active Directoryおよび従来のLDAPプロパティ

Active Directory 従来のLDAP (InetOrgPerson)

ldap.host

ad.example.com

ldap.host

ad.example.com

ldap.port

389

ldap.port

389

ldap.version

3

ldap.version

3

ldap.bindDN

CN=Some_User,OU=Users,DC=ad,DC=example,DC=com

ldap.bindDN

(匿名参照が無効の場合は必須)

ldap.bindPassword

パスワード

ldap.bindPassword

(匿名参照が無効の場合は必須)

ldap.retrieve-data-as-admin

true

ldap.retrieve-data-as-admin

False (匿名参照が無効の場合はTrue)

ldap.mask

sAMAccountName=^

ldap.mask

uid=^

ldap.baseDN

CN=Users,DC=ad,DC=example,DC=com

ldap.baseDN

OU=MemberGroupB, O=en_us

ldap.scope

subtree

ldap.scope

one

ldap.uniqueIDAttrib

samAccountName

ldap.uniqueIDAttrib

uid

ldap.emailAttrib

mail

ldap.emailAttrib

mail

ldap.givennameAttrib

givenname

ldap.givennameAttrib

givenName

ldap.surnameAttrib

sn

ldap.surnameAttrib

sn

ldap.telephoneAttrib

telephonenumber

ldap.telephoneAttrib

telephoneNumber

ldap.deptAttrib

department

ldap.deptAttrib

department


表3-2はカスタムおよび共通のLDAPプロパティを示します。

表3-2 カスタムおよび共通のLDAPプロパティ

実装に関係のないカスタムおよび共通のプロパティ

ldap.rbac.mapperclass

com.oer.enterprise.authentication.server.loginmodule.LDAPMapperImpl

ldap.deptAttrib

department

ldap.rbac.roleAttrib

roles

ldap.allow-user-creation

true

ldap.enable-synch-roles

true

ldap.enable-synch-depts

true


3.2 eTrust Single Sign-On

この項では、eTrust Single Sign-Onを使用してOracle Enterprise Repositoryのユーザーを認証する方法について説明します。

この項には次のトピックが含まれます:

3.2.1 概要

Oracle Enterprise Repository Advanced Container Authentication LoginModuleを使用して、(SSOシステムから潜在的に生成される) HTTPリクエスト・ヘッダーから渡されるユーザー資格証明を受け入れます。この機能では、eTrust Single Sign-Onなどのシングル・サインオン・システムとの統合が可能です。

3.2.2 シングル・サインオン認証で使用するOracle Enterprise Repositoryの構成

次の構成プロパティには、管理者権限を使用してのみアクセスが可能です。


注意:

この拡張機能では、AdvancedContainerLoginモジュールでAuthtokenCreate REX APIメソッドのSOAPヘッダーのユーザー情報を受け入れることができます。ユーザー名は、Oracle Enterprise Repositoryシステム設定enterprise.container.auth.usernameで識別され、www.oracle.com/oerのnamespaceUriが付加された名前でSOAPヘッダーに渡されます。SOAPヘッダーの値はユーザーのユーザー名です。SOAPヘッダー内でユーザー名が渡されない場合、Oracle Enterprise Repositoryシステム設定enterprise.loginmodules.fallbackauthenticationが使用されます。enterprise.loginmodules.fallbackauthenticationがtrueの場合、ユーザーは指定のユーザー名/パスワードに対して構成されているPluggableLoginModuleで認証されます。


ログイン・モジュールのプラグインは、データベース・ログイン・モジュール、LDAPログイン・モジュール・およびコンテナ・ログイン・モジュールを構成するために設定されている構成です。コンテナ・ログイン・モジュールはコンテナ管理ログイン・モジュールまたはSSOなどの詳細コンテナ・ログイン・モジュールのいずれかです。これらは「システム設定」タブで構成できます。

この項には次のトピックが含まれます:


注意:

フォールバック認証はREX APIでのみ機能します。


3.2.2.1 シングル・サインオン統合システム・プロパティの有効化

この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。

  1. 左のペインで「システム設定」をクリックします。図3-2に示すように、Oracle Enterprise Repositoryの「システム設定」画面が表示されます。

    図3-2 Oracle Enterprise Repositoryの「システム設定」画面

    図3-2の説明が続きます
    「図3-2 Oracle Enterprise Repositoryの「システム設定」画面」の説明

  2. 「検索」ボックスに「enterprise.authentication.advancedcontainer.enabled」と入力します。値を「True」に設定し、「保存」をクリックします。

  3. 図3-3に示すように、「新しいシステム設定の有効化」テキスト・ボックスに「cmee.jws.pass-all-cookies」と入力します。

    図3-3 「新しいシステム設定の有効化」ダイアログ

    図3-3の説明が続きます
    「図3-3 「新しいシステム設定の有効化」ダイアログ」の説明

  4. 「有効化」をクリックします。図3-4に示すように、システム設定の「サーバー設定」グループのJava Web Start (JWS)セクションにJWSにすべてのCookieを渡すが表示されます。

    図3-4 JWSにすべてのCookieを渡す

    図3-4の説明が続きます
    「図3-4 JWSにすべてのCookieを渡す」の説明

  5. プロパティが「True」に設定されていることを確認します。

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

  7. 「システム設定」の「検索」テキスト・ボックスに「container login module」と入力します。図3-5に示すように、エンタープライズ認証グループにコンテナ・ログイン・モジュール・セクションが表示されます。

    図3-5 コンテナ・ログイン設定セクション

    図3-5の説明が続きます
    「図3-5 コンテナ・ログイン設定セクション」の説明

  8. プロパティを次に示すとおり変更します。

    • コンテナ・ログイン・モジュール・クラス名

      • テキスト・ボックスに「com.oer.enterprise.authentication.server.loginmodule.AdvancedContainerLogin」と入力します。

    • コンテナ・ログイン・モジュール表示名

      • テキスト・ボックスに「Advanced Container Login Module」と入力します。

    • コンテナ・ログイン・モジュール

      • プロパティを「True」に設定します。

  9. SSOヘッダー値を次のとおり入力します(これは通常、ポリシー・サーバー内のレスポンスと呼ばれます)。想定されるデータ型と指定できる値をヘッダー名の後に示します。想定される値の型はポリシー・サーバーからのレスポンスに適用されます。

    • ユーザー名のヘッダー名

      • このプロパティは、ユーザーのUID値を含むヘッダーの「名前」に設定します。

        このヘッダーにはユーザーのユーザーIDを含む必要があります(必須)。

    • 名のヘッダー名

      • このプロパティは、ユーザーの名の値を含むヘッダーの「名前」に設定します。(英文字列)

        このヘッダーにはユーザーの本名を含む必要があります。

    • ミドルネームのヘッダー名

      • このプロパティは、ユーザーのミドル・ネームの値を含むヘッダーの「名前」に設定します。(英文字列)

        このヘッダーにはユーザーのミドル・ネームを含む必要があります。

    • 姓のヘッダー名

      • このプロパティは、ユーザーの姓の値を含むヘッダーの「名前」に設定します。(英文字列)

        このヘッダーにはユーザーの姓を含む必要があります。

    • ステータスのヘッダー名

      • このプロパティは、ユーザーのアクティブ・ステータスの値を含むヘッダーの「名前」に設定します。

        このヘッダーには、OER内でのユーザーのステータスを示す有効な整数値を含む必要があります。有効な値については、次の表を参照してください(必須)。

        * 00 - アクティブ

        * 10 - 未承認

        * 20 - ロックアウト済

        * 30 - 非アクティブ

    • 電子メールのヘッダー名

      • このプロパティは、ユーザーの電子メールの値を含むヘッダーの「名前」に設定します。

        このヘッダーにはユーザーの電子メール・アドレスを含む必要があります(必須)。

    • 電話のヘッダー名

      • このプロパティは、ユーザーの電話番号の値を含むヘッダーの「名前」に設定します。

        このヘッダーにはユーザーの電話番号を含む必要があります。

    • ロールのヘッダー名

      • このプロパティは、ユーザーのロールの値を含むヘッダーの「名前」に設定します。

        このヘッダーにはユーザーのロールを含む必要があります。

    • 部門のヘッダー名

      • このプロパティは、ユーザーの部門の値を含むヘッダーの「名前」に設定します。

        このヘッダーにはユーザーの部門を含む必要があります。

  10. 次のプロパティでSSOモジュールの動作を更新します。

    • コンテナが渡す部門を使用

      • ポリシー・サーバーのレスポンスからのユーザーの部門を同期させるには、この値を「True」に設定します。

    • 単一のヘッダーで渡される部門

      • 複数の部門名がポリシー・サーバーのレスポンスとして渡される場合は、この値を「True」に設定します。

    • 部門のデリミタ

      • 単一の部門ヘッダー内で複数の部門を区切る文字をこのプロパティの値として設定します。このフィールドは、スペースを表す\u0020などのUnicode表記法を使用できます。

    • コンテナが渡すロールを使用

      • ポリシー・サーバーのレスポンスからのユーザーのロールを同期させるには、この値を「True」に設定します。(注意: 構成が正しいことを確認する前にこの値を「True」に設定すると、Oracle Enterprise Repositoryアプリケーションが使用不可として表示されることがあります)。

    • 単一のヘッダーで渡されるロール

      • 複数のロール名をポリシー・サーバーのレスポンスとして渡す場合は、この値を「True」に設定します。

    • ロールのデリミタ

      • 単一のロール・ヘッダー内で複数のロールを区切る文字をこのプロパティの値として設定します。このフィールドは、スペースを表す\u0020などのUnicode表記法を使用できます。

    • デフォルト・ロールのユーザーへの割当て

      • Oracle Enterprise Repositoryのユーザー・アカウントに割り当てられる、「デフォルト」としてマークされるすべてのロールを既存および新規のユーザーに割り当てるには、この値を「True」に設定します。

    • 不足ロールの自動作成

      • ユーザーのロール・ヘッダーに含まれており、現時点でOracle Enterprise Repositoryに存在しないロールの作成をOracle Enterprise Repositoryで許可するには、この値を「True」に設定します。この機能では、ロールを作成し、そのロールにユーザーを割り当てますが、作成したロールには権限が割り当てられません。

    • 不足部門の自動作成

      • この値を「True」に設定すると、ユーザーの部門ヘッダーに含まれており、現時点でOracle Enterprise Repositoryに存在しない部門の作成をOracle Enterprise Repositoryで許可します。この機能では、部門が作成され、ユーザーがその部門に割り当てられますが、新たに作成した部門はプロジェクトに割り当てられません。

  11. 「システム設定」の「検索」テキスト・ボックスに「cookie login module」と入力します。「システム設定」のエンタープライズ認証グループでCookieログイン設定セクションが開きます。

  12. Cookieログイン・モジュール・プロパティをFalseに設定します。

  13. 「システム設定」の「検索」テキスト・ボックスに「plug-in login」と入力します。「システム設定」のエンタープライズ認証グループでプラグイン・ログイン設定セクションが開きます。

  14. プラグイン・ログイン・モジュール・テキスト・ボックスに「false」と入力します。

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

3.2.2.2 Oracle Enterprise RepositoryのSSO統合およびBasic認証の使用

シングル・サインオンのインストールでBasic認証を使用している場合、Oracle Enterprise Repositoryのアセット・エディタを正しく機能させるには、追加のプロパティ設定が必要です。

  1. 前述のプロセスを使用して、次のプロパティを有効にします。

    • cmee.jws.suppress-authorization-header

  2. プロパティを「True」に設定します。

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

3.2.2.3 アプリケーション・プロパティ・ファイルの手動による変更

前提条件: アプリケーション・サーバーを停止してください。プロパティ・ファイルを変更すると、アプリケーション・サーバー上で実行中のアプリケーションに影響を及ぼすことがあります。

  1. WEB-INF/classescontainerauth.propertiesファイルを編集します。

    このファイルには、シングル・サインオン・サーバー固有のヘッダー名のリストが含まれます。この情報は、シングル・サインオンが応答に使用するレスポンス・ヘッダーを表し、組織のシングル・サインオン管理者または設計者から取得する必要があります。

    シングル・サインオンのレスポンスに電子メール・ヘッダーの適切な値がない場合は、trueのヘッダー値ではなく空白""を代用できます。シングル・サインオンで提供または生成されないその他のフィールドについては、nullのままにしてください。

    (アスタリスク<*>は必須フィールドであることを示します。)

    • 適切なOracle Enterprise Repositoryユーザー情報にマップする必要のあるヘッダー変数を構成します。


      注意:

      次に示す値は単なる例であり、使用するシングル・サインオン・システムで定義された正しいシングル・サインオン・レスポンス・ヘッダー名で置き換える必要があります。


      • enterprise.container.auth.username = <UID>

      • enterprise.container.auth.firstname = <FIRST_NAME>

      • enterprise.container.auth.middlename = <MIDDLE_NAME>

      • enterprise.container.auth.lastname = <LAST_NAME>

      • enterprise.container.auth.status = <STATUS>

      • enterprise.container.auth.email = <MAIL>

      • enterprise.container.auth.phone = <PHONE>

      • enterprise.container.auth.roles = <ROLES>

      • enterprise.container.auth.depts = <DEPARTMENTS>

      • enterprise.container.auth.enable-synch-roles = true

      • enterprise.container.auth.roles-single-header = true

      • enterprise.container.auth.roles-delimiter = \u0020

      • enterprise.container.auth.enable-synch-depts = true

      • enterprise.container.auth.depts-single-header = true

      • enterprise.container.auth.depts-delimiter = \u0020


    注意:

    前述の最後の6つのプロパティは、ロールまたは部門(あるいはその両方)の同期が有効な場合に利用されます。1つのヘッダーには複数のロールまたは部門が指定されます。これらの追加のプロパティは、ブール・パラメータenable-synch-roles and enable-synch-deptsで提供される値に応じて無効化または無視できます。この例のデリミタ・フィールドでは、Unicodeスペース文字を使用していますが、Unicodeはその他のデリミタ文字には必要ありません。


  2. シングル・サインオンWebエージェント・アプリケーションのほとんどが、アプリケーション・サーバーとは別のHTTPサーバーに対してデプロイされます。このシナリオでは、AJPタイプ・コンテナ(Apache HTTP Server向けのmod_jk/mod_jk2、IBM HTTP Server向けのmod_was_ap20_httpなど)によってHTTPサーバーがアプリケーション・サーバーにリンクされます。通常、HTTPサーバーはパフォーマンスまたはリソース・プールの理由から個別のマシン上で実行されます。このシナリオでは、アプリケーションの新しい名前を反映するように、cmee.propertiesファイルを変更する必要があります。

    • WEB-INF/classesでcmee.propertiesファイルを編集します。

      • オリジナル構成(Coyoteを使用するTomcat)

        - cmee.server.paths.image=http\://tomcat.example.com\:8080/oer-web/images

        - cmee.server.paths.jsp=http\://tomcat.example.com\:8080/oer

        - cmee.server.paths.servlet=http\://tomcat.example.com\:8080/oer

        - cmee.server.paths.jnlp-tool=http\://tomcat.example.com\:8080/oer-web/webstart

        - cmee.server.paths.resource=http\://tomcat.example.com\:8080/oer-web

        - cmee.enterprisetab.homepage=http\://tomcat.example.com\:8080/oer/custom/home.jsp

        - cmee.assettab.asset-detail-page=http\://tomcat.example.com\:8080/oer/cmee/index.jsp

      • 新しい構成(mod_jk2によるApache HTTPとTomcatの連携)

        - cmee.server.paths.image=http\://apache.example.com/oer-web/images

        - cmee.server.paths.jsp=http\://apache.example.com/oer

        - cmee.server.paths.servlet=http\://apache.example.com/oer

        -cmee.server.paths.jnlp-tool=http\://apache.exampe.com/oer-web/webstart

        - cmee.server.paths.resource=http\://apache.example.com/oer-web

        - cmee.enterprisetab.homepage=http\://apache.example.com/oer/custom/home.jsp

        - cmee.assettab.asset-detail-page=http\://apache.example.com/oer/cmee/index.jsp

      • この例で、リポジトリへ接続するための新しいURLは次のとおりです。http://apache.example.com/oer/index.jsp

  3. Oracle Enterprise Repositoryアプリケーションを再起動します。

3.2.3 拡張オプション

次のオプションによって、デフォルトのロール割当て、新規ユーザーの作成と通知、部門の同期、およびロールの同期の機能が追加されます。

3.2.3.1 新規ユーザーのデフォルト・ロールの作成と割当て

拡張RBACを使用する場合:

  1. Oracle Enterprise Repositoryのメニュー・バーで「管理」をクリックします。Oracle Enterprise Repositoryの「管理」画面が表示されます。

  2. 「ロール」をクリックします。

  3. 「新規作成」をクリックします。

  4. 名前フィールドに「Browse_Only」と入力します。

    • 新規ユーザーへの自動割当てを選択します。

    • このプロファイルに合致する既存ユーザーを追加します。

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

  6. ロール1: 作成/発行をクリックします。

  7. 「編集」をクリックします。

    • 新規ユーザーへの自動割当ての選択を解除します。

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

  9. 「ユーザー」ロールをクリックします。

  10. 「編集」をクリックします。

    • 新規ユーザーへの自動割当ての選択を解除します。(Oracle Enterprise Repositoryに付属する「ユーザー」はデフォルト・ロールであり、新規ユーザーに自動的に割り当てられます。)

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

  12. カスタム・アクセス設定をクリックします。

  13. 「新規作成」をクリックします。

  14. 名前フィールドに「Browse_Only」と入力します。

    • すべての新規アセットへの自動割当てを選択します。

    • ロールのリストでBrowse_Onlyを見つけます。

    • 「ビュー」をチェックします。

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

  16. 「OK」をクリックしてすべてのアセットに適用します。

基本アクセス設定を使用する場合:

  1. Oracle Enterprise Repositoryのメニュー・バーで「管理」をクリックします。Oracle Enterprise Repositoryの「管理」画面が表示されます。

  2. 「ロール」をクリックします。

  3. 「新規作成」をクリックします。

  4. 名前フィールドに「Browse_Only」と入力します。

    • 新規ユーザーへの自動割当てを選択します。

    • このプロファイルに合致する既存ユーザーを追加します。

  5. 「ユーザー」ロールをクリックします。

  6. 「編集」をクリックします。

    • 新規ユーザーへの自動割当ての選択を解除します。(Oracle Enterprise Repositoryに付属する「ユーザー」はデフォルト・ロールであり、新規ユーザーに自動的に割り当てられます。)

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

3.2.3.2 新規ユーザーの作成と未承認ユーザーの許可

Oracle Enterprise Repositoryシングル・サインオン認証の統合では、認証が完了すると、Oracle Enterprise Repositoryデータベース内に新規ユーザーが自動的に作成されます。新規ユーザーに付与される特定のアクセス権および権限は、前の項で説明しているとおり、デフォルトの新規ユーザー・ロールの構成によって決定されます。アクセス管理者によって承認されると、新規ユーザーはそれぞれアクセス設定が異なる別のロールに割り当てられる場合があります。ただし、ロール同期を有効にしてシングル・サインオン統合が構成されている場合、ユーザーにはシングル・サインオンのレスポンス・ヘッダーで提供されるロールが割り当てられます。

3.2.3.3 未承認/新規ユーザー・ログインの有効化

有効な場合、このオプションによって未承認/新規のOracle Enterprise Repositoryユーザーにシングル・サインオン認証後のアプリケーションへのアクセスが許可されます。無効な場合、新規または未承認ユーザーはOracle Enterprise Repositoryにアクセスできません。この機能は、アプリケーションにアクセスする前に手動での認証プロセスが必要な場合に特に役立ちます。

  • 未承認ユーザー・ログインの有効化 = true (ファイル: enterprise.properties)

    • enterprise.security.unapproveduser.allowlogin=true

3.2.3.4 新規ユーザー通知

有効な場合、このプロパティは、シングル・サインオンによってOracle Enterprise Repositoryに新規ユーザー・アカウントが追加されたことを、アクセス管理者に電子メールで通知します。

  • 新規ユーザー通知の有効化 = true (ファイル: cmee.properties)

    • cmee.new.unapproved.users.notify=true

3.2.3.5 部門の同期

有効な場合、このプロパティによってシングル・サインオンのレスポンス・ヘッダー値からの部門名が同期されます。

  • 部門の同期の有効化 = true (ファイル: containerauth.properties)

    • enterprise.container.auth.enable-synch-depts - 既知の部門がユーザーと同期されるようにするにはtrueに設定し、それ以外の場合はfalseに設定します。

  • 部門の作成の有効化 = true (file: containerauth.properties)*

    • enterprise.container.auth.auto-create-missing-depts - ユーザーの部門がログイン時に自動的に作成されるようにするにはtrueに設定し、それ以外の場合はfalseに設定します。

部門の同期に関する注意事項

シングル・サインオン統合では、新規部門は作成されません。単に、Oracle Enterprise Repository内にすでに存在し、シングル・サインオンのレスポンス・ヘッダー値に指定されている名前と同じ名前の部門とユーザーがリンクされます。

シングル・サインオン・サーバーは、ユーザーが割り当てられている各部門の名前が同じであり、値が異なる複数のヘッダー、またはユーザーが割り当てられている部門すべてを含む1つのヘッダーを渡すよう構成されます。

  • 構成1 - 名前が同じであり、それぞれの値の異なる複数のヘッダー:

    enterprise.container.auth.enable-synch-depts= true

    enterprise.container.auth.depts-single-header= false

    enterprise.container.auth.depts-delimiter= ""

    enterprise.container.auth.depts= DEPT_HEADER_NAME

    DEPT_HEADER_NAME=DEPTA

    DEPT_HEADER_NAME=DEPTB

    DEPT_HEADER_NAME=DEPTC

    次ではありません

    DEPT_HEADER_NAME=DEPTA DEPTB DEPTC ..

  • 構成2 - デリミタで区切られている複数の値のある1つのヘッダー:

    enterprise.container.auth.enable-synch-depts= true

    enterprise.container.auth.depts-single-header= true

    enterprise.container.auth.depts-delimiter= "^"

    enterprise.container.auth.depts= DEPT_HEADER_NAME

    DEPT_HEADER_NAME=DEPTA^DEPTB^DEPTC^ ...

    次ではありません

    DEPT_HEADER_NAME=DEPTA

    DEPT_HEADER_NAME=DEPTB

    DEPT_HEADER_NAME=DEPTC

3.2.3.6 ロールの同期

有効な場合、このプロパティによってシングル・サインオンのレスポンス・ヘッダー値からのロール名が同期されます。

  • ロールの同期 = true (ファイル: containerauth.properties)

    • enterprise.container.auth.auto-create-missing-roles - 不明ロールが自動的に作成されるようにするにはtrueに設定し、それ以外の場合はfalseに設定します。

ロールの同期に関する注意事項

シングル・サインオン統合では、新規ロールを作成できます。Oracle Enterprise Repository内にすでに存在し、シングル・サインオンのレスポンス・ヘッダー値で指定される名前と同じ名前のロールにユーザーがリンクされます。また、既存のロールへのリンクに加えて、Oracle Enterprise Repository内にないヘッダー値のロールも統合によって作成されます。この方法で作成されたロールには、デフォルトでは権限が割り当てられていません。

  • 不足ロールの作成の有効化 = true (ファイル: containerauth.properties)

    • enterprise.container.auth.auto-create-missing-roles = true

シングル・サインオン・サーバーは、ユーザーが割り当てられている各ロールのヘッダー値を1つ渡すよう構成できます。

  • 構成1 - 名前が同じであり、それぞれの値の異なる複数のヘッダー:

    enterprise.container.auth.enable-synch-roles= true

    enterprise.container.auth.roles-single-header= false

    enterprise.container.auth.roles-delimiter= ""

    enterprise.container.auth.roles= ROLE_HEADER_NAME

    ROLE_HEADER_NAME=ROLEA

    ROLE_HEADER_NAME=ROLEB

    ROLE_HEADER_NAME=ROLEC

    次ではありません

    DEPT_HEADER_NAME=ROLEA ROLEB ROLEC ...

  • 構成2 - デリミタで区切られている複数の値のある1つのヘッダー:

    enterprise.container.auth.enable-synch-roles= true

    enterprise.container.auth.roles-single-header= true

    enterprise.container.auth.roles-delimiter= "^"

    enterprise.container.auth.roles= ROLE_HEADER_NAME

    DEPT_HEADER_NAME=ROLEA^ROLEB^ROLEC^ ...

    次ではありません

    ROLE_HEADER_NAME=ROLEA

    ROLE_HEADER_NAME=ROLEB

    ROLE_HEADER_NAME=ROLEC

3.2.3.7 デバッグ・ロギングの有効化

デバッグ・ロギングを有効化するには、log4fl.propertiesファイルに次の行を追加します。

log4j.category.com.oer.enterprise.authentication.client.LoginContext=debug, cmeeLog

3.3 コンテナ管理の設定

この項では、コンテナ管理の設定を使用してOracle Enterprise Repositoryのユーザーを認証する方法について説明します。

この項には次のトピックが含まれます:

3.3.1 概要

Oracle Enterprise Repositoryアプリケーション内の値を有効化する前に、レルムまたはオーセンティケータ・バックエンドでコンテナが適切に構成されます。

3.3.2 コンテナ管理認証を使用するOracle Enterprise Repositoryの構成

Oracle Enterprise Repositoryのコンテナ管理認証は、アクセス管理者権限で構成できます。この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。

  1. 「システム設定」の「検索」テキスト・ボックスに「container login module」と入力します。図3-5に示すように、エンタープライズ認証グループにコンテナ・ログイン・モジュール・セクションが表示されます。

  2. プロパティを次に示すとおり変更します。

    • コンテナ・ログイン・モジュール・クラス名

      • テキスト・ボックスに「com.oer.enterprise.authentication.server.loginmodule.ContainerLogin」と入力します。

    • コンテナ・ログイン・モジュール表示名

      • テキスト・ボックスに「Container Login Module」と入力します。

    • コンテナ・ログイン・モジュール

      • プロパティを「True」に設定します。

    • コンテナ管理認証機能の有効化

      • enterprise.authentication.container.enabledTrueに設定します。

    • ユーザーのセキュリティ・プリンシパルからのロール同期の有効化

      • enterprise.authentication.container.synchroles.enabledTrueに設定します。


        注意:

        BPM Harvester、Exchange Utilityまたはその他のREX操作でコンテナ管理認証を使用する場合、このプロパティはfalseに設定する必要があります。このプロパティをfalseに設定すると、最低限のAdministrator-level権限のあるユーザーが手動でユーザー・アカウントを作成し、それにロールを割り当てる必要があります。


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

  4. 「システム設定」の「検索」テキスト・ボックスに「cookie login module」と入力します。「システム設定」のエンタープライズ認証グループでCookieログイン設定セクションが開きます。

  5. Cookieログイン・モジュール・プロパティをFalseに設定します。

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

  7. 「システム設定」の「検索」テキスト・ボックスに「plug-in login」と入力します。「システム設定」のエンタープライズ認証グループでプラグイン・ログイン設定セクションが開きます。

  8. プラグイン・ログイン・モジュール・テキスト・ボックスに「false」と入力します。

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

3.3.3 コンテナ認証を許可するためのWebアプリケーションのWeb.xmlファイルの変更

  1. Oracle Enterprise Repositoryアプリケーション、またはこれが実行されているアプリケーション・サーバーを停止します。

  2. Oracle Enterprise Repository web.xmlファイルを変更します。

    • 次のセキュリティ制約内容をファイルの末尾に追加します。


      注意:

      ユーザーの認証条件に一致させるには、この構成を変更する必要があります。この例ではBASIC認証を使用していますが、使用している環境には適していない場合があります。


      <!-- Define a security constraint on this application -->
      <security-constraint>
        <web-resource-collection>
          <web-resource-name>Entire Application</web-resource-name>
          <url-pattern>/*</url-pattern>
          <http-method>GET</http-method>
          <http-method>PUT</http-method>
          <http-method>POST</http-method>
          <http-method>DELETE</http-method>
        </web-resource-collection>
        <auth-constraint>
          <description>These roles have access to the Oracle Enterprise
       Repository</description>
          <role-name>user</role-name>
        </auth-constraint>
      </security-constraint>
      <security-constraint>
        <web-resource-collection>
          <web-resource-name>Secure Web Service</web-resource-name>
          <url-pattern>/services/OERRegistry</url-pattern>
        </web-resource-collection>
      </security-constraint>
      <!-- Define the login configuration for this application -->
      <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>Oracle Enterprise Repository</realm-name>
      </login-config>
      <security-role>
         <role-name>user</role-name>
         <role-name>admin</role-name>
         <role-name>accessAdministrator</role-name>
         <role-name>advancedSubmitter</role-name>
         <role-name>businessAnalyst</role-name>
         <role-name>projectAdministrator</role-name>
         <role-name>projectArchitect</role-name>
         <role-name>registrar</role-name>
         <role-name>registrarAdministrator</role-name>
         <role-name>systemAdministrator</role-name>
      </security-role>
      
  3. Oracle Enterprise Repositoryアプリケーションを開始または再起動します。