ヘッダーをスキップ
Oracle Real-Time Decisionsインストレーションおよび管理ガイド
リリース3.0
B54058-01
  目次
目次

戻る
戻る
 
次へ
次へ
 

7 Oracle Real-Time Decisionsのセキュリティの構成

Oracle RTDのセキュリティには、クラスタ全体のセキュリティ、インライン・サービス(アプリケーション・レベル)のセキュリティ、Decision Centerのパースペクティブ(ビュー)での追加レベルのセキュリティの3つのレベルがあります。また、各データソースには、データベースのユーザー名およびパスワードに基づく追加のセキュリティ・レベルがあります。

Oracle RTDの各セキュリティ・レベルの設定は、次のようにまとめられます。

次の各項では、各セキュリティ・レベルの設定および使用方法について詳しく説明します。

重要なのは、3つのセキュリティ・レベルをすべて構成するということです。そうしないと、問題が発生する可能性があります。たとえば、あるユーザーがDecision Studioでデプロイするためのクラスタ全体の権限を持っていても、インライン・サービスおよびパースペクティブのレベルでデプロイするための正しい権限がない場合は、そのユーザーはインライン・サービスでの表示および編集ができません。

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

7.1 権限

Oracle RTDで使用する権限には、次の3種類があります。

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

7.1.1 クラスタ権限

クラスタ権限は、Oracle RTDクラスタのすべてのOracle RTDインスタンスに適用されるグローバルな権限です。

Oracle RTDのクラスタ権限は、JMX MBeanを通じて個々のJEEサーブレット・ロールに付与されます。このJMX MBeanのJConsoleパスは「OracleRTD」→「SDManagement」→「Security Manager」となっています。

表7-1 クラスタ権限

ターゲット・クラスタ権限 説明 暗黙の権限、ターゲット権限の付与時に自動付与

管理者

Oracle RTDのアクティビティをすべて許可します。これにより、インライン・サービス権限が割り当てられていないインライン・サービスを扱うことができます。

サービスを開く

読取り用サービスを開く

Studioからサービスをデプロイする

サービスをダウンロードする

サービスを開く

あるユーザーに、インライン・サービス権限「サービスを開く」も付与されている場合に、そのユーザーがDecision Centerを使用してインライン・サービスを開いて編集することを許可します。

読取り用サービスを開く

読取り用サービスを開く

あるユーザーに、インライン・サービス権限「読取り用サービスを開く」も付与されている場合に、そのユーザーがDecision Centerを使用してインライン・サービスを開いて表示することを許可します。

N/A

Studioからサービスをデプロイする

新しいインライン・サービスおよび既存のバージョン(存在する場合)に、インライン・サービス権限「Studioからサービスをデプロイする」が付与されている場合に、あるユーザーがDecision Studioから新しいインライン・サービスをデプロイすること、または既存のインライン・サービスの新しいバージョンをデプロイすることを許可します。

サービスを開く

読取り用サービスを開く

サービスをダウンロードする

インライン・サービスにインライン・サービス権限「サービスをダウンロードする」が付与されている場合に、あるユーザーがDecision Studioを使用してサーバーからインライン・サービスをダウンロードすることを許可します。

読取り用サービスを開く


7.1.2 インライン・サービス権限

インライン・サービス権限は、特定のインライン・サービスに関連付けられます。これらの権限は、Decision Studioの「Application/Permissions」タブで個々のサーブレット・ロールに付与されます。

表7-2 インライン・サービス権限

ターゲット権限 説明 暗黙の権限、ターゲット権限の付与時に自動付与

サービスを開く

対応するクラスタ権限が付随する場合に、あるユーザーがDecision Centerを使用してインライン・サービスを開いて編集することを許可します。

読取り用サービスを開く

読取り用サービスを開く

対応するクラスタ権限が付随する場合に、あるユーザーがDecision Centerを使用してインライン・サービスを開いて表示することを許可します。

N/A

Studioからサービスをデプロイする

対応するクラスタ権限が付随する場合に、あるユーザーがDecision Studioからインライン・サービスをデプロイすることを許可します。

既存のインライン・サービスを再デプロイする場合は、既存のインライン・サービスにもこの権限が付与されている必要があります。

サービスを開く

読取り用サービスを開く

サービスをダウンロードする

対応するクラスタ権限が付随する場合に、あるユーザーがDecision Studioを使用してサーバーからインライン・サービスをダウンロードすることを許可します。

読取り用サービスを開く


7.1.3 Decision Centerのパースペクティブ権限

Decision Centerのパースペクティブ権限がDecision Studioを通じて割り当てられ、Decision Centerのユーザーは、指定されたパースペクティブを使用してインライン・サービスを開くことができます。

表7-3は、Decision Centerのデフォルトのパースペクティブの一覧です。

7-3 Decision Centerのパースペクティブ

パースペクティブ 説明

Explore

インライン・サービスの属性およびパフォーマンス・レポートを表示するのに適したユーザー・インタフェースを表示します。編集用ではありません。

Design

Exploreパースペクティブをすべて含むユーザー・インタフェースを表示します。これを使用すると、インライン・サービスのいくつかの側面を編集することもできます。

At a Glance

Exploreパースペクティブを通じて利用可能な属性およびパフォーマンス・レポートのサブセットを表示するのに適した、簡略化されたユーザー・インタフェースを表示します。


7.2 Oracle RTDの標準ロール

この項では、出荷時点のOracle RTDのデプロイメント・ディスクリプタで宣言されているJEEサーブレット・ロールと、それらのロールにOracle RTDによって自動的に割り当てられるOracle RTDの権限について説明します。

これらのロールはOracle RTDでは作成されず、単にOracle RTDのデプロイメント・ディスクリプタで参照されるのみです。実際に作成するには、この章の別の項で説明されているように、通常の場合、アプリケーション・サーバーの管理コンソールを使用して最初にユーザー・グループを作成してから、ユーザー・グループに対するロールを定義します。

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

7.2.1 デフォルトのクラスタ権限の割当て

この項では、Oracle RTDの標準ロールへのクラスタ権限のデフォルトの割当てについて説明します。

これらの割当ての変更にはOracle RTDのセキュリティ・マネージャMBeanを使用できますが、お薦めはしません。


注意:

クラスタ権限のこのデフォルトの割当てに戻るMBean操作があります。つまり、「OracleRTD」→「SDManagement」→「Security Manager: revertToStandardPermissions()」です。

表7-4 Oracle RTDの標準ロール

ロール デフォルトのクラスタ権限 説明(サンプルのインライン・サービスILS_Xに関して)

RTDUsers

なし

このロールは、認証されたすべてのユーザーに対応します。Decision Centerの任意のページまたはWebサービスに送られるリクエストは、JEEコンテナによりアクセス権を付与されるこのロールに属している必要があります。

このロールには権限が割り当てられないため、要求された権限を持つ他のなんらかのロールにもユーザーが属していないかぎり、Oracle RTDは要求された権限をチェックするときに以後のリクエストを拒否することになります。

RTDAdministrators

管理者

このロールでは、あらゆることが行えます。

RTDDecisionCenterEditors

サービスを開く

Decision Studioで、インライン・サービスILS_Xの「Application/Permissions」タブによって、このロールに「サービスを開く」権限が付与されている場合、このロールでは、Decision Centerを使用してILS_Xを開いて編集できます。

RTDDecisionCenterUsers

読取り用サービスを開く

Decision Studioで、インライン・サービスILS_Xの「Application/Permissions」タブによって、このロールに「読取り用サービスを開く」権限が付与されている場合、このロールでは、Decision Centerを使用してILS_Xを開いて読取り専用表示できます。

RTDStudioDeployers

Studioからサービスをデプロイする

サービスを開く

Decision Studioで、インライン・サービスILS_Xの「Application/Permissions」タブによって、「Studioからサービスをデプロイする」権限が付与され、この権限を持たないILS_Xの既存のインスタンスがデプロイされていない場合、このロールでは、Decision Studioを使用してサーバーにILS_Xをデプロイできます。

Decision Studioで、インライン・サービスILS_Xの「Application/Permissions」タブによって、このロールに「サービスを開く」権限が付与されている場合、このロールでは、Decision Centerを使用してILS_Xを開いて編集できます。

RTDStudioDownloaders

サービスをダウンロードする

読取り用サービスを開く

ILS_Xがデプロイされる前に、Decision Studioで、インライン・サービスILS_Xの「Application/Permissions」タブによって、このロールに「サービスをダウンロードする」権限が付与されている場合、このロールでは、Decision Studioを使用してサーバーからILS_Xをダウンロードできます。

Decision Studioで、インライン・サービスILS_Xの「Application/Permissions」タブによって、このロールに「読取り用サービスを開く」権限が付与されている場合、このロールでは、Decision Centerを使用してILS_Xを開いて読取り専用表示できます。

RTDBatchAdministrators

なし

このロールは、BatchManager Webサービスの任意のメソッドを実行できます。

このロールに関連付けられているクラスタ権限はありません。

RTDChoiceEditors

なし

このロールは、ExternalChoice Webサービスの任意のメソッドを実行でき、またDecision Centerでリクエストを処理するURLにアクセスして、外部ルールまたは外部選択肢を編集できます。

このロールに関連付けられているクラスタ権限はありません。


7.2.2 デフォルトのインライン・サービス権限

デフォルトで、新しいインライン・サービスには、Oracle RTDの標準ロールに割り当てられた数多くのインライン・サービス権限があります。

表7-5は、RTDの標準ロールに割り当てられたデフォルトのインライン・サービス権限を示しています。

表7-5 Oracle RTDの標準ロールに割り当てられているデフォルトのインライン・サービス権限

標準ロール インライン・サービス権限

RTDDecisionCenterEditors

サービスを開く

読取り用サービスを開く

RTDDecisionCenterEditors

サービスを開く

読取り用サービスを開く

RTDDecisionCenterUsers

サービスを開く

RTDStudioDeployers

Studioからサービスをデプロイする

サービスを開く

読取り用サービスを開く

RTDStudioDownloaders

サービスをダウンロードする

読取り用サービスを開く


7.2.3 Decision Centerのデフォルトのパースペクティブ権限

新しいインライン・サービスが作成されると、表7-6に示されているように、そのDecision Centerのパースペクティブは、デフォルトで、Oracle RTDの標準ロールからアクセス可能になります。

表7-6 Decision Centerのパースペクティブ権限

パースペクティブ 付与対象のロール

Explore

RTDDecisionCenterUsers

RTDDecisionCenterEditors

RTDStudioDeployers

RTDStudioDownloaders

Design

RTDDecisionCenterEditors

RTDStudioDeployers

At a Glance

RTDDecisionCenterUsers

RTDDecisionCenterEditors

RTDStudioDeployers

RTDStudioDownloaders


7.3 カスタム・ロール

Oracle RTDの標準ロールで定義されているユーザーのグループよりも多い、または異なるグループに権限を割り当てることが企業にとって必要である場合、企業は、専用のユーザー・グループに対応する新しいセキュリティ・ロールを作成し、Oracle RTDのデプロイメント・ディスクリプタで新しいロールを宣言し、Oracle RTDを再デプロイした後で、前の各項で説明されているように、新しいロールにクラスタ権限またはインライン・サービス権限を付与できます。

ロールの作成およびOracle RTDのデプロイメント・ディスクリプタでのロールの宣言の詳細は、ベンダーに固有のものであり、アプリケーション・サーバーの具体的な章で説明します。

このプロセスの概要として、企業が最初のインライン・サービスとしてILS1をすでに定義しており、ILS1はOracle RTDの標準ロールのユーザーによって管理されると想定しています。さらに、企業には次の付加的な要件があると想定しています。

次に、付加的な要件に対する手順の概要を示します。

  1. ベンダーの管理コンソールを使用して、ユーザー・グループILS2DevelopersGroupおよびILS2UsersGroupを作成します。

  2. ベンダーの管理コンソールを使用して、該当するユーザーをこの2つのグループに入れます。

  3. ベンダーの管理コンソールを使用して、2つのJEEサーブレット・セキュリティ・ロールILS2DevelopersおよびILS2Usersを作成します。したがって、新しいグループに関して、次のようになります。

    1. ILS2DevelopersGroupのユーザーは、いずれもILS2Developersロールに所属する

    2. ILS2UsersGroupのユーザーは、いずれもILS2Usersロールに所属する

  4. 次の2つのweb.xmlファイル内のOracle RTDのデプロイメント・ディスクリプタを更新して、新しいセキュリティ・ロールへの参照を宣言します。

    • RTD.ear > ui.war > web-inf/web.xml

    • RTD.ear > soap.war > web-inf/web.xml

    web.xmlパスに対するここでの表記法は、両方のweb.xmlファイルがweb-infという名前のディレクトリにあること、またweb-infui.warおよびsoap.warという名前のWebアーカイブ内にあることを示しています。同様に、WebアーカイブはRTD.earという名前のエンタープライズ・アーカイブ内にあります。

    インストールはアプリケーション・サーバーによって異なりますが、このインストールに応じて、earファイルおよびwarファイルは、アーカイブ・ファイルであるか、またはファイル・システム内に展開されています。

  5. Oracle RTDを再デプロイします。

  6. 次の手順に従って、JConsoleを使用して新しいロールにクラスタ権限を割り当てます。

    • StudioからロールILS2Developersにサービスをデプロイします。

      この権限は、インライン・サービスのデプロイを許可するために必要ですが、対応するインライン・サービス権限がないと不十分です。

    • ロールILS2Usersにサービスを開きます。

      この権限は、Decision Centerでユーザーがインライン・サービスを開くのを許可するために必要ですが、対応するインライン・サービス権限がないと不十分です。

  7. Decision Studioを使用して、表7-7に示されているように、ILS1およびILS2を開き、これらのインライン・サービス権限およびDecision Centerのパースペクティブ権限を割り当てます。

    表7-7 インライン・サービスとDecision Centerのパースペクティブ権限

    インライン・サービス ロール 権限 パースペクティブ

    ILS1

    ILS2Developers

    読取り用サービスを開く

    Explore、At a Glance

    ILS2

    ILS2Developers

    Studioからサービスをデプロイする

    サービスを開く

    読取り用サービスを開く

    Explore、Design、At a Glance

    ILS2

    ILS2Users

    サービスを開く

    読取り用サービスを開く

    Explore、Design、At a Glance


  8. Decision Studioを使用して、2つのインライン・サービスILS1およびILS2を再デプロイします。

7.4 権限の割当て

第7.2項「Oracle RTDの標準ロール」とそれを構成する下位の項では、デフォルトの権限がOracle RTDの標準ロールにすでにどのように割り当てられているかについて説明します。この項では、デフォルトの権限がない場合に、カスタム・ロールに必要な権限など、他の権限を割り当てる方法について説明します。

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

7.4.1 クラスタ権限の付与

クラスタ権限は、JMXを通じて付与されます。このときに使用するMBeanのパスは、「OracleRTD」→「SDManagement」→「Security Manager」です。詳細は、第15.5項「Oracle Real-Time Decisionsのセキュリティの管理」を参照してください。

7.4.1.1 操作listPermissionCodes

listPermissionCodes操作を実行すると、権限を割り当てるときに入力できる権限コードのリストが得られます。

次に例を示します。

  • 0: 管理者

  • 1: サービスを開く

  • 2: 読取り用サービスを開く

  • 3: Studioからサービスをデプロイする

  • 4: サービスをダウンロードする

7.4.1.2 操作assignPermission

assignPermission操作を実行すると、2つの引数、つまりロールの名前とそのロールに付与される権限のコードが受け入れられます。

たとえば、ロールにはILS2Developers、コードには3が受け入れられます。

7.4.1.3 操作listDirectPermissions

listDirectPermissions操作を実行すると、assignPermission操作によって直接付与される権限や任意の暗黙の権限など、ロールに付与されているクラスタ権限がすべて表示されます。

たとえば、assignPermission操作を実行して権限コード3を付与すると、ロールILS2Developersに付与される権限は次のようになります。

  • Studioからサービスをデプロイする

  • サービスを開く

  • 読取り用サービスを開く

7.4.2 インライン・サービス権限の付与

インライン・サービス権限をDecision Studioで付与するには、Applicationオブジェクトの「Permissions」タブを使用します。詳細は、『Oracle Real-Time Decisionsプラットフォーム開発者ガイド』の「インライン・サービス権限の設定」を参照してください。

周囲のテキストはsec_role_perms.gifに関する説明です。

たとえば、CrossSellインライン・サービスでは、RTDStudioDeployersロールには「Studioからサービスをデプロイする」権限が付与されています。「サービスを開く」権限および「読取り用サービスを開く」権限にも、付与済というマークが付けられます。これらの権限は「Studioからサービスをデプロイする」で暗黙のうちに示されているためです。Decision Studioでは、権限を割り当てるときに、クラスタ権限がすでに割り当てられているロールのドロップダウン・リストからロールの名前を選択できます。対象のロールにクラスタ権限がまだ割り当てられていない場合は、Decision Studioに手動で名前を入力することもできますが、対応するクラスタ権限が付与されるまで、その権限に値は設定されません。

7.4.3 Decision Centerのパースペクティブ権限の付与

Decision Studioでインライン・サービスの特定のパースペクティブを有効にするには、Decision CenterのPerspectivesフォルダで目的のパースペクティブを選択して右クリックし、その「Properties」を選択します。そのパースペクティブを使用することが許可されているロールの一覧にそのロールを追加して、指定したロールにパースペクティブへのアクセス権を付与します。詳細は、『Oracle Real-Time Decisionsプラットフォーム開発者ガイド』の「Decision Centerのパースペクティブについて」を参照してください。

7.5 ロール割当てのデバッグ

Oracle RTDでは、特定のユーザーにOracle RTDのどのロールが割り当てられているかを理解しやすくするためのリソースが、Decision Centerの一部としてインストールされています。この機能が有効になっている場合、HTTPブラウザからhttp://host:port/ui/hello.jspにアクセスすると、Oracle RTDのログイン・ページが表示されます。ユーザーがまだログインしていない場合には、次の例のように、シンプルなページが現れ、ユーザーのロールが表示されます。

ここに一覧表示されているロールは、Oracle RTDのセキュリティ・マネージャMBeanでクラスタ権限が割り当てられているロールすべてのサブセットです。Oracle RTDの使用可能なロールの詳細な一覧は、セキュリティ・マネージャMBeanの操作listEveryoneHavingPermissionsによってレンダリングされるセットです。


注意:

ユーザーのロールを表示したときにプライバシーの問題が発生しないようにするため、アプリケーション・サーバーに固有の方法で、JVMに次のシステム・プロパティを設定してこの機能を明示的に有効にしていないかぎり、hello.jspにはロールが表示されません。
  • rtd.showRolesInHello.jsp = true


7.6 移行計画

この項では、以前のリリースから3.0にアップグレードする場合にOracle RTDの既存の顧客に要求されるタスクを示しています。この項の内容は次のとおりです。

7.6.1 Oracle RTDのユーザーおよびグループからエンタープライズ・アイデンティティ・ストアへの移行

Oracle RTDの内部アイデンティティ・ストアで定義されたユーザーおよびグループは、一般的に、JEEサーバーのアイデンティティ・ストアに移動される必要があります。JEEサーバーが、企業全体のアイデンティティ・ストアに統合されると、このストアには通常、Oracle RTDの内部アイデンティティ・ストアに別に入力済のユーザーがすでに含まれています。

7.6.2 JEEサーバーでの標準セキュリティ・ロールの定義

このプロセスは、ベンダーの管理コンソールを使用するもので、アプリケーション・サーバーの種類によって異なります。例は、対応するアプリケーション・サーバー固有の章に示されています。

7.6.3 JEEサーバーでのカスタム・セキュリティ・ロールの定義

既存のインストールで、Oracle RTDの標準ロールより緻密なユーザーまたはグループに権限が割り当てられている場合、権限を割り当てられるように追加のエンタープライズ・ロールを定義する必要があります。

たとえば、ILS2-AdminGroupおよびILS2-UserGroupという名前のユーザー・グループがある場合には、次の手順に従って、2つの新しいロールを定義し、クラスタ権限を割り当てる必要があります。

  • ILS2Developers: ILS2-AdminGroupのユーザーに該当

  • ILS2Users: ILS2-UserGroupのユーザーに該当

表7-8 カスタム・ロールのクラスタ権限

カスタム・ロール クラスタ権限

ILS2Developers

Studioからサービスをデプロイする

サービスをダウンロードする

サービスを開く

読取り用サービスを開く

ILS2Users

サービスを開く

読取り用サービスを開く


7.6.4 カスタム・ロール参照の宣言

前の項で定義されたカスタム・ロールについて、次のように、Oracle RTDのデプロイメント・ディスクリプタで各カスタム・ロールへの参照を宣言してからOracle RTDを再デプロイします。

  • RTD.ear > ui.war > web-inf/web.xml

  • RTD.ear > soap.war > web-inf/web.xml

7.6.5 ロールへのインライン・サービス権限の割当て

Decision Studioを使用して、Oracle RTDによって内部的にすでに管理されているユーザー・グループを参照するのではなく、アプリケーション・サーバーによって管理されているJEEサーブレット・ロールを参照するように、既存のインライン・サービス権限の割当てを変更します。

7.6.6 ロールへのDecision Centerのパースペクティブ権限の割当て

Decision Studioを使用して、Oracle RTDによって内部的にすでに管理されているユーザー・グループを参照するのではなく、アプリケーション・サーバーによって管理されているJEEサーブレット・ロールを参照するように、Decision Centerの既存のパースペクティブ権限の割当てを変更します。