ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Intelligence Discoverer管理者ガイド
11gリリース1 (11.1.1)
E51906-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

7 情報に対するアクセス制御

この章では、Discoverer Administratorを使用して情報へのアクセスを制御する方法について説明します。この章の内容は次のとおりです。

7.1 Discovererおよびセキュリティ

Discovererマネージャには、ユーザーがアクセスできる情報と、その情報を使用して実行できる操作を制御する責任があります。Discovererアクセス権限および作業権限は、次のように使用します。

Discovererアクセス権限および作業権限は、データベース・ロールおよびデータベース・ユーザーに付与できます。アクセス権限または作業権限をロールに付与すると、そのロールのユーザーすべてがそのロールのアクセス権限と作業権限を持ちます。Oracle ApplicationsモードでDiscoverer Administratorを実行する場合は、ロールのかわりにOracle Applications職責にアクセス権限または作業権限を付与します。Oracle Applicationsモードの詳細は、「Oracle Applicationsユーザーに対するDiscovererのサポート機能」を参照してください。

Discoverer Administratorで付与するアクセス権限および作業権限はDiscovererのビジネスエリアのみに適用され、基礎となるデータベース・テーブルには適用されません。データベース・テーブルへのデータ・アクセス権は、データベース管理者が制御します。

Discoverer Administratorで設定するアクセス権限および作業権限に関係なく、Discovererエンド・ユーザーに次のデータベース権限が(直接またはデータベース・ロール経由で)付与されている場合は、フォルダのみが表示されます。

ユーザーにビジネスエリアの管理権限を付与すると、ユーザーはそのビジネスエリアで管理作業(フォルダ、計算、条件、階層、サマリーの作成など)を実行できます。特定のビジネスエリアで管理権限を持つユーザーは、そのビジネスエリアの管理権限を他のユーザーに付与することもできます。複数のユーザーにビジネスエリア管理を委譲できますが、各ビジネスエリアの制御メンテナンスは単独の管理者が行う方が容易です。

7.2 Discovererアクセス権限

Discovererアクセス権限を使用して、ビジネスエリアのデータを参照および使用できるユーザーを制御できます。

ビジネスエリアへのアクセス制御方法には2通りあります。

ビジネスエリアでDiscovererエンド・ユーザーにフォルダが表示される前に、フォルダが参照するテーブルに対するデータベース・アクセスをそのユーザーが持っていることがDiscovererによって確認されます。ユーザーが、フォルダが参照するテーブルに対するアクセス権を持っていない場合、Discovererではフォルダが表示されません。ObjectsAlwaysAccessibleレジストリ設定値を変更すると(アクセス権限がほとんど変更されない場合にパフォーマンスを向上させる場合など)、この動作をオーバーライドできます(詳細は、第21章「Discovererのレジストリ設定」を参照)。

7.3 DiscovererとOracle Advanced Security Option (ASO)

Discovererは、Oracleデータベース(Oracle Enterprise Editionデータベース内)によって提供されるOracle Advanced Security Option (ASO)の暗号化技術を使用して認証されます。認証には、4つの暗号化タイプ(RC4、DES、Triple-DESおよびAES)があります。Oracle ASO暗号化によるパフォーマンスへのオーバーヘッドはほとんどありません。ただし、パフォーマンスは、複数の要因(オペレーティング・システム、暗号化アルゴリズムなど)によって変わります。Oracle ASO暗号化の詳細は、Oracle9iセキュリティ概要を参照してください。

7.4 Discoverer作業権限

Discoverer作業権限を使用して、各ユーザーに実行が許可される作業を制御できます。

作業権限を使用して、Discovererエンド・ユーザーが次の操作を実行できるかどうかを指定します。

作業権限を使用して、Discovererマネージャが次の操作を実行できるかどうかを指定します。

7.5 ビジネスエリアにアクセスできるユーザーまたはロール(職責)の指定方法

注意: Oracle Applicationsデータベース・ユーザーの接続時には、Discoverer Administratorではロールではなく職責が表示されます。

特定のビジネスエリアにアクセスできるユーザーまたはロールを指定する手順は、次のとおりです。

  1. 「ツール」→「セキュリティ」を選択して、「セキュリティ」ダイアログの「ビジネスエリア -> ユーザー」タブを選択します。

    次の警告ダイアログが表示されます。

    図7-1 警告ダイアログ

    図7-1の説明は前後にあります。
  2. 「はい」をクリックして、「セキュリティ」ダイアログの「ビジネスエリア -> ユーザー」タブを表示します。

    図7-2 「セキュリティ」ダイアログの「ビジネスエリア -> ユーザー」タブ

    図7-2の説明は前後にあります。

    注意: 「選択可能なユーザー/ロール」リストに表示される最大行数を変更するには、Discovererのレジストリ設定MaxNumListRowsの値を編集します(詳細は、第21章「Discovererのレジストリ設定」を参照)。

  3. 「ビジネスエリア」ドロップダウン・リストから、アクセス権を付与するビジネスエリアを選択します。

  4. 「ユーザー」チェック・ボックスおよび「ロール」チェック・ボックスを必要に応じて選択し、「選択可能なユーザー/ロール」リストの内容を指定します。

  5. 選択したビジネスエリアへのアクセス権を付与するユーザーまたはロールを、「選択可能なユーザー/ロール」リストから「選択済ユーザー/ロール」リストに移動します。

    [Ctrl]キーを押しながら別のユーザーまたはロールをクリックすると、複数のユーザーまたはロールを選択できます。

  6. 「選択済ユーザー/ロール」リストに追加する各新規ユーザーまたは新規ロールについて、次の指示に従ってビジネスエリアへの管理アクセス権を持つかどうかを指定します。

    1. 「選択済ユーザー/ロール」リストのユーザーまたはロールをクリックします。

    2. 必要に応じて、「管理を許可する」チェック・ボックスを選択または選択解除します。

    ユーザーに対する「管理を許可する」権限の設定によって、ユーザーが実行できる管理作業が制御されます。詳細は、「ユーザーまたはロール(職責)が実行できる作業の指定方法」を参照してください。

  7. 「OK」をクリックして変更内容を保存し、「セキュリティ」ダイアログを閉じます。

注意

7.6 ユーザーまたはロール(職責)がアクセスできるビジネスエリアの指定方法

注意: Oracle Applicationsデータベース・ユーザーの接続時には、Discoverer Administratorではロールではなく職責が表示されます。

ユーザーまたはロールがアクセスできるビジネスエリアを指定する手順は、次のとおりです。

  1. 「ツール」→「セキュリティ」を選択して、「セキュリティ」ダイアログの「ユーザー -> ビジネスエリア」タブを表示します。

    図7-3 「セキュリティ」ダイアログの「ユーザー -> ビジネスエリア」タブ

    図7-3の説明は前後にあります。
  2. 「選択」をクリックすると、「ユーザー/ロールの選択」ダイアログが表示されます。このダイアログで、アクセス権を付与するデータベース・ユーザーまたはロールを検索して選択できます。

    図7-4 「ユーザー/ロールの選択」ダイアログ

    図7-4の説明は前後にあります。
  3. 「検索文字列」フィールドに検索基準を入力し、「実行」をクリックします。

    「結果」リストに検索結果が表示されます。

  4. 「結果」リストからユーザーまたはロールを選択します。

  5. 「OK」をクリックすると、「セキュリティ」ダイアログの「ユーザー -> ビジネスエリア」タブに、選択したユーザーまたはロールのビジネスエリアが表示されます。

    図7-5 「セキュリティ」ダイアログの「ユーザー -> ビジネスエリア」タブ

    図7-5の説明は前後にあります。
  6. 選択したユーザーまたはロールがアクセス権を持つビジネスエリアを、「選択可能なビジネスエリア」リストから「選択済ビジネスエリア」リストに移動します。

    [Ctrl]キーを押しながら別のビジネスエリアをクリックすると、複数のビジネスエリアを選択できます。

  7. 「選択済ビジネスエリア」リストに追加する各新規ビジネスエリアについて、次の指示に従って選択したユーザーまたはロールがビジネスエリアへの管理アクセス権を持つかどうかを指定します。

    1. 「選択済ビジネスエリア」リストのビジネスエリアをクリックします。

    2. 必要に応じて、「管理を許可する」チェック・ボックスを選択または選択解除します。

    ユーザーに対する「管理を許可する」権限の設定によって、ユーザーが実行できる管理作業が制御されます。詳細は、「ユーザーまたはロール(職責)が実行できる作業の指定方法」を参照してください。

  8. 「OK」をクリックして変更内容を保存し、「セキュリティ」ダイアログを閉じます。

注意

7.7 ユーザーまたはロール(職責)が実行できる作業の指定方法

注意: Oracle Applicationsデータベース・ユーザーの接続時には、Discoverer Administratorではロールではなく職責が表示されます。

ユーザーまたはロールが実行できる作業を指定する手順は、次のとおりです。

  1. 「ツール」→「権限」を選択すると、「権限」ダイアログの「権限」タブが表示されます。

    図7-6 「権限」ダイアログの「権限」タブ

    図7-6の説明は前後にあります。
  2. 「選択」をクリックすると、「ユーザー/ロールの選択」ダイアログが表示されます。このダイアログで、作業権限を変更するユーザーまたはロールを検索して選択できます。

    図7-7 「ユーザー/ロールの選択」ダイアログ

    図7-7の説明は前後にあります。
  3. 「検索文字列」フィールドに検索基準を入力し、「実行」をクリックします。

    「結果」リストに検索結果が表示されます。

  4. 「結果」リストからユーザーまたはロールを選択します。

  5. 「OK」をクリックすると、選択したユーザーまたはロールについて、「権限」ダイアログの「権限」タブが表示されます。

    図7-8 「権限」ダイアログの「権限」タブ

    図7-8の説明は前後にあります。
  6. 「管理権限」リストまたは「DesktopとPlus権限」リストの適切なチェック・ボックスを選択または選択解除して、ユーザーまたはロールに対する特定の作業権限を付与または取り消します。

    注意: 権限を付与するには、「管理権限」チェック・ボックスまたは「DesktopとPlus権限」チェック・ボックスを使用して、最初に親権限を付与する必要があります。Discoverer DesktopまたはDiscoverer Plusへのユーザーのアクセス権が職責経由の場合に「DesktopとPlus」チェック・ボックスを選択解除しても、権限のリストで選択されているチェック・ボックスはすべてアクティブになります(ただしグレー表示)。ユーザーの全体の権限は、職責とユーザー権限の組合せによって決定されます。

    ヒント: 「管理権限」リストまたは「DesktopとPlus権限」リストの権限をクリックすると、その権限の簡単な説明がリストの下に表示されます。

    注意: DesktopとPlus権限は、Discoverer Viewerにも適用されます。

  7. 「Oracleシステム・プロファイルの選択」ドロップダウン・リストから、ユーザーまたはロールに適用するOracleシステム・プロファイルを選択します。

    Oracleシステム・プロファイルは、データベース管理者がデータベース・リソースへのアクセスを制御するために作成します。

    注意: Discoverer Administrator内でOracleシステム・プロファイルを割り当てるには、次のデータベース・ビューに対するアクセス権が必要です。

    • DBA_PROFILES

    • DBA_USERS

  8. 「OK」をクリックして変更内容を保存し、「権限」ダイアログを閉じます。

注意

7.8 特定の作業を実行するユーザーまたはロール(職責)の指定方法

注意: Oracle Applicationsデータベース・ユーザーの接続時には、Discoverer Administratorではロールではなく職責が表示されます。

特定の作業を実行できるユーザーまたはロールを指定する手順は、次のとおりです。

  1. 「ツール」→「権限」を選択すると、「権限」ダイアログの「ユーザー/ロール」タブが表示されます。

    最初に、次の警告ダイアログが表示されます。

    図7-9 警告ダイアログ

    図7-9の説明は前後にあります。
  2. 「はい」をクリックすると、「権限」ダイアログの「ユーザー/ロール」タブが表示されます。

    図7-10 「権限」ダイアログの「ユーザー/ロール」タブ

    図7-10の説明は前後にあります。

    注意: ユーザーとロールのリストに表示される最大行数を変更するには、Discovererのレジストリ設定MaxNumListRowsの値を編集します(詳細は、第21章「Discovererのレジストリ設定」を参照)。

  3. ドロップダウン・リストから、ユーザーまたはロールに対して付与する(あるいは取り消す)作業権限を選択します。

    ドロップダウン・リストから権限を選択すると、その権限の簡単な説明がダイアログの下部に表示されます。

  4. 「ユーザー」チェック・ボックスと「ロール」チェック・ボックスを必要に応じて選択し、ユーザーとロールのリストの内容を指定します。

    ユーザーとロールのリストの内容は、アルファベット順にソートされます。ユーザーとロールが両方含まれる場合は、ユーザーが最初に表示されます。

  5. ユーザーとロールのリストの適切なチェック・ボックスを選択または選択解除して、現在選択されている作業の権限を付与または取り消します。

  6. 「OK」をクリックして変更内容を保存し、「権限」ダイアログを閉じます。

注意

7.9 クエリー取出し制限の設定方法

ユーザーおよびロールにクエリー制限を設定すると、全体的なシステム・パフォーマンスをメンテナンスできます。

注意: Oracle Applicationsデータベース・ユーザーの接続時には、Discoverer Administratorではロールではなく職責が表示されます。

ユーザーまたはロールにクエリー取出し制限を設定する手順は、次のとおりです。

  1. 「ツール」→「権限」を選択すると、「権限」ダイアログの「クエリー管理」タブが表示されます。

    図7-11 「権限」ダイアログの「クエリー管理」タブ

    図7-11の説明は前後にあります。
  2. 「選択」をクリックすると、「ユーザー/ロールの選択」ダイアログが表示されます。このダイアログで、クエリー制限を指定するユーザーまたはロールを検索して選択できます。

    図7-12 「ユーザー/ロールの選択」ダイアログ

    図7-12の説明は前後にあります。
  3. 「検索文字列」フィールドに検索基準を入力し、「実行」をクリックします。

    「結果」リストに検索結果が表示されます。

  4. 「結果」リストからユーザーまたはロールを選択します。

  5. 「OK」をクリックすると、選択したユーザーまたはロールについて、「権限」ダイアログの「クエリー管理」タブが表示されます。

  6. 必要に応じて、次の「クエリー管理」オプションを指定します。

    オプション 用途
    設定時間を超えると予測される問合せを警告 クエリーの実行に予測される時間が、指定した上限を超える場合に警告を発行します。
    設定時間でクエリーを中断 指定した上限を超えたクエリーを停止します。
    取出し可能件数の上限を設定 クエリーで取り出せる行数を指定した上限に制限します。

  7. 「OK」をクリックして変更内容を保存し、「権限」ダイアログを閉じます。

注意

7.10 スケジュール・ワークブック制限の設定方法

スケジュール・ワークブックの制限を設定すると、Discovererエンド・ユーザーによるスケジュール・ワークブックの使用方法を制御できます。

ユーザーまたはロールにスケジュール・ワークブックの制限を設定する手順は、次のとおりです。

  1. 「ツール」→「権限」を選択すると、「権限」ダイアログの「スケジュール・ワークブック」タブが表示されます。

    図7-13 「権限」ダイアログの「スケジュール・ワークブック」タブ

    図7-13の説明は前後にあります。
  2. 「選択」をクリックすると、「ユーザー/ロールの選択」ダイアログが表示されます。このダイアログで、スケジュール・ワークブック制限を指定するユーザーまたはロールを検索して選択できます。

    図7-14 「ユーザー/ロールの選択」ダイアログ

    図7-14の説明は前後にあります。
  3. 「検索文字列」フィールドに検索基準を入力し、「実行」をクリックします。

    「結果」リストに検索結果が表示されます。

  4. 「結果」リストからユーザーまたはロールを選択します。

  5. 「OK」をクリックすると、選択したユーザーまたはロールについて、「権限」ダイアログの「スケジュール・ワークブック」タブが表示されます。

  6. データベースに作成される結果テーブル(スケジュール・ワークブックの結果を含むテーブル)を所有するユーザーを選択します。

    スケジュール・ワークブックの結果は、データベース・テーブルに格納されます。これらのテーブルは、スケジュール・ワークブックを実行したユーザーとは異なるユーザーに所属させることができます。


    注意:

    Oracle Applicationsユーザーは、スケジュール・ワークブックの結果の保存先であるスケジュール・ワークブック結果スキーマとして(batchuser_app.sqlスクリプトを使用して作成した) Oracle Applicationsユーザーを使用する必要があります。

    あるいは、Oracle Applicationsユーザーは、Oracle Applications APPSスキーマを使用できます。


  7. ユーザーがワークブックのスケジュールを行う時期を指定します。

  8. 必要に応じて、スケジュール・ワークブックのオプションを設定します。

  9. 「OK」をクリックして変更内容を保存し、「権限」ダイアログを閉じます。

注意: 単一データベース・ユーザーが、すべてのユーザーのスケジュール・ワークブックの結果を含むテーブルを所有するように指定できます(これには、スケジュール・ワークブックを実行する追加権限が個々のユーザーに必要ない、という利点があります)。あるいは、スケジュール・ワークブック結果スキーマが、各ユーザーのスケジュール・ワークブックの結果を含むテーブルを所有するように指定できます(割当て領域が共有されないため、単一データベース・ユーザーがテーブルを所有する場合よりも領域が消費される可能性が低くなる、という利点があります)。詳細は、「スケジュール・ワークブックの結果の格納場所」を参照してください。

7.11 データベース・ロールを使用したDiscovererワークブックの共有方法

データベース・ロールを使用して、DiscovererワークブックをEnd User Layer (EUL)内で共有できます。たとえば、管理者のデータベース・ロールを付与されているデータベース・ユーザーのみが特定のDiscovererワークブックにアクセスできるようにします。特定のDiscovererワークブックを使用できるデータベース・ユーザーを決定するには、次の手順でデータベース・ユーザーをデータベース・ロールに関連付けて、このデータベース・ロールを使用してDiscovererワークブックを共有します。

データベース・ロールを付与された各データベース・ユーザーは、このデータベース・ロールを使用して共有ワークブックにアクセスできます。

データベース・ロールを使用してワークブックを共有する手順は、次のとおりです。

  1. SQL*Plusを起動し(まだ実行されていない場合)、EUL所有者として接続します。

    SQL*Plusがすでに実行されている場合は、コマンド・プロンプトで次のように入力します。

    SQL> connect jchan/tiger@database;
    

    jchanはEUL所有者、tigerはEUL所有者のパスワードです。

  2. データベース・ロールをEUL所有者として作成します。

    たとえばSQL*Plusでは、次のようなSQL文を入力します。

    SQL> create role role1;
    

    この文により、role1という名前のデータベース・ロールが作成されます。

  3. 作成したデータベース・ロールに対し、適切なデータベース・テーブルでのSELECT権限を付与します。

    たとえばSQL*Plusでは、次のようなSQL文を入力します。

    SQL> grant select on product to role1;
    SQL> grant select on store to role1;
    SQL> grant select on sales_fact to role1;
    

    この文により、データベース・ロールrole1に対してproductテーブル、storeテーブルおよびsales_factテーブルでの選択権限が付与されます。

    注意: 選択権限は、Discovererワークブックで使用されるアイテムが参照するすべてのテーブルのロールに対して付与する必要があります。

  4. 作成したロールを、Discovererワークブックを共有する各データベース・ユーザーに付与します。

    たとえばSQL*Plusでは、次のようなSQL文を入力します。

    SQL> grant role1 to jchen;
    

    この文により、データベース・ロールrole1がデータベース・ユーザーjchenに付与されます。

    残りの作業手順は、Discoverer PlusまたはDiscoverer Desktopを使用して実行する必要があります。

    詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Discoverer Plusユーザーズ・ガイド』を参照してください。

  5. Discoverer PlusまたはDiscoverer DesktopでEUL所有者として接続し、「ファイル」→「ワークブックの管理」→「共有」を選択すると、「ワークブックの共有」ダイアログが表示されます。

  6. 作成しておいたデータベース・ロールを選択します(例ではrole1)。

  7. データベース・ロールrole1を使用して共有するワークブックを、「選択可能」フィールドから「共有」フィールドに移動します。

  8. 「OK」をクリックしてダイアログを閉じ、変更内容を保存します。

これでデータベース・ロールを付与されたデータベース・ユーザーは、そのデータベース・ロールを使用して共有されている任意のDiscovererワークブックを使用できます。

7.12 透過的アプリケーション・フェイルオーバー

Discovererは、Oracle Enterprise Editionデータベースの透過的アプリケーション・フェイルオーバーのサポートを提供します。この項の内容は次のとおりです。

7.12.1 透過的アプリケーション・フェイルオーバー

透過的アプリケーション・フェイルオーバーは、Oracle Enterprise Editionデータベース(8.1.7以降)に組み込まれている機能です。データベースに障害が発生すると、透過的アプリケーション・フェイルオーバーにより、障害が発生したデータベース・コンポーネントから代替のバックアップ・コンポーネントに処理が再配置され、データベース障害がマスクされます。

7.12.2 Discovererユーザーに対する透過的アプリケーション・フェイルオーバーの影響

ほとんどのデータベース障害の場合、Discovererユーザーは、透過的アプリケーション・フェイルオーバーによってデータベース処理が再配置されたことに気付きません。いくつかの状況では、エラー・メッセージが表示されます。エラー・メッセージが表示された場合は、中断されたDiscoverer操作をもう一度繰り返す必要があります。

7.12.3 Discovererで透過的アプリケーション・フェイルオーバーのサポートを有効にする方法

Discovererで透過的アプリケーション・フェイルオーバーのサポートを有効にする手順は、次のとおりです。

  1. tnsnames.oraファイル(通常は、<ORACLE_HOME>\network\adminディレクトリにあります)の接続記述子のCONNECT_DATAセクションに、FAILOVER MODEパラメータを追加します。

  2. TYPEサブパラメータの値をSELECTに設定します。

  3. 必要に応じて、FAILOVER_MODEパラメータの他のサブパラメータに値を指定します。

    たとえば、次のようになります。

    MYSERVICENAME=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=HOSTNAME)(PORT = 1521)))
    (CONNECT_DATA=(SERVICE_NAME=MYSERVICENAME)(FAILOVER_MODE=(TYPE=SELECT)(RETRIES=5)))) 
    

    透過的アプリケーション・フェイルオーバーの有効化の詳細は、『Oracle Database Net Services管理者ガイド11gリリース1』の第13章「Oracle Net Servicesの拡張機能を有効にする方法」を参照してください。

7.12.4 Discovererによる透過的アプリケーション・フェイルオーバーのサポートに関する注意

次の点に注意してください。

  • 透過的アプリケーション・フェイルオーバーでは、Discovererワークブックのスケジュール機能とサマリー・フォルダのリフレッシュ機能を提供するPL/SQLパッケージの処理は再配置されません。スケジュール・ワークブックの実行中またはサマリー・フォルダのリフレッシュ中にデータベースで障害が発生すると、それらの操作は失敗となります。

  • 透過的アプリケーション・フェイルオーバーでは、ワークシート内で参照されるユーザー定義PL/SQLファンクションの処理は再配置されません。ユーザーがクエリーを再実行する必要があります。

  • データベース障害が発生した場合、Discoverer Portlet Providerはフェイルオーバー・データベース・インスタンスからEULにアクセスすることによってPortlet Providerのメタデータを取得できます。ただし、Discoverer Portlet Providerでは、ポートレット固有のメタデータを取得できません。ポートレット固有のメタデータが含まれるメタデータ・リポジトリ(MR)スキーマで透過的アプリケーション・フェイルオーバーがサポートされていないからです。

    つまり、メタデータ・リポジトリ・スキーマが含まれるデータベースに障害が発生すると、Oracle RACデータベースが使用されている場合でも、ポートレットは機能しなくなります。