B Oracle Database Vaultの無効化および有効化

Oracle Databaseのオプション製品または機能のインストールなどのアクティビティのために、定期的にOracle Database Vaultを無効化してから再有効化する必要があります。

B.1 Oracle Database Vaultを無効にする必要がある場合

アップグレード・タスクを実行する際、または誤った構成を修正する際には、Oracle Database Vaultを無効にする必要があります。

修正タスクが終了したら、Oracle Database Vaultを再度有効にできます。

次の場合に、Oracle Database Vaultを無効にする必要があります。

  • Oracle Databaseのオプションの製品または機能(Oracle Spatialなど)のいずれかを、Database Configuration Assistant (DBCA)を使用してインストールする必要がある場合。

  • Oracle Database Vaultの構成時および有効化時にDV_OWNERおよびDV_ACCTMGRのバックアップ・アカウントを構成しておらず、これらのアカウントが不注意でロックされたか、それらのパスワードを忘れた場合。なお、使用サイトにDV_OWNERユーザーが1人しかおらず、このユーザーが自身のパスワードを忘れた場合、担当者はOracle Database Vaultを無効にできません。ただし、サイトで唯一のDV_ACCTMGRユーザーがパスワードを失くした場合は、Database Vaultを無効にできます。ベスト・プラクティスとして、DV_OWNERロールとDV_ACCTMGRロールを、新しいまたは既存のユーザー・アカウントに付与し、Database Vaultをバックアップ・アカウントとして構成して有効化したときに作成したDatabase Vault所有者およびアカウント・マネージャのアカウントを使用します。

  • Oracle Database Configuration Assistant (DBCA)を使用してOracle Internet Directory (OID)を構成する場合。

  • Oracle Database Vaultが有効になっており、CDB全体をアップグレードする場合は、次のいずれかの方法を使用します。

    • CDBアップグレード方法1: DV_OWNERロールを持つ共通ユーザーとしてルート・コンテナにログインしてから、GRANT DV_PATCH_ADMIN TO SYS CONTAINER=ALL文を発行することで、DV_PATCH_ADMINをユーザーSYSに一時的に付与します。Oracle Database Vaultの制御は、アップグレード前と同じ状態になります。アップグレードが完了した後は、DV_OWNERユーザーとしてルート・コンテナにログインし、REVOKE DV_PATCH_ADMIN FROM SYS CONTAINER=ALL文を発行してSYSからDV_PATCH_ADMINロールを取り消します。
    • CDBアップグレード方法2: DV_OWNERロールを持つユーザーとして各コンテナにログインしてから、DBMS_MACADM.DISABLE_DVプロシージャを実行します。最初にPDBを(任意の順序で)無効にしてから、最後にルート・コンテナを無効にする必要があります。PDBを1つのみアップグレードしている場合は、そのPDBでのみOracle Database Vaultを無効にできます。アップグレードが完了した後は、DV_OWNERユーザーとして各コンテナにログインしてからDVSYS.DBMS_MACADM.ENABLE_DVプロシージャを実行することで、Oracle Database Vaultを有効にできます。Oracle Database Vaultを有効にする順序は、最初にルート・コンテナで、その後にPDBで有効にする必要があります。PDBは任意の順序で有効にできますが、最初にルート・コンテナを有効にする必要があります。

ノート:

Oracle Database Vaultを無効にすると、Oracle Database Vaultの構成中に既存のユーザーおよびロールから取り消された権限は有効なままになることに注意してください。

B.2 ステップ1: Oracle Database Vaultの無効化

Oracle Database Vaultを無効化した後も、Database Vaultの実行に必要なOracle Label Securityは有効なままです。

  1. DV_OWNERロールを付与されたユーザーとして、ルート、またはOracle Database Vaultを無効化するPDBにログインします。
  2. 必要に応じて、Oracle Database Vaultの有効化ステータスを確認します。
  3. Oracle Database Vaultを無効にします。
    EXEC DBMS_MACADM.DISABLE_DV;
  4. CDBを再起動するか、PDBを閉じてから再度開きます。
    ルートからCDBを再起動するには、次のようにします。
    CONNECT SYS@pdb_name AS SYSOPER 
    Enter password: password
    
    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP 

    PDBを閉じてから再度開くには、次のようにします。

    CONNECT sec_admin_owen@pdb_name
    Enter password: password
    
    SQL> ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
    SQL> ALTER PLUGGABLE DATABASE pdb_name OPEN;
  5. Oracle RACインストールの場合は、データベースがインストールされているノードごとに、これらのステップを繰り返します。

B.3 ステップ2: 必要なタスクの実行

この段階では、Oracle Database Vaultは無効になっており、必要な作業を実行できます。

次のようなアクティビティを実行できます。

  • Oracle Database VaultのPL/SQLパッケージおよびファンクションを使用します。たとえば、ログインまたはCONNECTルール・セット・エラーを修正するには、DBMS_MACADM PL/SQLパッケージまたはEnterprise Manager Cloud ControlのOracle Database Vaultページを使用します。CONNECTコマンド・ルールでは、DV_OWNERまたはDV_ADMINロールを持つユーザーのデータベースへの接続は阻止できません。このため、Database Vault管理者はDatabase Vaultを無効化することなく、間違って構成された保護を修正できます。

  • パスワードの作成または変更、あるいはアカウントのロックおよびロック解除などのタスクを実行するために、SYSTEMアカウントまたはSYSアカウントを使用します。標準のデータベースおよび管理ユーザー・アカウントの変更に加えて、DV_ADMINまたはDV_ACCTMGRロールを付与されているユーザーなど、任意のOracle Database Vault固有のアカウントのパスワードおよびロック・ステータスを変更できます。

  • インストールまたはセキュリティ保護を無効にする必要のあるその他のタスクを実行します。

B.4 ステップ3: Oracle Database Vaultの有効化

SQL*Plusで、ルートまたはPDBからOracle Database VaultおよびOracle Label Securityを有効化できます。

  1. DV_OWNERロールを付与されたユーザーとして、ルート、またはOracle Database Vaultを有効化するPDBにログインします。
  2. 必要に応じて、Oracle Database Vaultの有効化ステータスを確認します。
  3. Database Vaultを有効化します。
    EXEC DBMS_MACADM.ENABLE_DV (strict_mode => 'n');
     -- For regular mode
    EXEC DBMS_MACADM.ENABLE_DV (strict_mode => 'y');
     -- For strict mode
  4. Oracle Label Securityが有効がどうかを確認します。
    SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Oracle Label Security';
    

    Database Vaultを使用する前に、Oracle Label Securityを有効にする必要があります。有効でない場合、この問合せからFALSEが返されます。

  5. Oracle Label Securityが有効でない場合は、有効にしてください。
    EXEC LBACSYS.CONFIGURE_OLS;
    EXEC LBACSYS.OLS_ENFORCEMENT.ENABLE_OLS;
  6. CDBを再起動するか、PDBを閉じてから再度開きます。
    ルートからCDBを再起動するには、次のようにします。
    CONNECT SYS@pdb_name AS SYSOPER 
    Enter password: password
    
    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP 

    PDBを閉じてから再度開くには、次のようにします。

    CONNECT sec_admin_owen@pdb_name
    Enter password: password
    
    SQL> ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
    SQL> ALTER PLUGGABLE DATABASE pdb_name OPEN;
  7. Oracle RACインストールの場合は、データベースがインストールされているノードごとに、これらのステップを繰り返します。