ヘッダーをスキップ
Oracle® OLAPユーザーズ・ガイド
11g リリース2(11.2)
B61345-01
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

8 セキュリティ

Oracle OLAPでは、Oracle Databaseの標準セキュリティ・メカニズムによりデータが保護されます。

この章では、次の項目について説明します。

Oracle Databaseにおける多次元データのセキュリティ

企業が保持しているデータは、貴重な財産です。データが持つ情報は、機密性を確保し、保護する必要があります。中でも分析データは、十分に組織化され、ナビゲートが容易であり、明確な意味を持つ単位にまとめられているため、脆弱性が高くなっています。

Oracle OLAPを使用すると、データはデータベースに格納されます。Oracle OLAPでは、Oracle Databaseが持つセキュリティを利用できるため、企業の安全性が高まります。データをスタンドアロン・データベースに転送して、データを危険にさらす必要はありません。また、別のシステム上でセキュリティを管理する必要がないので、Oracle Databaseより安全性の低い環境にデータを格納して、データを危険にさらす必要もありません。

セキュリティ管理

管理すべきシステムは1つしかないため、次のような基本的なセキュリティ・タスクをレプリケートする必要はありません。

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

  • パスワード保護ルールの作成と管理

  • ネットワーク接続の保護

  • セキュリティ脆弱性の検出と除去

  • 侵入者からのシステムの保護

データ・セキュリティの基礎となるのは、ユーザー・アカウントおよびユーザー・ロールの管理です。ユーザーは、ユーザー名とパスワードを使用してOracle Databaseとの接続を開始します。接続を開始したユーザーは、同一のセッション内で次元オブジェクトにもリレーショナル・オブジェクトにもアクセスできます。

セキュリティのタイプ

デフォルトでは、各ユーザーには、別ユーザーのスキーマにあるアナリティック・ワークスペースやその他のデータ型へのアクセス権は付与されていません。スキーマの所有者または管理者が、各ユーザーまたは各ユーザーが属するロールに対してアクセス権限を付与する必要があります。

Oracle OLAPは、オブジェクト・セキュリティおよびデータ・セキュリティという、2つのタイプのセキュリティを備えています。

  • オブジェクト・セキュリティでは、次元オブジェクトへのアクセスを可能にします。他のユーザーが次元オブジェクトにアクセスできるようにするには、その前にオブジェクト・セキュリティを設定する必要があります。オブジェクト・セキュリティは、SQLのGRANTおよびREVOKEを使用して実装されます。

  • データ・セキュリティでは、セル・レベルでデータのファイングレイン制御を行えます。このタイプのセキュリティはオプションです。データ・セキュリティ・ポリシーの定義が必要となるのは、キューブの特定の領域に対するアクセスを制限する場合のみです。データ・セキュリティは、Oracle DatabaseのXML DBセキュリティを使用して実装されます。

データ・セキュリティおよびオブジェクト・セキュリティはともに、Analytic Workspace Managerで管理できます。オブジェクト・セキュリティに対しては、SQLのGRANTおよびREVOKEも使用できます。

権限について

オブジェクト・セキュリティおよびデータ・セキュリティを使用すると、次の権限を付与したり取り消すことができます。

  • 変更: キューブまたはディメンションの定義を変更します。次元モデルの作成や変更を行うにはこの権限が必要です。

  • 削除: 古いディメンション・メンバーを削除します。ディメンションをリフレッシュするにはこの権限が必要です。

  • 挿入: 新規のディメンション・メンバーを追加します。ディメンションをリフレッシュするにはこの権限が必要です。

  • 選択: キューブまたはディメンションに対する問合せを行います。キューブまたはディメンションのビューに対して問合せを行う場合、またはCUBE_TABLE関数を使用する場合にはこの権限が必要です。CUBE_TABLEは、次元オブジェクトの値を戻すSQL関数です。

  • 更新: キューブのデータ値やディメンション・メンバーの名前を変更します。ディメンションやキューブをリフレッシュするにはこの権限が必要です。

これらの権限は、Analytic Workspace Managerで次元オブジェクトの作成や管理を行う場合や、SQLを使用して次元オブジェクトに問合せを行う場合に使用します。SQLのINSERTUPDATEなどのコマンドを、キューブやディメンションに対して直接発行することはありません。

階層化されたセキュリティ

次元オブジェクトの場合、次の各レベルでセキュリティを管理できます。

  • ディメンション・メンバー

  • ディメンション

  • キューブ

  • アナリティック・ワークスペース

  • ビュー

  • マテリアライズド・ビュー

権限が階層化されていることにより、たとえば、Software製品に対するSELECTデータ・セキュリティを持つユーザーは、同時に、PRODUCTディメンションおよびGlobalアナリティック・ワークスペースに対するSELECTオブジェクト・セキュリティも持っている必要があります。ユーザーには、次元オブジェクトのビューに対するSELECT権限も必要です。

次元オブジェクトのビューおよびマテリアライズド・ビューに対するセキュリティ管理は、データベース内のその他のビューやマテリアライズド・ビューの場合と同様に行います。

オブジェクト・セキュリティの設定

オブジェクト・セキュリティの設定は、SQLとAnalytic Workspace Managerのどちらを使用しても行えます。どれを使用しても結果は同じです。

SQLを使用したオブジェクト・セキュリティの設定

SQLのGRANTコマンドおよびREVOKEコマンドを使用して、次元オブジェクトに対するオブジェクト権限を付与したり取り消すことができます。

アナリティック・ワークスペースに対するオブジェクト・セキュリティの設定

アナリティック・ワークスペースに対するオブジェクト権限は、単にコンテナを開くためのものです。ユーザーがキューブやディメンションにアクセスできるようにするには、そのキューブやディメンションに対するオブジェクト権限を付与する必要があります。表の名前は、アナリティック・ワークスペースの名前に接頭辞「AW$」を付け加えたものになります。

次のコマンドを実行すると、ScottがGlobalアナリティック・ワークスペースAW$GLOBALをセッションにアタッチできるようになります。

GRANT SELECT ON aw$global TO scott;

ディメンションに対するオブジェクト・セキュリティの設定

個々のディメンションに対する権限を付与することにより、ユーザーはそのディメンションのメンバーや属性に問合せを行うことができるようになります。キューブに問合せを行うためには、そのキューブのすべてのディメンションについて権限が付与されている必要があります。

これらの権限はディメンション全体に適用されます。ただし、ディメンションに対してファイングレイン・アクセスを設定することにより、権限を制限できます(「ディメンションおよびキューブに対するデータ・セキュリティ・ポリシーの作成」を参照)。

例8-1に、ScottがProductディメンションに問合せを行えるようにするためのSQLコマンドを示します。このコマンドを実行すると、Productディメンション、Globalアナリティック・ワークスペースおよびProductビューに対するSELECT権限がScottに付与されます。

例8-1 Productディメンションへの問合せ権限

GRANT SELECT ON product TO scott;
GRANT SELECT ON aw$global TO scott;
GRANT SELECT ON product_view TO scott;

キューブに対するオブジェクト・セキュリティの設定

キューブに対する権限を付与すると、ユーザーは、ビジネス・メジャーへのアクセスや分析の実行が可能になります。キューブの各ディメンションに対する権限も付与する必要があります。

これらの権限はキューブ全体に適用されます。ただし、キューブまたはそのディメンションに対してデータ・セキュリティ・ポリシーを作成することにより、権限を制限できます(「ディメンションおよびキューブに対するデータ・セキュリティ・ポリシーの作成」を参照)。

例8-2に、ScottがUnitsキューブに問合せを行えるようにするためのSQLコマンドを示します。このコマンドを実行すると、Globalアナリティック・ワークスペース、キューブおよびそのすべてのディメンションに対するSELECT権限がScottに付与されます。またScottは、書式設定されたレポートに使用するディメンション属性の問合せを行えるように、ディメンション・ビューに対する権限も取得します。

例8-2 Unitsキューブへの問合せ権限

/* Grant privileges on the analytic workspace */
GRANT SELECT ON global.aw$global TO scott;

/* Grant privileges on the cube */
GRANT SELECT ON global.units_cube TO scott;

/* Grant privileges on the dimensions */
GRANT SELECT ON global.channel TO scott;
GRANT SELECT ON global.customer TO scott;
GRANT SELECT ON global.product TO scott;
GRANT SELECT ON global.time TO scott;

/* Grant privileges on the cube, dimension, and hierarchy views */
GRANT SELECT ON global.units_cube_view TO scott;
GRANT SELECT ON global.channel_view TO scott;
GRANT SELECT ON global.channel_primary_view TO scott;
GRANT SELECT ON global.customer_view TO scott;
GRANT SELECT ON global.customer_shipments_view TO scott;
GRANT SELECT ON global.customer_segments_view TO scott;
GRANT SELECT ON global.product_view TO scott;
GRANT SELECT ON global.product_primary_view TO scott;
GRANT SELECT ON global.time_view TO scott;
GRANT SELECT ON global.time_calendar_view TO scott;
GRANT SELECT ON global.time_fiscal_view TO scott;

例8-3に、SCOTTに対し、リレーショナル表のディテール・レベルのデータを問い合せる権限と、クエリー・リライトを使用してUnitsキューブからサマリー・データを取得する権限を付与するSQLコマンドを示します。

例8-3 クエリー・リライトでのキューブ・マテリアライズド・ビュー使用権限

/* Grant privileges on materialized views using query rewrite */
GRANT GLOBAL QUERY REWRITE TO scott;

/* Grant privileges on the relational source tables */
GRANT SELECT ON global.channel_dim TO scott;
GRANT SELECT ON global.customer_dim TO scott;
GRANT SELECT ON global.product_dim TO scott;
GRANT SELECT ON global.time_dim TO scott;
GRANT SELECT ON global.units_fact TO scott;

/* Grant privileges on the analytic workspace */
GRANT SELECT ON global.aw$global TO scott;

/* Grant privileges on the cube */
GRANT SELECT ON global.units_cube TO scott;

/* Grant privileges on the dimensions */
GRANT SELECT ON global.channel TO scott;
GRANT SELECT ON global.customer TO scott;
GRANT SELECT ON global.product TO scott;
GRANT SELECT ON global.time TO scott;

例8-4に、Analytic Workspace Managerを使用してGLOBALのすべての次元オブジェクトに対する変更および更新を行うための権限をSCOTTに付与するSQLコマンドを示します。


注意:

GRANT ALLコマンドを使用すると、この章で説明した権限以外にも様々な権限が付与されます。GRANT ALLを使用する場合は必ず、事前に権限のリストを確認してください。

例8-4 GLOBALの変更権限およびリフレッシュ権限

/* Grant privilege to use Analytic Workspace Manager */
GRANT OLAP_USER TO scott;

/* Grant privileges on the analytic workspace */
GRANT ALL ON global.aw$global TO scott;

/* Grant privileges on the cubes */
GRANT ALL ON global.units_cube TO scott;
GRANT ALL ON global.price_cost_cube TO scott;

/* Grant privileges on the dimensions */
GRANT ALL ON global.channel TO scott;
GRANT ALL ON global.customer TO scott;
GRANT ALL ON global.product TO scott;
GRANT ALL ON global.time TO scott;

Analytic Workspace Managerを使用したオブジェクト・セキュリティの設定

Analytic Workspace Managerでは、グラフィカル・ユーザー・インタフェースを使用してオブジェクト・セキュリティを設定できます。また、表示されるSQLコマンドを切り取ってスクリプトに貼り付けることも可能です。

アナリティック・ワークスペースに対するオブジェクト・セキュリティの設定

Analytic Workspace Managerでは、次の手順に従ってアナリティック・ワークスペースに対するオブジェクト・セキュリティの設定を行います。

  1. ナビゲーション・ツリーでアナリティック・ワークスペースを右クリックし、「アナリティック・ワークスペースのオブジェクト・セキュリティの設定」を選択します。

    「アナリティック・ワークスペースのオブジェクト・セキュリティの設定」ダイアログ・ボックスが表示されます。

  2. ダイアログ・ボックスで必要な操作が完了したら、「OK」をクリックします。

    各項目の詳細を参照する場合は「ヘルプ」をクリックします。

  3. 1つ以上のキューブおよびそのディメンションに対する権限を付与します。

    アナリティック・ワークスペースに対する権限を付与しても、アナリティック・ワークスペース内のキューブおよびディメンションにまで適用範囲が自動的に拡張されることはありません。

図8-1に、GLOBALに対するSELECT権限がPUBLICに付与されたところを示します。

図8-1 GLOBALに対するオブジェクト・セキュリティの設定

「アナリティック・ワークスペースのオブジェクト・セキュリティの設定」ダイアログ・ボックス
「図8-1 GLOBALに対するオブジェクト・セキュリティの設定」の説明

ディメンションに対するオブジェクト・セキュリティの設定

Analytic Workspace Managerでは、次の手順に従ってディメンションに対するオブジェクト・セキュリティの設定を行います。

  1. ナビゲーション・ツリーでいずれかのディメンションを右クリックし、「ディメンションのオブジェクト・セキュリティの設定」を選択します。

    「ディメンションのオブジェクト・セキュリティの設定」ダイアログ・ボックスが表示されます。

  2. ダイアログ・ボックスで必要な操作が完了したら、「OK」をクリックします。

    権限の設定は、すべてのディメンションに対して同時に行えます。各項目の詳細を参照する場合は「ヘルプ」をクリックします。

  3. アナリティック・ワークスペースおよび1つ以上のキューブに対する権限を付与します。ビューに対する権限の付与にはSQLを使用します。

図8-2に、ディメンションに対するSELECT権限がPUBLICに付与されたところを示します。

図8-2 ディメンションに対するオブジェクト・セキュリティの設定

「ディメンションのオブジェクト・セキュリティの設定」ダイアログ・ボックス
「図8-2 ディメンションに対するオブジェクト・セキュリティの設定」の説明

キューブに対するオブジェクト・セキュリティの設定

Analytic Workspace Managerでは、次の手順に従ってキューブに対するオブジェクト・セキュリティの設定を行います。

  1. ナビゲーション・ツリーでいずれかのキューブを右クリックし、「キューブのオブジェクト・セキュリティの設定」を選択します。

    「キューブのオブジェクト・セキュリティの設定」ダイアログ・ボックスが表示されます。

  2. ダイアログ・ボックスで必要な操作が完了したら、「OK」をクリックします。

    権限の設定は、すべてのキューブに対して同時に行えます。各項目の詳細を参照する場合は「ヘルプ」をクリックします。

  3. キューブのディメンションおよびアナリティック・ワークスペースに対する権限を付与します。ビューに対する権限の付与にはSQLを使用します。

ディメンションおよびキューブに対するデータ・セキュリティ・ポリシーの作成

データ・セキュリティ・ポリシーを使用すると、選択したディメンション・メンバーに対する権限を、ユーザーおよびロールに付与できます。たとえば、地域担当販売部長の権限の適用範囲を、あらゆる地域のデータではなく、本人が担当する地域のデータに制限できます。データ・セキュリティ・ポリシーは、ディメンション、キューブまたはその双方に対して作成可能です。

データ権限の付与

各ポリシーは、1つ以上のユーザー、ロールおよびデータ・セキュリティ・ロールに適用できます。データ・セキュリティ・ロールとは、Analytic Workspace Managerで管理可能なユーザーまたはデータベース・ロールのグループで、セキュリティ・ポリシーにのみ使用できます。データ・セキュリティ・ロールおよびデータ・セキュリティ・ポリシーは、Analytic Workspace Managerで作成します。

データ・セキュリティ・ポリシーを作成した時点で、その対象でないすべてのユーザーは、自動的にアクセスを拒否されます。Analytic Workspace Managerでは、所有者にすべての権限を付与するデフォルト・ポリシーが作成されます。デフォルト・ポリシーが作成されない場合は、所有者であってもアクセスは拒否されます。


注意:

デフォルト・ポリシーは削除しないようにしてください。自分自身のデータに対するアクセス権限は、デフォルト・ポリシーにより付与されます。

条件に基づくデータの選択

データ・セキュリティ・ポリシーを定義するとき、特定のディメンション・メンバー、またはディメンション階層に基づいた特定の条件を満たすディメンション・メンバーを選択できます。特定のディメンション・メンバーをハードコードするかわりに条件を使用することで、データをリフレッシュした後も選択内容が有効に保たれます。メンバーを追加した後も、選択内容を変更する必要はありません。たとえば、すべてのHardware製品にSELECT権限を付与するセキュリティ・ポリシーは、PRODUCTディメンションにおいて古い製品が削除され新規製品が追加された場合でも引き続き有効です。


注意:

Analytic Workspace Managerでデータ・セキュリティ・ポリシーを管理するには、OLAP_XS_ADMINロールが必要です。

Analytic Workspace Managerでのデータ・セキュリティ・ポリシーの作成手順: 

  1. ディメンションまたはキューブのフォルダを開きます。

  2. 「データ・セキュリティ」を右クリックし、「データ・セキュリティ・ポリシーの作成」を選択します。

    データ・セキュリティ・ポリシーの作成ダイアログ・ボックスが表示されます。

  3. 「一般」タブの「データ・セキュリティ・ポリシー名」フィールドに、内容を表すような名前を入力します。

  4. ユーザーまたはロールの追加」をクリックします。

    「ユーザーまたはロールの追加」ダイアログ・ボックスが表示されます。

  5. このポリシーを適用するユーザー、ロールまたはOLAPデータ・セキュリティ・ロールを選択します。選択したら、「OK」をクリックしてダイアログ・ボックスを閉じます。

    選択したユーザーやロールはこの時点で、「一般」タブの表にリスト表示されます。

  6. 各ユーザーまたはロールに付与する権限を選択します。

  7. 「メンバーの選択」タブで、ディメンション・メンバーまたは条件を選択します。キューブの場合は、ディメンションごとに有効範囲を選択します。

  8. OK」をクリックし、データ・セキュリティ・ポリシーを保存します。

    ディメンションに対応する「データ・セキュリティ」フォルダのナビゲーション・ツリーに、データ・セキュリティ・ポリシーが表示されます。

  9. これらのユーザーおよびロールに、ディメンションまたはキューブ、およびアナリティック・ワークスペースに対するオブジェクト権限を付与します。

図8-3に、PRODUCTに対するデータ・セキュリティ・ポリシーの「メンバーの選択」タブを示します。このポリシーに基づいてPRODUCTディメンションに対する権限を付与されているユーザーは、すべてのHardware製品にアクセスできます。ただし、Software製品およびTotal Productにはアクセスできません。

図8-3 HardwareおよびDescendantsへのProductの制限

「データ・セキュリティ・ポリシーの作成」ダイアログ・ボックス
「図8-3 HardwawreおよびDescendantsへのProductの制限」の説明


参照:

データ・セキュリティ・ロールの作成については、Analytic Workspace Managerのヘルプを参照してください。