プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド
12c (12.2.1.2.0)
E82973-02
目次へ移動
目次

前
前へ
次
次へ

アプリケーション・ロールの機能グループの指定

次の手順では、同じリポジトリ・オブジェクト(通常は論理ファクト表)に対する異なるデータ・アクセス・フィルタを使用してアプリケーション・ロールの機能グループを指定します。

定義された機能グループがない場合、関連付けられたロールにかかわらず、特定の表に適用されたすべてのセキュリティ・フィルタがOR演算子を使用して結合されます。ユーザーはセキュリティ・フィルタによって選択されたすべての行の結合を表示できるため、OR演算子の使用は多くの場合機能します。たとえば、次のようなフィルタがあるとします。

ロールAにフィルタProduct = 'Coke'が割り当てられます

ロールBにフィルタProduct = 'Pepsi'が割り当てられます

ユーザーにロールAとロールBが付与されている場合、そのユーザーはCokeとPepsiの両方の製品のデータを表示できます。

同じ表の2つのセキュリティ・フィルタが問合せで結合される場合、フィルタ条件はOR演算子を使用して結合されます(このことは、ディメンション表で定義されたほとんどのセキュリティ・フィルタに該当します)。次に例を示します。

Product = 'Coke' OR Product = 'Pepsi'

異なるディメンションのデータ・フィルタを使用して1つのファクト表を保護する場合は、機能グループを使用する必要があります。

この例では、ファクト表は次のフィルタを使用して保護されます。

ロールAにフィルタProduct = 'Coke'が割り当てられます

ロールBにフィルタProduct = 'Pepsi'が割り当てられます

ロールCにフィルタRegion = 'Southwest'が割り当てられます

機能グループを使用しない場合、ロールA、BおよびCのユーザーの問合せでは、3つのフィルタ条件がすべてOR演算子を使用して結合されます。次に例を示します。

(Product = 'Coke' OR Product = 'Pepsi' OR Region = 'Southwest')

ProductとRegionは独立したディメンションであるため、ロールA、BおよびCの結果を結合しても意味をなしません。OR演算子を使用して異なるディメンションのデータ・フィルタを結合すると、ユーザーに表示する必要がないデータ値にユーザーがアクセスできるようになります。

この例では、ユーザーはPepsiおよびCoke製品内のすべての地域のデータに加えて、Southwest地域内のすべての製品のデータを表示できます。

想定された動作を得るには(つまり、Southwest地域内のPepsiおよびCoke製品のデータのみをユーザーが表示できるようにするには)、AND演算子を使用して製品フィルタと地域フィルタを結合して、フィルタを変更する必要があります。次に例を示します。

(Product = 'Coke' OR Product = 'Pepsi') AND (Region = 'Southwest')

機能グループを使用してこれを行うには、次のようにセキュリティ・フィルタを機能グループに割り当てる必要があります。

ロールAにフィルタProduct = 'Coke' with functional group "Product"が割り当てられます

ロールBにフィルタProduct = 'Pepsi' with functional group "Product"が割り当てられます

ロールCにフィルタRegion = 'Southwest' with functional group "Region"が割り当てられます

同じ機能グループ内のすべてのフィルタはOR演算子を使用して結合され、異なる機能グループ内のすべてのフィルタのセットはAND演算子を使用して結合されます。各セキュリティ・フィルタに関連付けられた機能グループを選択することで、OR演算子とAND演算子を使用してフィルタを結合する方法を制御できます。

データ・フィルタを作成するには、リポジトリでのデータ・フィルタの設定を参照してください。

  1. Oracle BI管理ツールで、「管理」から「アイデンティティ」を選択します。
  2. Identity Managerで、アプリケーション・ロールをダブルクリックします。
  3. 「アプリケーション・ロール」で、「権限」をクリックします。
  4. アプリケーション・ロール権限で、「データ・フィルタ」タブをクリックします。
  5. 「データ・フィルタ」タブで、機能グループに割り当てるフィルタを選択します。
  6. 機能グループ列で、既存のグループを選択するか、使用する新しいグループの名前を入力します。
  7. 「OK」をクリックします。