日本語PDF

11 Oracle Database Vaultとその他のOracle製品の統合

Oracle Database Vaultは、Oracle Enterprise User Securityなど別のOracle製品と統合できます。

11.1 Oracle Database Vaultとエンタープライズ・ユーザー・セキュリティの統合

Oracle Database Vaultは、Oracle Enterprise User Securityと統合できます。

11.1.1 Oracle Database Vaultとエンタープライズ・ユーザー・セキュリティの統合について

エンタープライズ・ユーザー・セキュリティでは、データベース・ユーザーと認可が1箇所で集中管理されます。

Oracle Identity Managementと組み合せ、Oracle Database Enterprise Editionで使用できます。

通常、Oracle Database VaultをOracle Enterprise User Securityと統合するには、適切なレルムを構成して、保護の対象となるデータベース内のデータを保護します。

必要に応じてOracle Database Vaultレルムを定義した後に、エンタープライズ・ユーザーに対してアクセスを許可または禁止するルール・セットを作成できます。

関連項目:

エンタープライズ・ユーザー・セキュリティの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください

11.1.2 エンタープライズ・ユーザー認可の構成

エンタープライズ・ユーザー認可を構成するには、Oracle Database Vaultルール・セットを作成して、ユーザー・アクセスを制御する必要があります。

  1. ユーザー・アクセスを許可または禁止するルールを作成します。

    「ルール・セットに追加するルールの作成」の説明に従って新しいルールを作成します。「ルールの作成」ページで、次のPL/SQLを「ルール式」フィールドに入力します。

    SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY') = 'user_domain_name'
    

    user_domain_nameをドメインに置き換えます。たとえば、次のようになります。

    SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY') = 'myserver.us.example.com'
    
  2. このルールを新しいルール・セットに追加します。

    新しいルール・セットの作成方法は、それに対する既存のルールの追加方法も含め、「ルール・セットの作成」で説明されています。

  3. このルール・セットを保護対象のデータのレルム認可に追加します。

    レルム認可の作成方法は、「レルム認可について」で説明されています。「認可ルール・セット」リストで、ステップ2で作成したルール・セットを選択します。後で、レルム認可がすべてのユーザーに適用されます。

11.1.3 Oracle Database Vaultアカウントをエンタープライズ・ユーザー・アカウントとして構成

既存のOracle Database Vaultユーザー・アカウントをエンタープライズ・ユーザー・アカウントとして構成できます。

  1. CREATE ROLEシステム権限を付与されているユーザーとして、データベース・インスタンスにログインします。

    たとえば:

    sqlplus system
    Enter password: password
    
  2. マルチテナント環境で、適切なプラガブル・データベース(PDB)に接続します。

    たとえば:

    CONNECT SYSTEM@hrpdb
    Enter password: password
    

    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。

  3. DV_OWNERロールのグローバル・ロールとDV_ACCTMGRロールのグローバル・ロールを作成します。

    たとえば:

    CREATE ROLE g_dv_owner IDENTIFIED GLOBALLY;
    CREATE ROLE g_dv_acctmgr IDENTIFIED GLOBALLY;
    
  4. DV_OWNERロールを付与されたユーザーとして接続します。

    たとえば:

    CONNECT sec_admin_owen -- Or, CONNECT sec_admin_owen@hrpdb
    Enter password: password
    
  5. DV_OWNERロールをグローバルDV_OWNERロールに付与します。
    GRANT DV_OWNER TO g_dv_owner;
    
  6. DV_ACCTMGRロールを付与されているユーザーとして接続します。

    たとえば:

    CONNECT dbv_acctmgr -- Or, CONNECT dbv_acctmgr@hrpdb
    Enter password: password
    
  7. DV_ACCTMGRロールをグローバルDV_ACCTMGRロールに付与します。
    GRANT DV_ACCTMGR TO g_dv_acctmgr;
    
  8. SYSDBA管理権限を持つユーザーSYSとして接続します。
    CONNECT SYS AS SYSDBA -- Or, CONNECT SYS@hrpdb AS SYSDBA
    Enter password: password
    
  9. Database VaultユーザーをOIDにインポートするDV_ACCTMGRユーザーに、一時的にCREATE TABLE権限とSELECT_CATALOG_ROLEロールを付与します。
    GRANT CREATE TABLE, SELECT_CATALOG_ROLE TO dbv_acctmgr;
    
  10. コマンド・ラインで、ユーザー移行ユーティリティ(UMU)を実行してDatabase VaultアカウントをOracle Internet Directory (OID)にインポートします。

    次に例では、Database Vaultアカウントleo_dvownerおよびbea_dvacctmgrをOIDにインポートします。DBADMIN設定にDV_ACCTMGRユーザーが指定されます。

    $ORACLE_HOME/rdbms/bin/umu PHASE=ONE
    DBADMIN=dbv_acctmgr:password
    ENTADMIN=cn=jane_ent_admin,dc=example,dc=com:password
    USERS= LIST
    DBLOCATION=example.com:7777:orcl
    DIRLOCATION=example.com:636
    USERSLIST=leo_dvowner:bea_dvacctmgr
    MAPSCHEMA=PRIVATE
    CONTEXT=CONTEXT="c=Users, c=us"
    KREALM=EXAMPLE.COM
    
    $ORACLE_HOME/rdbms/bin/umu PHASE=TWO
    DBADMIN=dbv_acctmgr:password
    ENTADMIN=cn=jane_ent_admin,dc=example,dc=com:password
    DBLOCATION=example.com:7777:orcl
    DIRLOCATION=example.com:636
    

    デフォルトでは、$ORACLE_HOME/network/log/umu.logファイルにエラーが書き込まれます。

  11. Oracle Internet Directoryセルフ・サービス・コンソール(http://hostname:port/oiddas/)で、グローバルDV_OWNERおよびDV_ACCTMGRロール(g_dv_ownerg_dv_acctmgrなど)をエンタープライズ・ユーザーのDatabase Vaultアカウントに付与します。

    グローバル・ロールからエンタープライズ・ロールを作成し、このロールをユーザーに付与する方法については、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』のエンタープライズ・ユーザーの作成例に関する項を参照してください。

  12. SQL*Plusで、SYSDBA管理権限を持つユーザーSYSとして、CREATE TABLEおよびSELECT_CATALOG_ROLEロールをDV_ACCTMGRユーザーから取り消します。
    REVOKE CREATE TABLE, SELECT_CATALOG_ROLE FROM dbv_acctmgr;

関連項目:

ユーザー移行ユーティリティの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください

11.2 Oracle Database Vaultと透過的データ暗号化の統合

データがデータベースのセキュアな範囲外にある場合のデータ保護を提供するという意味で、透過的データ暗号化はOracle Database Vaultを補完するものです。

透過的データ暗号化を使用して、データベース管理者またはデータベース・セキュリティ管理者は、アプリケーション表の機密情報の列のみを暗号化したり、アプリケーション表領域全体を暗号化したりできます。アプリケーションを変更する必要はありません。

ユーザーが認証チェックと認可チェックを通ると、透過的データ暗号化によりユーザーの情報は自動的に暗号化および復号化されます。このように、アプリケーションを変更しなくても暗号化を実装できます。

透過的データ暗号化ユーザーに適切な権限を付与したら、透過的データ暗号化を通常どおり管理でき、Database Vaultを補完するものとして使用できます。

図11-1に、暗号化されたデータがOracle Database Vaultレルムでどのように処理されるかを示します。

図11-1 暗号化されたデータとOracle Database Vault

図11-1の説明が続く
「図11-1 暗号化されたデータとOracle Database Vault」の説明

関連項目:

透過的データ暗号化の詳細は、『Oracle Database Advanced Securityガイド』を参照してください

11.3 Oracle Virtual Private Databaseへのファクタの追加

Oracle Virtual Private Databaseにはファクタを追加できます。

  1. PL/SQLファンクションまたはPL/SQL式であるVirtual Private Databaseポリシー述語を定義します。
  2. 各ファンクションまたは式に対して、ファクタごとに作成されるPL/SQLファンクションDVF.F$を使用します。

関連項目:

Oracle Databaseセキュリティ・ガイド Oracle Virtual Private Databaseの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください

11.4 Oracle Database VaultとOracle Label Securityの統合

Oracle Database VaultとOracle Label Securityを統合すると、レポートおよびデータ・ディクショナリ・ビューとの統合を確認できます。

11.4.1 Oracle Database VaultとOracle Label Securityの統合方法

Oracle Database VaultとOracle Label Securityの統合により、OLSラベルをDatabase Vaultファクタ・アイデンティティに割当てできます。

Oracle Label Securityでは、データベース表またはPL/SQLプログラムのレコードへのアクセスを制限できます。たとえば、アクセスを特定の管理者に限定する必要があるレコードを含むEMPLOYEE表の、HIGHLY SENSITIVEラベル(Oracle Label Securityラベル)で保護されたデータをMaryは参照できます。もう1つのラベルを、このデータへのよりオープンなアクセスを許可するPUBLICとすることができます。

Oracle Database Vaultでは、データベース・セッションが発生するネットワーク用に、次のアイデンティティを指定してNetworkというファクタを作成できます。

  • Intranet: 従業員が会社のイントラネット内の場所で作業している場合に使用します。

  • Remote: 従業員がVPN接続から在宅で作業している場合に使用します。

次に、両方のアイデンティティに最大のセッション・ラベルを割り当てます。たとえば:

  • IntranetアイデンティティをOracle Label SecurityラベルのHIGHLY SENSITIVEに割り当てます。

  • RemoteアイデンティティをPUBLICラベルに割り当てます。

つまり、MaryがVPN接続を使用して在宅で作業している場合は、PUBLICアイデンティティのもとに保護される、限定された表データにのみアクセスできます。しかし、職場にいる場合は、Intranetアイデンティティを使用しているため、HIGHLY SENSITIVEデータにアクセスできます。「チュートリアル: Oracle Database VaultとOracle Label Securityの統合」に、このような統合を実現する方法の例を示します。

非統合監査環境では、Oracle Label Securityとの統合は、「Label Security統合の監査」レポートを使用して監査できます。Oracle Database Vaultは、監査証跡をDVSYS.AUDIT_TRAIL$表に書き込みます。統合監査が有効な場合、『Oracle Databaseセキュリティ・ガイド』の説明に従い、この情報を取得する監査ポリシーを作成できます。

関連項目:

11.4.2 Oracle Database VaultをOracle Label Securityとともに使用するための要件

Oracle Database VaultとOracle Label Securityを使用する前に、特定の要件を満たす必要があります。

  • Oracle Label Securityは別個にライセンス許可されます。それを使用するためのライセンスを購入済であることを確認してください。

  • Oracle Database Vaultをインストールする前に、Oracle Label Securityのインストールを済ませておく必要があります。

  • Oracle Label Securityのインストール・プロセスでLBACSYSユーザー・アカウントが作成されます。DV_ACCTMGRロールを付与されているユーザーとして、このアカウントをロック解除し、新しいパスワードを付与します。たとえば:

    sqlplus accts_admin_ace -- Or, sqlplus accts_admin_ace@hrpdb for a PDB
    Enter password: password
    
    ALTER USER LBACSYS ACCOUNT UNLOCK IDENTIFIED BY password;

    『Oracle Databaseセキュリティ・ガイド』のガイドラインに従って、安全なパスワードでパスワードを置き換えてください。

  • Oracle Enterprise ManagerでLBACSYSユーザー・アカウントを使用する場合、SYSDBA管理権限を持つユーザーSYSとしてEnterprise Managerにログインし、このユーザーにSELECT ANY DICTIONARYおよびSELECT_CATALOG_ROLEシステム権限を付与します。

  • 適切なOracle Label Securityポリシーが定義されていることを確認してください。詳細は、『Oracle Label Security管理者ガイド』を参照してください。

  • Oracle Label SecurityポリシーをDatabase Vaultポリシーと統合する場合、Oracle Label Securityのポリシー名が24文字未満であることを確認します。ALL_SA_POLICIESデータ・ディクショナリ・ビューのPOLICY_NAME列を問い合せることで、Oracle Label Securityポリシーの名前がチェックできます。

11.4.3 Oracle Label SecurityポリシーでのOracle Database Vaultファクタの使用方法

セキュリティを強化するには、Oracle Database VaultのファクタとOracle Label Securityポリシーを統合します。

11.4.3.1 Oracle Label SecurityポリシーでのOracle Database Vaultファクタの使用

Oracle Database VaultとOracle Label Securityの統合により、データベース・セッションの最大セキュリティ・チェックを制御できます。

Oracle Database Vaultでは、Oracle Label Securityポリシーに関連付けられているOracle Database Vaultファクタのラベルをマージすることによって、データベース・セッションにおける各ラベルの最大許容データをマージして、データベース・セッションの最大セキュリティ・チェックを制御します。

つまり、ラベルは、データベース表の行のアクセス権限に対する識別子として機能します。ポリシーは、表の行へのアクセスを管理するラベル、ルールおよび認可と関連付けられた名前です。

関連項目:

行ラベルおよびポリシーの詳細は、『Oracle Label Security管理者ガイド』を参照してください
11.4.3.2 Oracle Label Securityポリシーと連携するファクタの構成

Oracle Label Securityポリシーの最大許容データ・ラベルに含めるファクタを定義できます。

  1. DV_OWNERまたはDV_ADMINロールおよびSELECT ANY DICTIONARY権限を付与されているユーザーとして、Cloud ControlからOracle Database Vault Administratorにログインします。ログイン方法については、「Oracle Enterprise Cloud ControlからのOracle Database Vaultへのログイン」を参照してください。
  2. ユーザー・アカウントLBACSYSを、Label Securityポリシーが適用されているスキーマを含むレルムの所有者にします。

    これにより、レルム内で保護されているすべてのデータへのアクセス権がLBACSYSアカウントに付与され、データを適切に分類できるようになります。

    LBACSYSアカウントは、Oracle Universal Installerのカスタム・インストール・オプションを使用してOracle Label Security内に作成されます。Oracle Database Vaultとともに使用するOracle Label Securityポリシーを作成するには、LBACSYSを使用予定のレルムの所有者にする必要があります。詳細は、「レルム認可について」を参照してください。

  3. レルムの参加者または所有者として(ラベル・セキュリティ・ポリシーが適用されている)スキーマの所有者を認可します。
  4. 「管理」ページの「Database Vaultコンポーネント」で、「OLS統合」をクリックします。
  5. 「ラベル・セキュリティ・ポリシー統合」ページで、次のようにします。
    • 新しいラベル・セキュリティ・ポリシーをDatabase Vaultに登録するには、「作成」をクリックします。

    • Database Vaultに登録されている既存のラベル・セキュリティ・ポリシーを編集するには、リストでそのポリシーを選択して「編集」をクリックします。

  6. 次の設定を入力します。
    • Label Securityポリシー: リストから使用するOracle Label Securityポリシーを選択します。

    • アルゴリズム: Oracle Label Securityで2つのラベルをマージしている場合、ラベルマージ・アルゴリズムを必要に応じて変更します。ほとんどの場合、「LII - 最小レベル/論理積/論理積」を選択します。この設定は、Oracle Label Security管理者が2つのラベルをマージする際に最も一般的に使用する方法です。この設定により、ラベルが異なる2つのデータ・セットを組み合せる際に必要な結果のラベルをアプリケーションで特定する必要がある場合に、最適な柔軟性が提供されます。これは、データ・ラベルが異なる行で結合を使用して問合せを実行する必要がある場合にも必要です。

      マージ・アルゴリズムの指定にDBMS_MACADMパッケージを使用する場合、使用可能なマージ・アルゴリズムをすべて示すリストについては、表19-2を参照してください。

    • ラベル・セキュリティ・ポリシー・ファクタ: 「使用可能なファクタ」リストの「ラベル・セキュリティ・ポリシー・ファクタ」で、Oracle Label Securityポリシーと関連付けるファクタを選択します。「移動」をクリックして、ファクタを「選択したファクタ」リストに移動します。[Ctrl]キーを押しながら必要な各ファクタをクリックすると、複数のファクタを選択できます。

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

    ポリシーは「ラベル・セキュリティ・ポリシー統合」ページにリストされます。

  8. ラベルのポリシーを使用して、ファクタ・アイデンティティのラベル付けを行います。

    詳細は、「ファクタへのアイデンティティの追加」を参照してください。

ノート:

Oracle Label Securityポリシーをファクタと関連付けない場合、Oracle Database Vaultではポリシーに対するOracle Label Securityのデフォルト動作が維持されます。

11.4.4 チュートリアル: Oracle Database VaultとOracle Label Securityの統合

Oracle Database VaultとOracle Label Securityの統合により、同じ権限を持つ2人の管理ユーザーに異なるレベルのアクセス権を付与できます。

11.4.4.1 このチュートリアルについて

Oracle Database VaultファクタをOracle Label SecurityおよびOracle Virtual Private Database(VPD)とともに使用すると、機密データへのアクセスを制限できます。

このようなデータを制限して、セキュリティ管理者が任意のデータ・セッションに対して定義するファクタの適切な組合せが存在する場合にのみデータベース・セッションに公開されるようにすることができます。

11.4.4.2 ステップ1: このチュートリアル用のユーザーの作成

このチュートリアル用に2つの管理ユーザーを作成する必要があります。

  1. DV_ACCTMGRロールを付与されているユーザーとして、データベース・インスタンスにログインします。

    たとえば:

    sqlplus accts_admin_ace
    Enter password: password

    マルチテナント環境で、適切なプラガブル・データベース(PDB)に接続する必要があります。

    たとえば:

    sqlplus accts_admin_ace@hrpdb
    Enter password: password

    利用可能なPDBを検索するには、DBA_PDBSデータ・ディクショナリ・ビューを問い合せます。現在のPDBを確認するには、show con_nameコマンドを実行します。

  2. 次のローカル・ユーザーを作成します。
    GRANT CREATE SESSION TO mdale IDENTIFIED BY password CONTAINER = CURRENT;
    GRANT CREATE SESSION TO jsmith IDENTIFIED BY password CONTAINER = CURRENT;
    

    『Oracle Databaseセキュリティ・ガイド』のガイドラインに従って、安全なパスワードでパスワードを置き換えてください。

  3. システム権限を付与でき、Oracleシステム権限およびロール管理レルムの所有者認可を付与されているユーザーとして接続し、ユーザーmdaleとユーザーjsmithに管理権限を付与します。
    CONNECT dba_psmith -- Or, CONNECT dba_psmith@hrpdb
    Enter password: password
    
    GRANT DBA TO mdale, jsmith;
    

    この段階で、ユーザーmdaleとユーザーjsmithは、同じ管理権限を持ちます。

11.4.4.3 ステップ2: Oracle Label Securityポリシーの作成

次に、Oracle Label Securityポリシーを作成し、ユーザーに適切な権限を付与します。

  1. SQL*Plusで、Oracle Label Security管理者LBACSYSとして接続します。
    CONNECT LBACSYS -- Or, CONNECT LBACSYS@hrpdb
    Enter password: password

    ユーザーLBACSYSがロックされて無効になっている場合、Database Vaultアカウント・マネージャとして接続し、LBACSYSアカウントのロックを解除して有効にしてから、LBACSYSとして再びログインします。

    たとえば:

    CONNECT accts_admin_ace -- Or, CONNECT bea_dvaccmgr@hrpdb
    Enter password: password
    
    ALTER USER LBACSYS ACCOUNT UNLOCK IDENTIFIED BY password;
    
    CONNECT LBACSYS
    Enter password: password
  2. 新規のOracle Label Securityポリシーを作成します。
    EXEC SA_SYSDBA.CREATE_POLICY('PRIVACY','PRIVACY_COLUMN','NO_CONTROL');
    
  3. PRIVACYポリシーに次のレベルを作成します。
    EXEC SA_COMPONENTS.CREATE_LEVEL('PRIVACY',2000,'S','SENSITIVE');
    EXEC SA_COMPONENTS.CREATE_LEVEL('PRIVACY',1000,'C','CONFIDENTIAL');
    
  4. PII区分を作成します。
    EXEC SA_COMPONENTS.CREATE_COMPARTMENT('PRIVACY',100,'PII','PERS_INFO');
    
  5. ユーザーmdaleとユーザーjsmithに次のラベルを付与します。
    EXEC SA_USER_ADMIN.SET_USER_LABELS('PRIVACY','mdale','S:PII');
    EXEC SA_USER_ADMIN.SET_USER_LABELS('PRIVACY','jsmith','C'); 
    

    ユーザーmdaleは、PII区分を含むより機密性の高いラベル、Sensitiveを付与されます。ユーザーjsmithは、機密性の低いConfidentialラベルを取得します。

11.4.4.4 ステップ3: OLS認可を制御するためのOracle Database Vaultルールの作成

Oracle Label Securityポリシーの作成後、これと連携するDatabase Vaultルールを作成できます。

  1. Database Vault所有者としてSQL*Plusに接続します。

    たとえば:

    CONNECT sec_admin_owen -- Or, CONNECT leo_dvowner@hrpdb
    Enter password: password
    
  2. 次のルール・セットを作成します。
    EXEC DBMS_MACADM.CREATE_RULE_SET('PII Rule Set', 'Protect PII data from privileged users','Y',1,0,2,NULL,NULL,0,NULL);
    
  3. PII Rule Setにルールを作成します。
    EXEC DBMS_MACADM.CREATE_RULE('Check OLS Factor',  'dominates(sa_utl.numeric_label(''PRIVACY''),  char_to_label(''PRIVACY'',''S:PII'')) = ''1''');
    

    この例のように、二重引用符ではなく、必ず一重引用符を使用してください。

  4. Check OLS FactorルールをPII Rule Setに追加します。
    EXEC DBMS_MACADM.ADD_RULE_TO_RULE_SET('PII Rule Set', 'Check OLS Factor');
11.4.4.5 ステップ4: ルール・セットを使用するためのALTER SYSTEMコマンド・ルールの更新

ルール・セットを使用する前に、デフォルト・コマンド・ルールであるALTER SYSTEMコマンド・ルールを更新する必要があります。

  1. Database Vault所有者として、ALTER SYSTEMコマンド・ルールの現行値を確認します。このコマンド・ルールは、Oracle Database Vaultインストール時のデフォルト・コマンド・ルールの1つです。
    SELECT * FROM DBA_DV_COMMAND_RULE WHERE COMMAND = 'ALTER SYSTEM';
    
  2. 後で元の値に戻せるように、これらの設定をノートにとります。

    デフォルトのインストールでは、「ALTER SYSTEM」コマンド・ルールは「システム・パラメータのファイングレイン・コントロールを許可」ルール・セットを使用し、有効になっています。

  3. PIIルール・セットに関連付けられる「ALTER SYSTEM」コマンド・ルールを更新します。
    EXEC DBMS_MACADM.UPDATE_COMMAND_RULE('ALTER SYSTEM', 'PII Rule Set', '%', '%', 'Y');
    

    このコマンドでは、PII Rule SetをALTER SYSTEMコマンド・ルールに追加し、すべてのオブジェクト所有者およびオブジェクト名に適用し、コマンド・ルールを有効にします。

11.4.4.6 ステップ5: 認可のテスト

すべてのコンポーネントの準備ができたら、認可をテストする準備ができます。

  1. ユーザーmdaleとしてSQL*Plusにログインします。
    CONNECT mdale -- Or, CONNECT mdale@hrpdb
    Enter password: password
    
  2. AUDIT_TRAIL初期化パラメータの現行設定を確認します。
    SHOW PARAMETER AUDIT_TRAIL
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ----------------------
    audit_trail                          string      DB
    

    後で元の設定に戻せるように、これらの設定をノートにとります。

  3. ユーザーmdaleとして、ALTER SYSTEM文を使用し、CPU_COUNTパラメータを変更します。
    ALTER SYSTEM SET CPU_COUNT = 4;
    System altered.
    

    ユーザーmdaleはPII区分を含むSensitiveラベルを割り当てられたので、ALTER SYSTEM文を使用して、AUDIT_TRAILシステム・パラメータを変更できます。

  4. CPU_COUNTパラメータを元の値に戻します。

    たとえば:

    ALTER SYSTEM SET CPU_COUNT = 2;
    
  5. ユーザーjsmithとしてログインし、同じALTER SYSTEM文を発行します。
    CONNECT jsmith -- Or, CONNECT jsmith@hrpdb
    Enter password: password
    
    ALTER SYSTEM SET CPU_COUNT = 14;
    

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

    ERROR at line 1:
    ORA-01031: insufficient privileges
    

    ユーザーjsmithはConfidentialラベルしか割り当てられていないので、ALTER SYSTEM文を実行できません。

11.4.4.7 ステップ6: このチュートリアルのコンポーネントの削除

コンポーネントが不要になった場合、このチュートリアルで作成したコンポーネントを削除できます。

  1. Oracle Label Security管理者として接続し、ラベル・ポリシーとそのコンポーネントを削除します。
    CONNECT LBACSYS -- Or, CONNECT LBACSYS@hrpdb
    Enter password: password
    
    EXEC SA_SYSDBA.DROP_POLICY('PRIVACY', TRUE);
    
  2. Oracle Database Vault所有者として接続し、次のコマンドを示した順序で発行し、ALTER SYSTEMコマンド・ルールを以前の設定に戻して、ルール・セットを削除します。

    たとえば:

    CONNECT accts_admin_ace
    Enter password: password
    
    EXEC DBMS_MACADM.UPDATE_COMMAND_RULE('ALTER SYSTEM', 'Allow System Parameters','%', '%', 'Y');
    EXEC DBMS_MACADM.DELETE_RULE_FROM_RULE_SET('PII Rule Set', 'Check OLS Factor');
    EXEC DBMS_MACADM.DELETE_RULE('Check OLS Factor');
    EXEC DBMS_MACADM.DELETE_RULE_SET('PII Rule Set');
    COMMIT;
    
  3. Database Vaultアカウント・マネージャとして接続し、ユーザーmdaleとユーザーjsmithを削除します。
    CONNECT accts_admin_ace -- Or, CONNECT accts_admin_ace@hrpdb
    Enter password: password
    
    DROP USER mdale;
    DROP USER jsmith;

11.4.5 関連するレポートおよびデータ・ディクショナリ・ビュー

Oracle Database Vaultには、Oracle Database VaultとOracle Label Securityの統合に関する情報が示されるレポートおよびデータ・ディクショナリ・ビューが用意されています。

表11-1では、Oracle Database Vaultレポートを示します。これらのレポートの実行方法の詳細は、「Oracle Database Vaultレポート」を参照してください。

表11-1 Oracle Database Vault-Oracle Label Security統合に関連するレポート

レポート 説明

「ファクタ構成の問題」レポート

Oracle Label Securityポリシーが存在しないファクタが表示されます。

「アイデンティティ構成の問題」レポート

無効なラベル・アイデンティティ(このアイデンティティのOracle Label Securityラベルが削除されていて、すでに存在しない)が表示されます。

「セキュリティ・ポリシー除外」レポート

EXEMPT ACCESS POLICYシステム権限が付与されているアカウントおよびロールが表示されます。この権限を持つアカウントは、すべてのVirtual Private Databaseのポリシー・フィルタと、Oracle Virtual Private Databaseを間接的に使用するOracle Label Securityポリシーを無視できます。

表11-2に、Oracle Database Vaultで使用される既存のOracle Label Securityポリシーに関する情報を提供するデータ・ディクショナリ・ビューを示します。

表11-2 Oracle Label Securityに使用されるデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビュー 説明

DBA_DV_MAC_POLICYビュー

定義されているOracle Label Securityポリシーが表示されます。

DBA_DV_MAC_POLICY_FACTORビュー

Oracle Label Securityポリシーに関連付けられているファクタが表示されます。

DBA_DV_POLICY_LABELビュー

各ポリシーのDBA_DV_IDENTITYビューの各ファクタ識別子に対するOracle Label Securityラベルが表示されます。

11.5 Oracle Database VaultとOracle Data Guardの統合

Oracle Database VaultとOracle Data Guardの統合では、まずプライマリ・データベースを構成し、次にスタンバイ・データベースを構成します。

11.5.1 ステップ1: プライマリ・データベースの構成

DGMGRLユーティリティを実行し、Database Vaultを構成して有効化し、次にALTER SYSTEM文を実行して、プライマリ・データベースを構成する必要があります。

  1. LinuxおよびUNIXシステムの場合、Oracle Database Vaultをインストールするノードのデータベースに/etc/oratabエントリがあることを確認します。

  2. Data Guard Brokerを使用している場合は、コマンド・プロンプトから次のように構成を無効化します。

    dgmgrl sys
    Enter password: password
    
    DGMGRL> disable configuration;
    
  3. プライマリ・サーバーでOracle Database Vaultを構成して有効化します。

    Oracle Database Vaultは、デフォルトで、Oracle Databaseの一部としてインストールされます。この登録のステータスは、DBA_DV_STATUSデータ・ディクショナリ・ビューを問い合せることで確認できます。

  4. SYSDBA管理権限を持つユーザーSYSとして、データベース・インスタンスにログインします。

    sqlplus sys as sysdba
    Enter password: password
    
  5. 次のALTER SYSTEM文を実行します。

    ALTER SYSTEM SET AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE; 
    ALTER SYSTEM SET OS_ROLES=FALSE SCOPE=SPFILE; 
    ALTER SYSTEM SET RECYCLEBIN='OFF' SCOPE=SPFILE; 
    ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE' SCOPE=SPFILE;
    ALTER SYSTEM SET SQL92_SECURITY=TRUE SCOPE=SPFILE;
    ALTER SYSTEM SET REMOTE_OS_AUTHENT=FALSE SCOPE=SPFILE; 
    ALTER SYSTEM SET REMOTE_OS_ROLES=FALSE SCOPE=SPFILE;
    
  6. 各データベース・インスタンスでALTER SYSTEM文を実行して、ステップ5に示すとおりにパラメータを設定します。

  7. 各データベース・インスタンスを再起動します。

    CONNECT SYS AS SYSOPER
    Enter password: password
    
    SHUTDOWN IMMEDIATE
    STARTUP

関連トピック

11.5.2 ステップ2: スタンバイ・データベースの構成

スタンバイ・データベースに使用されるデータベース内でスタンバイ・データベース構成を実行できます。

  1. SYSDBA管理権限を持つユーザーSYSとして、データベース・インスタンスにログインします。
    sqlplus sys as sysdba
    Enter password: password
    
  2. マルチテナント環境で、適切なPDBに接続します。

    たとえば:

    CONNECT bea_dvacctmgr@hrpdb
    Enter password: password
    

    使用可能なPDBを見つけるには、show pdbsコマンドを実行します。現在のPDBを確認するには、show con_nameコマンドを実行します。

  3. スタンバイ・データベース・インスタンスをマウントします。
    ALTER DATABASE MOUNT STANDBY DATABASE;
    
  4. 次のALTER SYSTEM文を実行します。
    ALTER SYSTEM SET AUDIT_SYS_OPERATIONS=TRUE SCOPE=SPFILE; 
    ALTER SYSTEM SET OS_ROLES=FALSE SCOPE=SPFILE; 
    ALTER SYSTEM SET RECYCLEBIN='OFF' SCOPE=SPFILE; 
    ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE' SCOPE=SPFILE;
    ALTER SYSTEM SET SQL92_SECURITY=TRUE SCOPE=SPFILE;
    ALTER SYSTEM SET REMOTE_OS_AUTHENT=FALSE SCOPE=SPFILE; 
    ALTER SYSTEM SET REMOTE_OS_ROLES=FALSE SCOPE=SPFILE;
    
  5. データベース・インスタンスを再起動またはマウントします。

    たとえば:

    SHUTDOWN IMMEDIATE
    STARTUP
    
  6. 次のスタンバイ・インスタンスをマウントします。
  7. 管理リカバリを次のように再起動します。
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE; 
    
  8. Data Guard Brokerを使用している場合は、コマンド・ラインから構成を再有効化します。
    dgmgrl sys
    Enter password: password
    
    DGMGRL> enable configuration; 
    

    このコマンドにより、変更内容がプライマリ・データベースのOracle Database Vaultインストールで作成された物理スタンバイ・データベースに適用されます。

  9. 各物理スタンバイ・データベースで、物理スタンバイ・インストール・プロセスを繰り返します。たとえば、物理スタンバイ・データベースが3つある場合は、各スタンバイ・データベースでこれらの手順を実行します。

11.5.3 Oracle Database VaultとOracle Active Data Guardの統合後の監査の動作

Oracle Database VaultをOracle Active Data Guardと統合した後は、監査の構成内容によって、監査レコードがどのように生成されるかが変わります。

読取り専用の問合せ用にActive Data Guardフィジカル・スタンバイ・データベースを使用する場合は、混合モードではなく純粋な統合監査を使用する必要があります。混合モードを使用すると、Oracle Database Vault監査レコードを生成するActive Data Guardフィジカル・スタンバイにおける問合せがブロックされます。Oracle Database Vaultでは、従来のDatabase Vault監査表(DVSYS.AUDIT_TRAILS$)に書き込むことができません。統合監査により、Database Vaultの監査データがOracle Active Data Guardフィジカル・スタンバイ・データベースのオペレーティング・システムのログ・ファイルに確実に書き込まれます。これらのログ・ファイルのデータは統合監査証跡に移動できます。Database Vaultのアクティビティを監査するには、Database Vaultの従来の監査設定が統合監査に適用されないため、統合監査ポリシーを作成する必要があることに注意してください。

11.5.4 Oracle Data Guard環境でのOracle Database Vaultの無効化

Oracle Data Guard環境でOracle Database Vaultを無効にする場合は、まずプライマリ・データベースで、次にスタンバイ・データベースでプロシージャを実行する必要があります。

次の順序で、プライマリ・データベースとスタンバイ・データベースでOracle Database Vaultの無効化を実行します。

  1. プライマリ・データベースでOracle Database Vaultを無効にします。
  2. セカンダリ・データベースでOracle Database Vaultを無効にします。
  3. プライマリ・データベースを再起動します。
  4. 各スタンバイ・データベースを再起動します。

11.6 Oracle Database Configuration Assistantを使用したOracle Internet Directoryの登録

Oracle Database Vault対応データベースでOracle Internet Directoryを使用できます。

ただし、Oracle Database Configuration Assistant (DBCA)を使用して、Oracle Internet Directory (OID)を登録する場合、まずOracle Database Vaultを無効にする必要があります。