プライマリ・コンテンツに移動
Oracle® Database Vault管理者ガイド
11gリリース2 (11.2)
B56297-10
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

3 Oracle Database Vaultの開始

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

Oracle Database Vaultの登録(有効化)

Oracle Databaseをインストールしたら、Oracle Database Vaultを登録する(つまり、有効にする)必要があります。Oracle Databaseには、デフォルトでDatabase Vaultが付属していますが、使用するには登録する必要があります。登録プロセスの一部として、Database Vault管理者アカウント作成します。登録プロセスで、Database VaultのDVSYSスキーマとDVFスキーマも作成されます。この手順は、単一インスタンスおよびOracle RACインストールの両方に適用されます。Database Vaultがすでに有効かどうかを確認するには、「Oracle Database Vaultが有効か無効かの確認」を参照してください。


注意:

Database Configuration Assistant (DBCA)で生成したスクリプトでOracle Database Vaultを有効にすることはできません。

  1. Oracle Database Vaultを登録するコンピュータでOracle Enterprise Managerデータベース・コンソールが使用可能になっていることを確認します。

    データベース・コンソールのステータスを確認するには、emctl status dbconsoleコマンドを実行します。次に例を示します。

    ./emctl status dbconsole
    
  2. データベース、Database Controlコンソール・プロセスおよびリスナーを停止します。

    • UNIX: SYSOPER権限を持つユーザーSYSとして接続し、データベースを停止します。次に、コマンドラインからDatabase Controlプロセスとリスナーを停止します。

      次に例を示します。

      CONNECT sys as sysoper
      Enter password: password
      
      SQL> SHUTDOWN IMMEDIATE
      SQL> EXIT
      
      $ emctl stop dbconsole
      $ lsnrctl stop [listener_name]
      

      Oracle RACインスタンスの場合は、各データベース・インスタンスを次のように停止します。

      $ srvctl stop database -d db_name
      
    • Windowsの場合: [コントロール パネル] のサービス・ツールからデータベース、Database Controlコンソール・プロセスおよびリスナーを停止します。Oracle Databaseサービスの名前はOracleで始まります。

  3. Oracle Database Vaultを次のように有効にします。

    • UNIXの場合: 次のコマンドを実行します。makeコマンドでは、Oracle Database Vault(dv_on)とOracle Label Security(lbac_on)の両方が有効になります。Database Vaultを使用するには、Oracle Label Securityを有効にする必要があります。

      $ cd $ORACLE_HOME/rdbms/lib
      $ make -f ins_rdbms.mk dv_on lbac_on ioracle
      

      Oracle ExadataストレージにRDSプロトコルを使用する場合は、次のコマンドを使用してDatabase VaultおよびLabel Securityを有効にします。

      $ cd $ORACLE_HOME/rdbms/lib
      $ make –f ins_rdbms.mk dv_on lbac_on ipc_rds ioracle
      
    • Windows: ORACLE_BASE\ORACLE_HOME\binディレクトリで、oradvll.dll.dblファイルの名前をoradvll.dllに変更します。Oracle Label Securityの実行可能ファイルの名前がoralbacll.dllになっている(oralbacll.dll.dblや別のバックアップ名ではない)ことを確認します。Database Vaultを使用するには、Oracle Label Securityを有効にする必要があります。

  4. データベースとリスナーを再起動します。(まだDatabase Controlコンソール・プロセスは再起動しないでください。)

    • UNIXの場合: SYSOPER権限を持つユーザーSYSとしてSQL*Plusにログインし、データベースを再起動します。次に、コマンドラインからリスナーを再起動します。

      次に例を示します。

      sqlplus sys as sysoper
      Enter password: password
      
      SQL> STARTUP
      SQL> EXIT
      
      $ lsnrctl start [listener_name]
      

      Oracle RACインストールの場合は、次のように各データベース・インスタンスを再起動します。

      $ srvctl start database -d db_name
      
    • Windowsの場合: [コントロール パネル] のサービス・ツールからデータベースとリスナーを停止します。Oracle Databaseサービスの名前はOracleで始まります。

  5. Database Configuration Assistantを起動します。

    • UNIX: 端末ウィンドウで次のコマンドを入力します。

      dbca
      

      デフォルトでは、dbca$ORACLE_HOME/binディレクトリ内にあります。

    • Windows: 「スタート」メニューから「すべてのプログラム」をクリックします。次に、「Oracle - ORACLE_HOME」、「Configuration and Migration Tools」「Database Configuration Assistant」をクリックします。

      あるいは、コマンド・プロンプトでDatabase Configuration Assistantを起動することもできます。

      dbca
      

      UNIXの場合と同様に、通常、dbcaORACLE_BASE\ORACLE_HOME\binディレクトリ内にあります。

  6. 「ようこそ」ページで「次へ」をクリックします。

    「操作」ページが表示されます。

  7. 「データベース・オプションの構成」を選択し、「次へ」をクリックします。

    「DATABASE」ページが表示されます。

  8. リストから、Oracle Databaseをインストールしたデータベースを選択し、「次へ」をクリックします。

    「データベース・コンテンツ」ページが表示されます。

  9. 次のアクションのいずれかを実行します。

    • Oracle Label Securityがすでに有効な場合: 「Oracle Database Vault」」オプションを選択し、「次へ」をクリックします。

    • Oracle Label Securityが有効になっていない場合: 「Oracle Label Security」オプションを選択し、「Oracle Database Vault」オプションを選択できるようにします。「Oracle Database Vault」オプションも選択し、「次へ」をクリックします。

    「Oracle Database Vault資格証明」ページが表示されます。

  10. Database Vault所有者アカウントの名前とパスワード(たとえば、DBVOWNER)を指定し、Database Vaultアカウント・マネージャ・アカウントの名前とパスワード(たとえば、DBVACCTMGR)を指定します。

    これらのユーザー・アカウントに、DV_OWNERDV_ACCTMGRなどの、Database Vaultロールの名前を入力しないでください。これらの名前は予約語です。Database Vaultロールの詳細は、「Oracle Database Vaultロール」を参照してください。

    『Oracle Databaseセキュリティ・ガイド』のパスワードのガイドラインに従って、安全なパスワードを入力します。Oracle Database Vaultには追加的なパスワード要件があり、誤ったパスワードを作成しようとすると、これらの要件が表示されます。

  11. 「次へ」をクリックします。

    「接続モード」ページが表示されます。

  12. (このデータベースを作成したときに選択した内容に応じて)「専用サーバー・モード」または「共有サーバー・モード」のいずれかを選択して「終了」をクリックし、確認プロンプトで「OK」をクリックします。

    Database Configuration AssistantによってOracle Database Vaultが登録され、データベース・インスタンスが再起動されます。

  13. Database Configuration Assistantを終了します。

  14. Database Controlコンソールプロセスを再起動します。

    • UNIXの場合: 次のコマンドを実行します。

      $ emctl start dbconsole
      
    • Windowsの場合: [コントロール パネル] のサービス・ツールからDatabase Controlコンソール・プロセス(例: データベースの名前がorclの場合はOracleDBConsoleorcl)を再起動します。

Oracle Database VaultをOracle Databaseに登録後、Oracle Database Vault Administratorを起動できます。詳細は、「Oracle Database Vaultの起動」を参照してください。

Oracle Database Vaultの起動

この項では、Oracle Database Vault Administratorの起動方法について説明します。この項の内容は次のとおりです。

Oracle Enterprise ManagerからのOracle Database VaultページおよびDVAへのアクセス

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

Database ControlからのOracle Database Vaultページへのアクセス

Database Controlから、Oracle Database Vaultページを使用してDatabase Vault対応のデータベースを監視し、Database Vaultレポートを表示できます。

ただし、Database Controlからポリシーを作成したり、他のDatabase Vault Administrator関連アクションを実行することはできません。これらのタスクを実行する場合は、「Oracle Database Vault Administratorの起動」で説明されているDatabase Vault Administratorを使用します。Database Vaultポリシーを他のDatabase Vault対応のデータベースに伝播する場合は、「Grid ControlからのOracle Database Vaultページへのアクセス」を参照してください。

Database ControlからOracle Database Vaultページにアクセスするには、次のようにします。

  1. 必要に応じて、Oracle Database Vaultを登録します。

    Oracle Database Vaultをインストールした直後に、Oracle Database Vaultをデータベースに登録する必要があります。詳細は、「Oracle Database Vaultの登録(有効化)」を参照してください。

  2. Database Controlを起動します。

    次に例を示します。

    https://myserver.example.com:1158/em
    

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  3. 次の情報を使用してDatabase Controlにログインします。

    • ユーザー名: 適切なOracle Database Vaultロールを付与されているユーザーの名前を入力します。

      • Database Vaultポリシーの作成および伝播: DV_OWNERまたはDV_ADMIN

      • Database Vaultアラートおよびレポートの表示: DV_OWNERDV_ADMINまたはDV_SECANALYST

      • ユーザー・アカウントおよびロールの作成および管理: DV_ACCTMGR

      Oracle Database Vaultロールは、Database Controlを使用するための他の追加権限(SELECT ANY DICTIONARYなど)は必要ありません。

      これらのロールの詳細は、「Oracle Database Vaultロールの概要」を参照してください。

    • パスワード: パスワードを入力します。

    • 接続モード: リストから「標準」を選択します。

    • 「優先資格証明として保存」チェック・ボックス: 次回このページが表示されるときに、これらの資格証明が自動入力されているようにするには、このチェック・ボックスを選択します。

  4. ホームページで、「サーバー」をクリックして「サーバー」サブページを表示します。

  5. 「セキュリティ」で「Database Vault」を選択します。

    Oracle Database Vaultホームページが表示されます。

Grid ControlからのOracle Database Vaultページへのアクセス

Grid Controlから、Oracle Database Vaultページを使用してDatabase VaultポリシーをDatabase Vaultで保護されている他のデータベースに伝播し、Database Vaultで保護されているデータベースを集中コンソールから管理および監視し、アラートを自動化し、Database Vaultレポートを表示できます。

ただし、Grid Controlからポリシーを作成したり、他のDatabase Vault Administrator関連アクションを実行することはできません。これらのタスクを実行する場合は、「Oracle Database Vault Administratorの起動」で説明されているDatabase Vault Administratorを使用します。

Grid ControlからOracle Database Vaultページにアクセスするには、次のようにします。

  1. Database Vaultとともに使用するGrid Controlターゲット・データベースが構成されていることを確認してください。

    ターゲット・データベースの構成の詳細は、Oracle Enterprise Managerオンライン・ヘルプおよび『Oracle Enterprise Managerアドバンスト構成』を参照してください。

  2. 必要に応じて、Oracle Database Vaultを登録します。

    Oracle Database Vaultをインストールした直後に、Oracle Database Vaultをデータベースに登録する必要があります。詳細は、「Oracle Database Vaultの登録(有効化)」を参照してください。

  3. Grid Controlを起動します。

    次に例を示します。

    https://myserver.example.com:1158/em
    

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  4. ユーザーSYSMANでOracle Enterprise Managerにログインし、Normalで接続します。

  5. Oracle Enterprise Manager Databaseホームページ(Databaseホームページ)で「ターゲット」サブページを選択します。

  6. 「データベース」サブページを選択します。

  7. 「データベース」ページで、接続先のOracle Database Vaultで保護されているデータベースのリンクを選択します。

    データベース・インスタンスのホームページが表示されます。

  8. ホームページで、「サーバー」をクリックして「サーバー」サブページを表示します。

  9. 「セキュリティ」で「Database Vault」を選択します。

    「データベース・ログイン」ページが表示されます。

  10. 次の情報を入力します。

    • ユーザー名: 適切なOracle Database Vaultロールを付与されているユーザーの名前を入力します。

      • Database Vaultポリシーの作成および伝播: DV_OWNERまたはDV_ADMIN

      • Database Vaultアラートおよびレポートの表示: DV_OWNERDV_ADMINまたはDV_SECANALYST

      • ユーザー・アカウントおよびロールの作成および管理: DV_ACCTMGR

      Oracle Database Vaultロールは、Grid Controlを使用するための他の追加権限(SELECT ANY DICTIONARYなど)は必要ありません。

      詳細は、「Oracle Database Vaultロールの概要」を参照してください。

    • パスワード: パスワードを入力します。

    • 接続モード: リストから「標準」を選択します。

    • 「優先資格証明として保存」チェック・ボックス: 次回このページが表示されるときに、これらの資格証明が自動入力されているようにするには、このチェック・ボックスを選択します。

  11. 「ログイン」ボタンをクリックします。

    Database Vaultホームページが表示されます。

Database ControlからのDatabase Vault Administratorへのアクセス

Database Vault AdministratorへはOracle Enterprise Manager Database Controlからアクセスできます。

手順1: DV_OWNERユーザーへの適切な権限の付与

  1. Database Controlを起動します。

    次に例を示します。

    https://myserver.example.com:1158/em
    

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. ユーザーSYSMANまたはSYSTEMとしてDatabase Controlにログインします。

    データベースのホームページが表示されます。

  3. ウィンドウの右上で、「設定」ボタンをクリックします。

  4. 「管理者」リンクを選択します。

  5. 「管理者」ウィンドウで、「作成」ボタンをクリックします。

  6. 「管理者の作成」ウィンドウで、次の手順を実行します。

    • ユーザー名: DV_OWNERロールを付与されているユーザーの名前を入力します。ユーザーに付与されているロールを検索するには、USER_ROLE_PRIVSデータ・ディクショナリ・ビューを問い合せることができます。

    • 電子メール・アドレス: オプションで、このユーザーの電子メール・アドレスを入力します(必須ではありません)。

    • 管理権限: 「すべてのターゲットの表示」を選択します。

    • SELECT_CATALOG_ROLEの付与: このチェック・ボックスの選択を解除します。

  7. 「確認」をクリックします。

  8. 「終了」をクリックします。

手順2: Database ControlからDatabase Vault Administratorへのアクセス(DV_OWNERユーザーとして)

  1. 必要に応じて、Oracle Database Vaultを登録します。

    Oracle Database Vaultをインストールした直後に、Oracle Database Vaultをデータベースに登録する必要があります。詳細は、「Oracle Database Vaultの登録(有効化)」を参照してください。

  2. 「手順1: DV_OWNERユーザーへの適切な権限の付与」で構成したDV_OWNERユーザーとして、Database Controlにログインします。

    次のメッセージが表示されます。

    You have been logged in to a Database with Database Vault installed on it. As Database Vault enforces separation of duty you may not be able to use all the areas in EM. Please click the link below which will forward you to the area which you have access to. 
    
  3. 「Database Vault」リンクをクリックします。

    Database Vaultホームページが表示されます。

  4. 「管理」タブをクリックします。

  5. 管理オプション(「レルム」など)を選択します。

  6. Database Vault AdministratorへのURLの入力を求められたら、次の構文で入力します。

    https://host_name:port/dva
    
    • host_name: Oracle Database Vaultをインストールしたサーバーおよびドメインです。

    • port: Oracle Enterprise ManagerコンソールのHTTPSポートの番号です。

    次に例を示します。

    https://myserver:1158/dva
    

    ポート番号が不明な場合は、$ORACLE_HOME/host_sid/sysman/config/emd.propertiesファイルを開いてREPOSITORY_URLを検索します。ほとんどの場合、ホスト名およびポート番号はOracle Enterprise Database Controlと同じです。

  7. 「保存」をクリックします。

    次回Database Vaultポリシー・オプションを選択するときに、Database Vault Administratorが起動します。

Oracle Database Vault Administratorの起動

Oracle Enterprise Manager Database ControlまたはGrid Controlを使用していない場合、あるいは別のコンピュータからOracle Database Vaultに接続する場合は、次の手順に従ってOracle Database Vault Administratorを起動します。

  1. 必要に応じて、Oracle Database Vaultを登録します。

    Oracle Database Vaultをインストールした直後に、Oracle Database Vaultをデータベースに登録する必要があります。詳細は、「Oracle Database Vaultの登録(有効化)」を参照してください。

  2. ブラウザに、次のURLを入力します。

    https://host_name:port/dva
    

    ここでは、次のようになります。

    • host_name: Oracle Database Vaultをインストールしたサーバーです。

    • port: Oracle Enterprise ManagerコンソールのHTTPSポートの番号です。

    次に例を示します。

    https://myserver:1158/dva
    

    ポート番号が不明な場合は、$ORACLE_HOME/host_sid/sysman/config/emd.propertiesファイルを開いてREPOSITORY_URLを検索します。ほとんどの場合、ホスト名およびポート番号はOracle Enterprise Database Controlと同じです。

    Oracle Database Vault Administratorを起動できない場合は、Oracleデータベース・コンソールのプロセスが稼働していることを確認します。

    • UNIXの場合: $ORACLE_HOME/binディレクトリに移動して次のコマンドを実行します。

      ./emctl status dbconsole
      

      dbconsoleプロセスを起動する必要がある場合は、次のコマンドを実行してください。

      ./emctl start dbconsole
      
    • Windows: 「管理ツール」で「サービス」ユーティリティを選択した後、「OracleDBConsolesid」サービスを右クリックします。必要に応じて、メニューから「開始」を選択し、データベース・コンソールを起動します。

    データベースのログ・ファイルは次のディレクトリにあります。

    $ORACLE_HOME/sysman/log
    
  3. インストール中に作成したOracle Database Vault所有者アカウントを使用してログインします。

    ログインするには、完全な接続文字列を入力する必要があります。これにより、Oracle Database Vaultで複数のOracle Databaseインスタンスを管理できます。

    デフォルトでは、SYSSYSTEMまたはその他の管理アカウントを使用してOracle Database Vault Administratorにログインすることはできません。DV_ADMINまたはDV_OWNERロールがある場合はログインできます。

    次の値を入力します。

    • ユーザー名: 適切なOracle Database Vaultロールを付与されているユーザーの名前を入力します。

      • Database Vaultポリシーの作成および管理: DV_OWNERまたはDV_ADMIN

      • Database Vaultレポートの表示: DV_OWNERDV_ADMINまたはDV_SECANALYST

      • ユーザー・アカウントおよびロールの作成および管理: DV_ACCTMGR

      詳細は、「Oracle Database Vaultロールの概要」を参照してください。

    • パスワード: パスワードを入力します。

    • ホスト: 目的のOracle Database Vaultインストールのコンピュータのホスト名を入力します。次の書式を使用します。

      server.domain
      

      次に例を示します。

      myserver-pc.us.example.com
      
    • ポート: Oracle Databaseのポート番号を入力します。デフォルトのポート番号は1521です。ポート番号が不明な場合は、tnsnames.oraファイルをチェックしてください。

      次に例を示します。

      1521
      
    • SID/サービス: 「SID」または「サービス」を選択します。これらの値は、tnsnames.oraファイルで確認できます。デフォルトでは、このファイルは$ORACLE_HOME/network/adminにあります。

      • SID: Oracle Databaseインスタンスの名前を入力します。次に例を示します。

        orcl
        
      • サービス: データベース・インスタンスのサービス名を次の書式で入力します。

        service_name.domain
        

        次に例を示します。

        orcl.us.example.com
        

図3-1は、ログインすると表示されるOracle Database Vault Administratorのホームページを示しています。

図3-1 Oracle Database Vault Administratorのホームページ

図3-1の説明が続きます
「図3-1 Oracle Database Vault Administratorのホームページ」の説明

クイック・スタート・チュートリアル: DBAアクセスからのスキーマの保護

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

このチュートリアルの概要

このチュートリアルでは、HRサンプル・データベース・スキーマ用の簡単なセキュリティ構成を作成します。HRスキーマのEMPLOYEES表には、管理権限を使用したアクセスも含め、企業内のほとんどの社員に公開しない給与などの情報が含まれています。これを実現するには、HRスキーマをデータベース内の保護ゾーン(Oracle Database Vaultではレルムと呼ぶ)のセキュア・オブジェクトに追加します。そして、このレルムに制限付きの認可を付与します。その後、レルムをテストして適切に保護されていることを確認します。最後に、レポートを実行し、レルムをテストする際に試行するような疑わしいアクティビティの監査証跡をOracle Database Vaultがどのように作成するかを確認します。

このチュートリアルを使用する前に、HRサンプル・スキーマがインストールされていることを確認してください。サンプル・スキーマのインストールに関する情報は、『Oracle Databaseサンプル・スキーマ』を参照してください。

手順1: データ・ディクショナリ・レルムへのSYSTEMユーザーの追加

このチュートリアルでは、SYSTEMユーザーは、新しいユーザー・アカウントSEBASTIANANY権限を付与します。これを実行するには、SYSTEMをOracleデータ・ディクショナリ・レルムに含める必要があります。

SYSTEMをOracleデータ・ディクショナリ・レルムに含めるには、次のようにします。

  1. DV_OWNERまたはDV_ADMINロールを付与されているユーザーとしてOracle Database Vault Administratorにログインします。

    ログイン方法は、「Oracle Database Vaultの起動」で説明されています。

  2. 「管理」ページの「Database Vault機能管理」で、「レルム」をクリックします。

  3. 「レルム」ページで、リストから「Oracleデータ・ディクショナリ」を選択し、「編集」をクリックします。

  4. 「レルムの編集: Oracleデータ・ディクショナリ」ページの「レルム認可」で、「作成」をクリックします。

  5. 「レルム認可の作成」ページで、「権限受領者」リストからSYSTEM [USER]を選択します。

  6. 「認可タイプ」に、「所有者」を選択します。

  7. 「認可ルール・セット」を「<未選択>」のままにします。

  8. 「OK」をクリックします。

    「レルムの編集: Oracleデータ・ディクショナリ」ページの「レルム認可」に、SYSTEMが所有者として表示されます。

  9. 「OK」をクリックして「レルム」ページに戻ります。

  10. 「管理」ページに戻るには、「レルム」のデータベース・インスタンスinstance_nameリンクをクリックします。

手順2: SYSTEMとしてログインしHRスキーマにアクセスする

ユーザーSYSTEMとしてSQL*Plusにログインし、HRスキーマにアクセスします。

sqlplus system
Enter password: password

SELECT FIRST_NAME, LAST_NAME, SALARY FROM HR.EMPLOYEES WHERE ROWNUM < 10;

次のような出力が表示されます。

FIRST_NAME           LAST_NAME                     SALARY
-------------------- ------------------------- ----------
Donald               OConnell                        2600
Douglas              Grant                           2600
Jennifer             Whalen                          4400
Michael              Hartstein                      13000
Pat                  Fay                             6000
Susan                Mavris                          6500
Hermann              Baer                           10000
Shelley              Higgins                        12000
William              Gietz                           8300
 
9 rows selected.

HRスキーマがロックされて無効になっている場合、DV_ACCTMGRユーザーとしてSQL*Plusにログインし、ロックを解除してアカウントを有効にします。次に例を示します。

sqlplus amalcolm_dvacctmgr
Enter password: password

ALTER USER HR ACCOUNT UNLOCK IDENTIFIED BY password

passwordをセキュアなパスワードに置き換えます。パスワードを作成するための最小限の要件は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

この例からわかるように、SYSTEMにはHRスキーマのEMPLOYEES表の給与情報へのアクセス権があります。SYSTEMには、SELECT ANY TABLEシステム権限を含むDBAロールが自動的に付与されるためです。

手順3: レルムの作成

レルムでは、1つ以上のスキーマ、個々のスキーマ・オブジェクトおよびデータベース・ロールを保護できます。レルムを作成したら、レルム内のスキーマやスキーマ・オブジェクトに適用するセキュリティ制限を作成します。まず、HRスキーマにレルムを作成します。

  1. Oracle Database Vault Administratorの「レルム」ページで、「作成」をクリックします。

  2. 「レルムの作成」ページの「一般」で、「名前」HR Realmと入力します。

  3. 「ステータス」に「有効」が選択されていて、そのレルムが使用可能になっていることを確認します。

  4. 「監査オプション」で、「失敗時に監査」が選択されていて、後から監査証跡を作成できることを確認します。

  5. 「OK」をクリックします。

    レルムのリストにHR Realmが表示された状態でレルムのサマリー・ページが表示されます。

手順4: HRスキーマのEMPLOYEES表の保護

この手順では、HRスキーマのEMPLOYEES表をHRレルムのセキュア・オブジェクトに追加します。

  1. 「レルム」ページで、リストからHR Realmを選択し、「編集」をクリックします。

  2. 「レルムの編集: HR Realm」ページで、「レルム・セキュア・オブジェクト」までスクロールし、「作成」をクリックします。

  3. 「レルム・セキュア・オブジェクトの作成」ページで、次の設定を入力します。

    • オブジェクト所有者: リストからHRを選択します。

    • オブジェクト・タイプ: リストからTABLEを選択します。

    • オブジェクト名: EMPLOYEESと入力します。

  4. 「OK」をクリックします。

  5. 「レルムの編集: HR Realm」ページで「OK」をクリックします。

手順5: レルムの認可の作成

この時点では、レルムが保護するデータベース・オブジェクトにアクセスする、またはそれらを操作するデータベース・アカウントもロールもありません。そのため、この手順でデータベース・アカウントまたはデータベース・ロールを認可し、レルム内のスキーマにアクセスできるようにします。SEBASTIANユーザー・アカウントを作成します。レルムに対してこのユーザーを認可すると、SEBASTIANによるEMPLOYEES表の表示や変更が可能になります。

  1. DV_ACCTMGRロールを持つDatabase Vaultアカウント・マネージャとしてSQL*Plusに接続し、ユーザーSEBASTIANを作成します。

    次に例を示します。

    CONNECT amalcolm_dvacctmgr
    Enter password: password
    
    CREATE USER SEBASTIAN IDENTIFIED BY password;
    

    passwordをセキュアなパスワードに置き換えます。パスワードを作成するための最小限の要件は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  2. SYSTEM権限として接続し、SEBASTIANに次の追加権限を付与します。

    CONNECT SYSTEM
    Enter password: password
    
    GRANT CREATE SESSION, SELECT ANY TABLE TO SEBASTIAN;
    

(「手順6: レルムのテスト」でレルムをテストする際に必要なため、SQL*Plusを終了しないでください。)

この段階では、SEBASTIANSELECT ANY TABLE権限があっても、レルムによって保護されているためHR.EMPLOYEES表から選択できません。

次に示すようにしてユーザーSEBASTIANを認可し、HR Realmへのアクセス権を付与します。

  1. Database Vault Administratorの「レルム」ページで、レルムのリストからHR Realmを選択し、「編集」をクリックします。

  2. 「レルムの編集: HR Realm」ページで、「レルム認可」までスクロールし、「作成」をクリックします。

  3. 「レルム認可の作成」ページの「権限受領者」で、リストからSEBASTIAN[USER]を選択します。

    リストにSEBASTIANが表示されない場合は、ブラウザの「更新」ボタンをクリックします。

    SEBASTIANHRスキーマのEMPLOYEES表にアクセスできる唯一のユーザーになります。

  4. 「認可タイプ」で「参加者」を選択します。

    参加者の認可により、HRレルムのユーザーSEBASTIANは、HRレルムによって保護されるオブジェクトのアクセスの管理、操作および作成が可能になります。この場合、EMPLOYEES表の表示を許可されているのは、HRユーザーおよびSEBASTIANのみです。

  5. このレルムはルール・セットで制御する必要がないため、「認可ルール・セット」で「<未割当て>」を選択します。

  6. 「OK」をクリックします。

手順6: レルムのテスト

レルムをテストするには、HR以外のユーザーとしてEMPLOYEES表へのアクセスを試行します。通常、SYSTEMアカウントにはHRスキーマのすべてのオブジェクトに対するアクセス権がありますが、この場合はOracle Database Vaultを使用してEMPLOYEES表を保護しているため、アクセス権はありません。

SQL*Plusで、SYSTEMとして接続し、EMPLOYEES表の給与情報へのアクセスを再試行します。

sqlplus system
Enter password: password

SELECT FIRST_NAME, LAST_NAME, SALARY FROM HR.EMPLOYEES WHERE ROWNUM <10;

次のような出力結果が表示されます。

Error at line 1:
ORA-01031: insufficient privileges

SYSTEMにはEMPLOYEES表の給与情報へのアクセス権はなくなります。しかし、ユーザーSEBASTIANには、この情報へのアクセス権があります。次のようにします。

CONNECT SEBASTIAN
Enter password: password

SELECT FIRST_NAME, LAST_NAME, SALARY FROM HR.EMPLOYEES WHERE ROWNUM <10;

次のような出力が表示されます。

FIRST_NAME           LAST_NAME                     SALARY
-------------------- ------------------------- ----------
Donald               OConnell                        2600
Douglas              Grant                           2600
Jennifer             Whalen                          4400
Michael              Hartstein                      13000
Pat                  Fay                             6000
Susan                Mavris                          6500
Hermann              Baer                           10000
Shelley              Higgins                        12000
William              Gietz                           8300
 
9 rows selected.

手順7: レポートの実行

HR Realmの失敗時の監査を有効にしたため、「手順6: レルムのテスト」で試みたように、レポートを生成してセキュリティ違反を検出できます。

  1. Oracle Database Vault Administratorのホームページで、「Database Vaultレポート」をクリックします。

    レポートを実行するには、あらかじめDV_OWNERDV_ADMINまたはDV_SECANALYSTロールのあるアカウントを使用してログインしておく必要があります。ユーザーSEBASTIANは、自分のレルムに影響する場合であっても、レポートを実行できないことに注意してください。これらのロールの詳細は、「Oracle Database Vaultロール」で説明しています。現在、Database Vault所有者(DV_OWNER)アカウントとしてログインしている必要があります。

  2. 「Database Vaultレポート」ページで、「Database Vaultの監査レポート」までスクロールし、「レルムの監査」を選択します。

  3. 「レポートの実行」をクリックします。

Oracle Database Vaultにより、違反の種類(この場合は前の項目で入力したSELECT文)、発生した時間と場所、違反を試みたユーザーのログイン・アカウント、および違反の内容などを示すレポートが生成されます。

手順8: このチュートリアルのコンポーネントの削除

  1. データ・ディクショナリ・レルムからSYSTEMアカウントを削除します。

    1. DV_OWNERロールが付与されているデータベース・アカウントを使用してOracle Database Vault Administratorにログインしていることを確認します。

    2. 「管理」ページで、「レルム」を選択します。

    3. レルムのリストから「Oracleデータ・ディクショナリ」を選択して「編集」をクリックします。

    4. 「レルム認可」でSYSTEMを選択します。

    5. 「削除」をクリックして、確認ウィンドウで「はい」をクリックします。

  2. HR Realmを削除します。

    1. 「レルム」ページで、レルムのリストからHR Realmを選択します。

    2. 「削除」をクリックして、確認ウィンドウで「はい」をクリックします。

  3. ユーザーSEBASTIANを削除します。

    SQL*Plusで、Oracle Database Vaultアカウント・マネージャ(たとえばamalcolm_dvacctmgr)としてログインし、次のようにSEBASTIANを削除します。

    sqlplus amalcolm_dvacctmgr
    Enter password: password
    
    DROP USER SEBASTIAN;
    
  4. 必要な場合、HRアカウントをロックし、無効にします。

    ALTER USER HR ACCOUNT LOCK PASSWORD EXPIRE;