Oracle® Fusion Middleware Oracle Enterprise Repository管理者ガイド 12c リリース 1 (12.1.3) E59479-02 |
|
![]() 前 |
![]() 次 |
この章では、LDAP/Active Directoryなどの外部認証ツールを使用してOracle Enterprise Repositoryを認証する方法について説明します。
この章には、次のセクションがあります。
この項では、LDAP/Active Directoryを使用してOracle Enterprise Repositoryでユーザーを認証する方法について説明します。
この項には次のトピックが含まれます:
LDAP/Active Directory (AD)を使用してユーザーを認証する場合、LDAP/Active Directoryサーバーを使用する前に、ユーザーの部門およびロールの構成を検討する必要があります。統合を有効にすると、すべてのユーザーはLDAP/ADによって認証されます。したがって、LDAP/ADのユーザー名と一致する管理レベルのユーザー・アカウントを少なくとも1つ、Oracle Enterprise Repositoryデータベース内に作成することが重要です。このユーザー・アカウントにはLDAP/ADを有効にした場合でもOracle Enterprise Repositoryの管理機能を実行できるように、管理ロールを割り当てる必要があります。
LDAP/ADからロール同期を有効にする場合、少なくとも1つのユーザー・アカウントに管理レベルのが割り当てられている必要があります。ロール同期オプションを使用する前に、Oracle Enterprise RepositoryでLDAPロールが作成され、適切なOracle Enterprise Repository権限が割り当てられている必要があります。ロール名は名前のみで同期されます。管理レベルのユーザーがLDAP/ADを使用してOracle Enterprise Repositoryにログインすると、そのユーザーはアプリケーション・プロパティを適切に構成および管理できます。このユーザー・アカウントを日常のアクティビティに使用しないでください。
この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。
左ペインの「システム設定」をクリックします。メイン・ペインで「システム設定」セクションが開きます。
次の各設定を簡単に見つけるには、「システム設定」の「検索」ボックスを使用します。
「検索」ボックスにenterprise.authentication.ldap.enabled
と入力します。値をTrue
に設定して、「保存」をクリックします。
次に示すように設定を変更します。
非承認ユーザーのログイン
True
に設定します。
プラグイン・ログイン・モジュール・クラス名
テキスト・ボックスにcom.flashline.enterprise.authentication.server.loginmodule.LDAPLogin
と入力します。
注意: このプロパティによって、LDAPはオン/オフになります。有効にすると、アプリケーションでユーザー認証にLDAPサーバーが使用されます。 |
プラグイン・ログイン・モジュール表示名
テキスト・ボックスにエンタープライズLDAPログインと入力します。
プラグイン・ログイン・モジュール
True
に設定します。
プラグイン・ログイン・モジュール - 内部チェック
False
に設定します。
完了したら、「保存」をクリックします。
LDAP/ADのプロパティを次のように変更できます。
左ペインの「システム設定」をクリックします。
次の各設定を簡単に見つけるには、「システム設定」の「検索」を使用します。次に示すように値を入力します。
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
検索範囲
リスト内のサブツリーを選択します。
注意: このプロパティによって、ユーザー・レコード検索の(ベースDNの下の)深さが定義されます。 |
検索されたエントリを識別する属性名
注意: このプロパティによって、ツリー検索の範囲内でユーザー・アカウントを一意に識別する属性名が指定されます。 |
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を定義します。 |
完了したら、「保存」をクリックします。
Oracle Enterprise Repositoryアプリケーションを再起動します。
Oracle Enterprise RepositoryのLDAP/Active Directoryコネクタを使用すると、LDAPは、Oracle Enterprise Repositoryのユーザー認証およびロール割当てのためのユーザー識別の単一ソースとして機能できます。ただし、これにより、Oracle Enterprise Repositoryを介したファイルへのアクセスのユーザー認証を各ホスト・リポジトリが管理することは妨げられません。
Oracle Enterprise RepositoryのLDAP/Active Directoryコネクタを使用する場合、Oracle Enterprise Repositoryは、LDAPまたはActive Directoryを使用してユーザーを認証します。ユーザー名/パスワードの組合せが、バインド・リクエストとしてLDAPシステムに委任されます。ユーザーは、バインド・リクエストが成功した場合にのみ認証されます。
オプションとして、Oracle Enterprise Repositoryのユーザー・ロール割当てを格納および取得するようにLDAPを構成できます。この構成では、ユーザー・ログインのたびに、Oracle Enterprise RepositoryはLDAPに格納されたユーザーのロールと同期します。ロールはLDAPから直接追加され、Oracle Enterprise Repositoryによって管理されず、LDAP内のグループ・マッピングはOERによって使用されません。このオプションを使用するには、ldap.enable-synch-roles
システム設定をTrue
に設定する必要があります。ldap.rbac.roleAttrib
システム設定は、ユーザーがOracle Enterprise Repository内で保持するロール名を含む複数値LDAP属性の名前に設定する必要があります。ldap.enable-synch-rolesシステム設定が有効でない場合、またはldap.rbac.roleAttrib
オプションによって参照されるLDAP属性が構成されていない場合、管理者はOracle Enterprise Repositoryで手動でユーザー・ロールを割り当てる必要があります。
次のシナリオでは、ユーザー管理のためのプロパティ設定を明確にするために、一連の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では、デフォルト・ユーザーはuserです。
理由
新しいユーザー・アカウントが作成されたことがセキュリティ管理者に通知されるまで、新規ユーザーに対して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認証が新規ユーザー作成に対する唯一の制限であるエンタープライズ・ライセンス契約。通常、LDAPアカウントによってロールが事前定義されない新規ユーザーのアクセスを制限するために、デフォルトのOracle Enterprise RepositoryロールはUserに設定されます。
プロパティ設定
ldap.allow-user-creation
True
に設定します。
ldap.assign-default-roles
True
に設定します。
enterprise.security.unapproveduser.allowlogin
True
に設定します。
Active Directoryの制限により、ディレクトリ・サーバーに匿名でバインドされている(認証されていない)場合はディレクトリの最上位より下の検索ができないため、Oracle Enterprise Repositoryユーザー情報参照では「バインドDN」、「バインド・パスワード」および管理者としてデータを取得のプロパティが適切な値で設定されている必要があります。表10-1に、LDAP/Active Directoryのプロパティおよびその例を示します。
表10-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 |
password |
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 |
|
ldap.emailAttrib |
|
ldap.givennameAttrib |
givenname |
ldap.givennameAttrib |
givenName |
ldap.surnameAttrib |
sn |
ldap.surnameAttrib |
sn |
ldap.telephoneAttrib |
telephonenumber |
ldap.telephoneAttrib |
telephoneNumber |
ldap.deptAttrib |
department |
ldap.deptAttrib |
department |
表10-2に、カスタムおよび共通のLDAPプロパティを示します。
この項では、シングル・サインオンを使用してOracle Enterprise Repositoryでユーザーを認証する方法について説明します。
この項には次のトピックが含まれます:
Oracle Enterprise Repositoryの拡張コンテナ認証LoginModuleが、(SSOシステムによって移入される場合がある) HTTPリクエスト・ヘッダーによって渡されるユーザー資格証明を受け入れるために使用されます。この機能により、シングル・サインオン・システムと統合できます。
次の構成プロパティにアクセスするには、管理者権限を使用する必要があります。
注意: この拡張によって、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でのみ機能します。 |
この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。
左ペインの「システム設定」をクリックします。図10-1に示すように、Oracle Enterprise Repositoryの「システム設定」画面が表示されます。
「検索」ボックスにenterprise.authentication.advancedcontainer.enabled
と入力します。値をTrue
に設定して、「保存」をクリックします。
図10-2に示すように、新しいシステム設定の有効化テキスト・ボックスにcmee.jws.pass-all-cookies
と入力します。
「有効化」をクリックします。図10-3に示すように、システム設定の「サーバー設定」グループのJava Web Start (JWS)セクションに「JWSですべてのCookieを渡す」が表示されます。
プロパティがTrue
に設定されていることを確認します。
「保存」をクリックします。
「システム設定」の「検索」テキスト・ボックスにコンテナ・ログイン・モジュール
と入力します。図10-4に示すように、システム設定のエンタープライズ認証グループにコンテナ・ログイン・モジュール・セクションが表示されます。
次に示すように、プロパティを変更します。
コンテナ・ログイン・モジュール・クラス名
テキスト・ボックスにcom.oer.enterprise.authentication.server.loginmodule.AdvancedContainerLogin
と入力します。
コンテナ・ログイン・モジュール表示名
テキスト・ボックスに「拡張コンテナ・ログイン・モジュール」と入力します。
コンテナ・ログイン・モジュール
プロパティをTrue
に設定します。
次に示すように、SSOヘッダー値を入力します(多くの場合、これらはポリシー・サーバー内ではレスポンスと呼ばれます)。想定されるデータ型および使用できる値がヘッダー名の下に示されます。想定される値タイプは、ポリシー・サーバーによって設定されるレスポンスに適用されます。
ユーザー名のヘッダー名
このプロパティは、ユーザーのUIDの値を含むヘッダーの名前に設定します。
このヘッダーには、ユーザーのユーザーIDが含まれている必要があります(必須)。
名のヘッダー名
このプロパティは、ユーザーの名の値を含むヘッダーの名前に設定します。(英字列)
このヘッダーには、ユーザーの下の名前が含まれている必要があります。
ミドル・ネームのヘッダー名
このプロパティは、ユーザーのミドル・ネームの値を含むヘッダーの名前に設定します。(英字列)
このヘッダーには、ユーザーのミドル・ネームが含まれている必要があります。
姓のヘッダー名
このプロパティは、ユーザーの姓の値を含むヘッダーの名前に設定します。(英字列)
このヘッダーには、ユーザーの姓が含まれている必要があります。
ステータスのヘッダー名
このプロパティは、ユーザーのアクティブ・ステータスの値を含むヘッダーの名前に設定します。
このヘッダーには、OERでのユーザーのステータスを指定する有効な整数値が含まれている必要があります。有効な値については、次の表を参照してください(必須)。
* 00 - アクティブ
* 10 - 非承認
* 20 - ロックアウト
* 30 - 非アクティブ
電子メールのヘッダー名
このプロパティは、ユーザーの電子メールの値を含むヘッダーの名前に設定します。
このヘッダーには、ユーザーの電子メール・アドレスが含まれている必要があります(必須)。
電話のヘッダー名
このプロパティは、ユーザーの電話番号の値を含むヘッダーの名前に設定します。
このヘッダーには、ユーザーの電話番号が含まれている必要があります。
ロールのヘッダー名
このプロパティは、ユーザーのロールの値を含むヘッダーの名前に設定します。
このヘッダーには、ユーザーのロールが含まれている必要があります。
部門のヘッダー名
このプロパティは、ユーザーの部門の値を含むヘッダーの名前に設定します。
このヘッダーには、ユーザーの部門が含まれている必要があります。
次のプロパティを使用して、SSOモジュールの動作を更新します。
コンテナで渡される部門の使用
ポリシー・サーバーのレスポンスからユーザーの部門を同期する場合は、この値をTrue
に設定します。
単一ヘッダー内で渡される部門
ポリシー・サーバーのレスポンスとして複数の部門名が渡される場合は、この値をTrue
に設定します。
部門デリミタ
このプロパティの値を、単一の部門ヘッダー内の複数の部門を区切る文字に設定します。このフィールドでは、スペースを表す\u0020などのUnicode表記を使用できます。
コンテナで渡されるロールの使用
ポリシー・サーバーのレスポンスからユーザーのロールを同期する場合は、この値をTrue
に設定します。(注意: 正しい構成を確認する前にこの値をtrueに設定すると、Oracle Enterprise Repositoryアプリケーションが使用できなくなる場合があります)。
単一ヘッダー内で渡されるロール
ポリシー・サーバーのレスポンスとして複数のロール名が渡される場合は、この値をTrue
に設定します。
ロール・デリミタ
このプロパティの値を、単一のロール・ヘッダー内の複数のロールを区切る文字に設定します。このフィールドでは、スペースを表す\u0020などのUnicode表記を使用できます。
ユーザーへのデフォルト・ロールの割当て
既存のユーザーおよび新しいユーザーに、デフォルトとしてマークされたすべてのロール(Oracle Enterprise Repository内でこれらのユーザー・アカウントに割り当てられている)が割り当てられる場合は、この値をTrue
に設定します。
欠落したロールの自動作成
Oracle Enterprise Repository内に現在は存在しない、ユーザーのロール・ヘッダーに含まれるロールをOracle Enterprise Repositoryで作成できるようにするには、この値をTrue
に設定します。この機能により、ロールが作成されてユーザーはそのロールに割り当てられますが、作成されるロールに権限は割り当てられません。
欠落した部門の自動作成
現在は存在しない、ユーザーの部門ヘッダーに含まれる部門をOracle Enterprise Repositoryで作成できるようにするには、この値をTrue
に設定します。この機能により、部門が作成されてユーザーはその部門に割り当てられますが、新しく作成される部門はプロジェクトに割り当てられません。
「システム設定」の「検索」テキスト・ボックスにcookieログイン・モジュール
と入力します。システム設定のエンタープライズ認証グループでCookieログイン設定セクションが開きます。
Cookieログイン・モジュール・プロパティをFalse
に設定します。
「システム設定」の「検索」テキスト・ボックスにプラグイン・ログイン
と入力します。システム設定のエンタープライズ認証グループでプラグイン・ログイン設定セクションが開きます。
プラグイン・ログイン・モジュール・テキスト・ボックスにfalse
と入力します。
「保存」をクリックします。
シングル・サインオンのインストールで基本認証を使用する場合、Oracle Enterprise Repositoryのアセット・エディタが正しく機能するためには、追加プロパティの設定が必要です。
前述のプロセスを使用して、次のプロパティを有効にします。
cmee.jws.suppress-authorization-header
プロパティをTrue
に設定します。
「保存」をクリックします。
前提条件: アプリケーション・サーバーを停止します。プロパティ・ファイルを変更すると、アプリケーション・サーバーで実行されているアプリケーションに影響する可能性があります。
WEB-INF/classes
内のcontainerauth.properties
ファイルを編集します。
このファイルには、シングル・サインオン・サーバーに固有のヘッダー名のリストが格納されています。この情報は、シングル・サインオンで返信に使用されるレスポンス・ヘッダーを表し、組織のシングル・サインオン管理者または設計者から入手する必要があります。
シングル・サインオンのレスポンスによって電子メールのヘッダーに適切な値が提供されない場合、実際のヘッダー値のかわりに空白""を使用できます。シングル・サインオンによって指定または移入されないその他のフィールドは、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個のプロパティは、ロールまたは部門(あるいはその両方)の同期が有効であり、複数のロールまたは部門が単一ヘッダー内にある場合に使用されます。これらの追加プロパティは、ブール・パラメータenable-synch-rolesおよびenable-synch-deptsで指定される値に応じて無効にするか無視できます。この例のdelimiterフィールドではunicodeの空白文字が使用されていますが、他のデリミタ文字にはunicodeは必要ありません。 |
Oracle Enterprise Repositoryアプリケーションを再起動します。
次のオプションによって、デフォルト・ロールの割当て、新しいユーザーの作成と通知、部門の同期およびロールの同期の機能が追加されます。
拡張RBACの場合:
Oracle Enterprise Repositoryのメニュー・バーの「管理」をクリックします。Oracle Enterprise Repositoryの「管理」画面が表示されます。
「ロール」をクリックします。
「新規作成」をクリックします。
名前フィールドにBrowse_Only
と入力します。
「新しいユーザーに自動的に割当て」を選択します。
このプロファイルに一致する既存のユーザーを追加します。
「保存」をクリックします。
「role 1: Create/Submit」をクリックします。
「編集」をクリックします。
「新しいユーザーに自動的に割当て」の選択を解除します。
「保存」をクリックします。
「ユーザー」ロールをクリックします。
「編集」をクリックします。
「新しいユーザーに自動的に割当て」の選択を解除します。(Oracle Enterprise Repositoryに付属の「ユーザー」はデフォルト・ロールであり、新しいユーザーに自動的に割り当てられます。)
「保存」をクリックします。
「カスタム・アクセス設定」をクリックします。
「新規作成」をクリックします。
名前フィールドにBrowse_Only
と入力します。
「すべての新しいアセットに自動的に割当て」を選択します。
ロールのリストでBrowse_Onlyを見つけます。
「表示」をクリックします。
「保存」をクリックします。
「OK」をクリックして、すべてのアセットに適用します。
基本アクセス設定の場合:
Oracle Enterprise Repositoryのメニュー・バーの「管理」をクリックします。Oracle Enterprise Repositoryの「管理」画面が表示されます。
「ロール」をクリックします。
「新規作成」をクリックします。
名前フィールドにBrowse_Only
と入力します。
「新しいユーザーに自動的に割当て」を選択します。
このプロファイルに一致する既存のユーザーを追加します。
「ユーザー」ロールをクリックします。
「編集」をクリックします。
「新しいユーザーに自動的に割当て」の選択を解除します。(Oracle Enterprise Repositoryに付属の「ユーザー」はデフォルト・ロールであり、新しいユーザーに自動的に割り当てられます。)
「保存」をクリックします。
Oracle Enterprise Repositoryのシングル・サインオン認証統合では、新しいユーザーは正常に認証されるとOracle Enterprise Repositoryデータベース内に自動的に作成されます。新しいユーザーに付与される具体的なアクセス権および権限は、前の項で説明したように、デフォルトの新規ユーザー・ロールの構成によって決まります。アクセス管理者による承認時に、新しいユーザーは異なるアクセス設定を持つ他のロールに割り当てられる場合があります。ただし、ロール同期を有効にしてシングル・サインオン統合が構成された場合、ユーザーはシングル・サインオン・レスポンスのヘッダーによって提供されるロールに割り当てられます。
このオプションを有効にすると、Oracle Enterprise Repositoryの非承認ユーザーまたは新しいユーザーは、シングル・サインオン認証後にアプリケーションにアクセスできます。無効にした場合、新しいユーザーまたは非承認ユーザーはOracle Enterprise Repositoryにアクセスできません。この機能は、アプリケーションへのアクセスの前に手動承認プロセスが必要な場合に特に役立ちます。
非承認ユーザーのログインの有効化 = true (ファイル: enterprise.properties)
enterprise.security.unapproveduser.allowlogin=true
このプロパティを有効にすると、シングル・サインオン経由でOracle Enterprise Repositoryに新しいユーザー・アカウントが追加されたときに、アクセス管理者に電子メールで通知されます。
新しいユーザーの通知の有効化 = true (ファイル: cmee.properties)
cmee.new.unapproved.users.notify=true
このプロパティを有効にすると、シングル・サインオンのレスポンス・ヘッダー値から部門名が同期されます。
部門の同期の有効化 = true (ファイル: containerauth.properties)
enterprise.container.auth.enable-synch-depts
- 既知の部門がユーザーと同期される場合はtrueに設定し、それ以外の場合はfalseに設定します。
部門の作成の有効化 = true (ファイル: 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
このプロパティを有効にすると、シングル・サインオンのレスポンス・ヘッダー値からロール名が同期されます。
ロールの同期の有効化 = 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
この項では、コンテナ管理設定を使用してOracle Enterprise Repositoryでユーザーを認証する方法について説明します。
この項には次のトピックが含まれます:
コンテナは、Oracle Enterprise Repositoryアプリケーションで値を有効にする前に、レルムまたはオーセンティケータ・バックエンドを使用して適切に構成されます。
アクセス管理者の権限を使用して、コンテナ管理の認証用にOracle Enterprise Repositoryを構成できます。この手順は、Oracle Enterprise Repositoryの「管理」画面で実行します。
「システム設定」の「検索」テキスト・ボックスにコンテナ・ログイン・モジュール
と入力します。図10-4に示すように、システム設定のエンタープライズ認証グループにコンテナ・ログイン・モジュール・セクションが表示されます。
次に示すように、プロパティを変更します。
コンテナ・ログイン・モジュール・クラス名
テキスト・ボックスにcom.oer.enterprise.authentication.server.loginmodule.ContainerLogin
と入力します。
コンテナ・ログイン・モジュール表示名
テキスト・ボックスにコンテナ・ログイン・モジュール
と入力します。
コンテナ・ログイン・モジュール
プロパティをTrue
に設定します。
コンテナ管理の認証機能を有効にします。
enterprise.authentication.container.enabled
をTrue
に設定します。
ユーザーのセキュリティ原則からロール同期を有効にします。
enterprise.authentication.container.synchroles.enabled
をTrue
に設定します。
注意: BPMハーベスタ、Exchange Utilityまたはその他のREX操作でコンテナ管理の認証を使用する場合は、このプロパティをfalse に設定する必要があります。このプロパティをfalseに設定すると、ユーザー・アカウントは手動で作成され、少なくとも管理者レベル権限を持つユーザーによってロールが割り当てられる必要があります。 |
「保存」をクリックします。
「システム設定」の「検索」テキスト・ボックスにcookieログイン・モジュール
と入力します。システム設定のエンタープライズ認証グループでCookieログイン設定セクションが開きます。
Cookieログイン・モジュール・プロパティをFalse
に設定します。
「保存」をクリックします。
「システム設定」の「検索」テキスト・ボックスにプラグイン・ログイン
と入力します。システム設定のエンタープライズ認証グループでプラグイン・ログイン設定セクションが開きます。
プラグイン・ログイン・モジュール・テキスト・ボックスにfalse
と入力します。
「保存」をクリックします。
Oracle Enterprise Repositoryアプリケーションまたはこのアプリケーションが実行されているアプリケーション・サーバーを停止します。
Oracle Enterprise Repositoryのweb.xml
ファイルを変更します。
次のセキュリティ制約の内容をファイルの最後に追加します。
注意: この構成は、認証要件にあわせて変更する必要があります。この例では基本認証を使用していますが、ご使用の環境には適していない場合があります。 |
<!-- 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>
Oracle Enterprise Repositoryアプリケーションを起動/再起動します。