12 Oracle Database Vault環境でのDBA操作
データベース管理者は、Oracle Data Pumpなどの製品とのDatabase Vaultの使用など、Oracle Database Vault環境で操作を実行できます。
- Oracle Database VaultでのDDL操作の実行
Oracle Database Vaultでのデータ定義言語(DDL)操作は、スキーマの所有権やパッチ・アップグレードなどの状況による影響を受ける場合があります。 - Oracle Database VaultでのSQL Firewallの使用
SQL FirewallユーザーがDatabase Vault環境で作業することを認可できます。 - Oracle Database VaultのOracle Enterprise Managerとの使用
Oracle Database Vault管理者は、他のデータベースへのポリシーの伝播など、Oracle Enterprise Manager Cloud Controlでタスクを実行できます。 - Oracle Database VaultでのOracle Data Pumpの使用
データベース管理者は、Oracle Data PumpユーザーにDatabase Vault環境で作業する認可を付与します。 - Oracle Database VaultでのOracle Schedulerの使用
データベース・ジョブのスケジュールを担当するユーザーは、Oracle Database Vault固有の認可を有している必要があります。 - Oracle Database Vaultでの情報ライフサイクル管理の使用
Oracle Database Vault対応データベースで情報ライフサイクル管理操作を実行するユーザーは、これらの操作を実行するために認可を受けている必要があります。 - Oracle Database VaultでのOracle Database Replayの使用
データベース管理者は、Oracle Database ReplayユーザーにDatabase Vault環境で作業する認可を付与できます。 - Oracle Database Vaultでのプリプロセッサ・プログラムの実行
外部表からプリプロセッサ・プログラムを実行するユーザーには、Oracle Database Vault固有の認可が必要です。 - Database Vault操作の制御を使用したローカルPDBデータへのマルチテナント共通ユーザー・アクセスの制限
インフラストラクチャ・データベース管理者などのCDBルート共通ユーザーでPDBアクセスを制御できます。 - マルチテナント・ローカル・ユーザーによる共通操作のブロックの防止
マルチテナント・ローカル・ユーザーが共通ユーザー・オブジェクトに対してOracle Database Vaultの保護を作成しようとした場合に共通操作がブロックされないようにすることができます。 - Oracle Recovery ManagerとOracle Database Vault
Oracle Database Vault環境ではRecovery Manager (RMAN)を使用できます。 - Oracle Database VaultでXStreamを使用するための権限
Oracle Database Vault環境でXStreamを使用する場合、適切な権限が必要です。 - Oracle Database VaultでOracle GoldenGateを使用するための権限
Oracle Database Vault環境でOracle GoldenGateを使用する場合、適切な権限が必要です。 - Oracle Database Vault環境でのデータ・マスキングの使用
Oracle Database Vault環境でデータ・マスキングを実行するには、正しい認可が必要です。 - Oracle Database VaultにおけるOracle Database監査の使用
Oracle Database Vault環境で監査レコードを管理および表示する権限を付与および取り消します。 - スタンドアロンのOracle DatabaseをPDBに変換してCDBにプラグイン
リリース12cから19cのスタンドアロンのOracle DatabaseデータベースはPDBに変換可能で、さらにこのPDBはCDBにプラグインできます。 - Oracle Database Vault環境でのORADEBUGユーティリティの使用
ORADEBUG
ユーティリティは、主にOracleサポートがOracle Databaseで生じる問題を診断する場合に使用します。 - Oracle Database Vault環境でのパッチ操作の実行
ユーザーSYS
がOracle Database Vault対応データベースでパッチ操作を実行するには、DV_PATCH_ADMIN
ロールが必要です。
12.1 Oracle Database VaultでのDDL操作の実行
Oracle Database Vaultでのデータ定義言語(DDL)操作は、スキーマの所有権やパッチ・アップグレードなどの状況による影響を受ける場合があります。
- Oracle Database VaultでのDDL操作の実行に関する制限
Oracle Database Vault構成によっては、DDL操作が制限されてOracle Database Vault環境でDDL認可が必要になる場合があります。 - DDL操作におけるDV_PATCH_ADMINロールの影響
DV_PATCH_ADMIN
ロールを付与されたオブジェクト所有者およびユーザーは、DDL認可要件から除外されます。 - リリース21c以前のリリースからのアップグレードがDDL操作に与える影響
Oracle Database Vaultをリリース21c以前からアップグレードする場合は、DDL認可の変更が必要になる場合があります。 - DDLのデフォルト認可('%', '%')の削除の影響
DDLのデフォルト認可('%', '%'
)により、ユーザーは明示的なDDL認可なしで任意のスキーマに対してDDL操作を実行できます。
12.1.1 Oracle Database VaultでのDDL操作の実行に関する制限
Oracle Database Vault構成によっては、DDL操作が制限されてOracle Database Vault環境でDDL認可が必要になる場合があります。
具体的には、次のいずれかの特性を持つスキーマでDDL操作を実行するには、DDL認可が必要です。
- スキーマが、有効なレルムによって保護されるオブジェクトの所有者である。
- スキーマが、有効なレルムに直接またはロールを介して認可される。
- スキーマにオブジェクト権限が直接、または有効なレルムによって保護されているオブジェクトのロールを介して付与される。
- スキーマにOracle Database Vaultのロールが直接またはロールを介して付与される。
DV_PATCH_ADMIN
ロールを付与されたオブジェクト所有者およびユーザーは、DDL認可要件から除外されます。DBMS_MACADM.AUTHORIZE_DDL
プロシージャを使用して、特定のスキーマに対してDDL操作を実行するユーザーを認可できます。ただし、DDL認可では、権限受領者がレルムで保護されたオブジェクトまたはスキーマに対してDDL操作を実行できるわけではありません。このような操作を有効化するには、レルムに対してユーザーを認可する必要があります。この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DDL_AUTH
データ・ディクショナリ・ビューに問い合せます。
Oracle Database VaultがOracle Database 21cより古い以前のリリースからアップグレードされた場合、デフォルトのDDL認可(%
, %
)が存在する可能性があり、これにより、ユーザーは明示的なDDL認可なしで任意のスキーマに対してDDL操作を実行できます。セキュリティを強化するために、Oracleでは、DBMS_MACADM.UNAUTHORIZE_DDL('%', '%')
を実行してデフォルトのDDL認可を削除し、DDL操作を実行する必要があるユーザーにのみ必要なDDL認可を付与することをお薦めします。
関連トピック
12.1.2 DDL操作におけるDV_PATCH_ADMINロールの影響
DV_PATCH_ADMIN
ロールを付与されたオブジェクト所有者およびユーザーは、DDL認可要件から除外されます。
DBMS_MACADM.AUTHORIZE_DDL
プロシージャを使用して、特定のスキーマに対してDDL操作を実行するユーザーを認可できます。ただし、DDL認可では、権限受領者がレルムで保護されたオブジェクトまたはスキーマに対してDDL操作を実行することはできません。このような操作を許可するには、レルムに対してユーザーを認可する必要があります。この認可を与えられているユーザーについて情報を確認するには、DBA_DV_DDL_AUTH
データ・ディクショナリ・ビューに問い合せます。
関連トピック
12.1.3 リリース21c以前からのアップグレードがDDL操作に与える影響
Oracle Database Vaultをリリース21c以前からアップグレードする場合、DDL認可の変更が必要になることがあります。
デフォルトのDDL認可('%', '%'
)が存在する場合があり、これにより、ユーザーは明示的なDDL認可なしで任意のスキーマに対してDDL操作を実行できます。セキュリティを強化するために、DBMS_MACADM.UNAUTHORIZE_DDL('%', '%')
を実行してデフォルトのDDL認可を削除してから、DDL操作を実行する必要があるユーザーに必要なDDL認可のみを付与することをお薦めします。
12.1.4 DDLのデフォルト認可('%', '%')の削除の影響
DDLのデフォルト認可('%', '%'
)により、ユーザーは明示的なDDL認可なしで任意のスキーマに対してDDL操作を実行できます。
このデフォルトのDDL認可は、Oracle Databaseリリース12.1でDDL認可が導入されてから、Oracle Database Vault環境での予期しないDDL障害による望ましくない混乱を防ぐために準備されたものです。ただし、Database Vaultリリース21cからは、デフォルトのDDL認可はなく、既存のデフォルトのDDL認可('%', '%'
)はDatabase Vaultが21c以降にアップグレードされたときに削除されます。問題を回避するには、DDL操作のために信頼できるデータベース・ユーザーを識別して認可するか、オプションで再認可('%', '%'
)して、すべてのユーザーが明示的な認可なしでDDL操作を実行できるようにする必要があります。セキュリティを強化するために、信頼できるユーザーのみにDDL操作を認可することをお薦めします。
12.2 Oracle Database VaultでのSQL Firewallの使用
SQL FirewallユーザーがDatabase Vault環境で作業することを認可できます。
- Oracle Database VaultでのSQL Firewallの使用について
Oracle Database Vault環境でSQL Firewallを使用するデータベース管理者には、Database Vault固有の認可が必要です。 - Database VaultでのSQL Firewallに対するユーザーの認可
データベース管理者に、Oracle Database Vault環境でSQL Firewallの使用を認可できます。 - ユーザーからのSQL Firewall認可の取消し
Oracle Database Vault環境のデータベース管理者からSQL Firewall認可を取り消すことができます。
12.2.1 Oracle Database VaultでのSQL Firewallの使用について
Oracle Database Vault環境でSQL Firewallを使用するデータベース管理者には、Database Vault固有の認可が必要です。
Database Vault固有の認可に加えて、これらのユーザーには標準のSQL Firewall権限(ADMINISTER SQL FIREWALL
システム権限またはSQL_FIREWALL_ADMIN
ロール)が必要です。SQL FirewallがDV_OWNER
およびDV_ACCTMGR
を使用してユーザーをブロックしないように認可を構成できます。これらのユーザーは、データベース・ユーザーのみである必要があります。Database Vault操作制御が有効な場合、共通ユーザーが例外リストに含まれている場合を除き、共通ユーザーはローカル・ユーザーでのSQL Firewall (つまり、取得および許可リストを管理するためのDBMS_SQL_FIREWALL
プロシージャ)の使用をブロックされます。
DBA_DV_SQL_FIREWALL_AUTH
データ・ディクショナリ・ビューを問い合せることで、Oracle Database Vault環境でのSQL Firewallの使用に関するユーザーの認可を確認できます。
12.2.2 Database VaultでのSQL Firewallに対するユーザーの認可
データベース管理者に、Oracle Database Vault環境でSQL Firewallを使用する権限を付与できます。
12.3 Oracle Database VaultのOracle Enterprise Managerとの使用
Oracle Database Vault管理者は、他のデータベースへのポリシーの伝播など、Oracle Enterprise Manager Cloud Controlでタスクを実行できます。
Oracle Database VaultをOracle Enterprise Manager Expressとともに使用することはサポートされていません。Oracle Enterprise Manager Cloud Controlには、Oracle Database Vault用のページが用意されています。
- 他のデータベースへのOracle Database Vault構成の伝播
Database Vault構成(レルム構成など)を、Database Vaultで保護された他のデータベースに伝播できます。 - Oracle Database Vaultポリシーに対するEnterprise Manager Cloud Controlアラート
Oracle Database Vaultアラートを表示するには、DV_OWNER
、DV_ADMIN
またはDV_SECANALYST
ロールが付与されている必要があります。 - Enterprise Manager Cloud ControlにおけるOracle Database Vault固有レポート
Database Vaultホーム・ページから、違反に関する情報を確認できます。
12.3.1 「他のデータベースへのOracle Database Vault構成の伝播」
Database Vault構成(レルム構成など)を、Database Vaultで保護された他のデータベースに伝播できます。
-
DV_OWNER
またはDV_ADMIN
ロールおよびSELECT ANY DICTIONARY
権限を付与されているユーザーとして、Cloud ControlからOracle Database Vault Administratorにログインします。ログイン方法については、「Oracle Enterprise Cloud ControlからのOracle Database Vaultへのログイン」を参照してください。 -
「Database Vault」ホームページの「Database Vaultポリシー伝播」で、「Database Vaultポリシー伝播」を選択します。
「ポリシー伝播」サブページの「使用可能なポリシー」領域に、現在のデータベースのために作成されたOracle Database Vault構成(つまり、レルム、コマンド・ルール、ルール・セットおよびセキュア・アプリケーション・ロールのために作成された構成)のサマリーが表示されます。Oracle Database release 12c (12.2)で導入されたOracle Database Vaultポリシーは表示されません。ここから、これらの構成を他のデータベースに伝播できます。
-
「使用可能なポリシー」で、他のデータベースに伝播する各構成を選択します。
図policy_propagation122.pngの説明 -
「宛先データベース」で「追加」ボタンをクリックします。
-
「検索と選択: Database Vaultに対応した宛先データベース」で宛先データベースを検索し、構成の伝播先となる各データベースを選択します。「選択」ボタンをクリックします。
-
「宛先データベース」で次の処理を行います。
-
「宛先データベースに資格証明を適用」で、伝播する構成を含むDatabase Vaultデータベースの管理者のユーザー名とパスワードを入力します。
この機能により、Database Vault管理者のユーザー名とパスワードが、選択したすべての宛先データベースに適用されます。
-
構成の伝播先となる各データベースを選択します。
-
各データベースのDatabase Vault管理者のユーザー名とパスワードを入力します。
-
「適用」ボタンをクリックします。
-
-
「伝播オプション」ページで、次のオプションのオン/オフを選択します。
シードされたレルム、コマンド・ルール、ルール・セットなどに加えられた変更は、宛先データベースに伝播されません。カスタム作成されたデータのみが伝播されます。
-
失敗時にリストアします。: 伝播操作でエラーが発生した場合に、伝播がロールバックされます。つまり、宛先データベースの元のポリシーがリストアされます。このオプションを選択しない場合、宛先データベースでポリシーの伝播が続けられ、エラーは無視されます。
-
ユーザー定義ポリシーが存在する場合は、伝播をスキップします。: 宛先データベースにユーザー定義構成がすでにある場合、伝播操作は試行されません。このオプションを選択しない場合、ユーザー定義ポリシーが宛先データベースにあるかどうかに関係なく、既存の構成はすべてクリアされ、ソース・データベースからの構成が宛先データベースに適用されます。
-
Database VaultメトリックのEnterprise Managerメトリックしきい値を伝播します。: ソース・データベースにOracle Database Vaultメトリックしきい値が設定されている場合、これらのしきい値も宛先データベースに伝播されます。このオプションを選択しない場合、構成のみが伝播され、Oracle Database Vaultしきい値は伝播されません。
-
-
「OK」ボタンをクリックします。
-
「確認」ウィンドウで「OK」をクリックします。
成功または失敗を示すメッセージが表示されます。伝播が成功した場合、構成は宛先データベースでただちにアクティブになります。
12.3.2 Oracle Database Vaultポリシーに対するEnterprise Manager Cloud Controlアラート
Oracle Database Vaultアラートを表示するには、DV_OWNER
、DV_ADMIN
またはDV_SECANALYST
ロールが付与されている必要があります。
アラートは次のとおりです。
-
Database Vaultレルム違反未遂。このアラートにより、Oracle Database Vaultセキュリティ分析者(
DV_SECANALYST
ロール)はDatabase Vaultデータベースでの違反試行を監視できます。アラートの影響を受けるレルムを選択し、エラー・コードを使用して様々な試行タイプに基づいてレルムをフィルタリングできます。このメトリックは、メトリックおよびポリシーの設定ページで有効化できます。デフォルトでは、レルム違反未遂は24時間ごとに収集されます。 -
Database Vaultコマンド・ルール違反未遂。このアラートの機能は、対象がコマンド・ルール違反であることを除き、Database Vaultレルム違反未遂と同じです。
-
Database Vaultレルム構成の問題。このメトリックは、レルムの構成を追跡し、構成が正しくない場合にアラートを生成します。このメトリックは、Oracle Database Vaultのインストール時に有効化され、デフォルトで1時間ごとにデータを収集します。
-
Database Vaultコマンド・ルール構成の問題。このアラートの機能は、対象がコマンド・ルールに対する構成変更であることを除き、Database Vaultレルム構成の問題と同じです。
-
Database Vaultポリシー変更。このメトリックでは、Database Vaultポリシー(レルムやコマンド・ルールに対するポリシー)に変更があると、アラートが生成されます。詳細なポリシー変更レポートが提供されます。
12.3.3 Enterprise Manager Cloud ControlにおけるOracle Database Vault固有レポート
Database Vaultホーム・ページから、違反に関する情報を確認できます。
これらの違反は、次のとおりです。
-
レルムおよびコマンド・ルール違反未遂トップ5
-
データベース・ユーザーおよびクライアント・ホストによる違反未遂トップ5
-
違反未遂の詳細分析の時系列グラフィック・レポート
Database Vaultレポートの完全なアクセス権を持つには、DV_OWNER
、DV_ADMIN
またはDV_SECANALYST
ロールが付与されたユーザーとしてDatabase Vault Administratorにログインする必要があります。
12.4 Oracle Database VaultでのOracle Data Pumpの使用
データベース管理者は、Oracle Data PumpユーザーにDatabase Vault環境で作業する認可を付与します。
- Oracle Database VaultでのOracle Data Pumpの使用について
Database Vault環境でOracle Data Pumpを使用しているデータベース管理者には、データのエクスポートおよびインポートのためのDatabase Vault固有の認可が必要です。 - ユーザーまたはロールへのData Pumpの通常エクスポート操作および通常インポート操作の認可
Database Vault環境でOracle Data Pumpエクスポート操作およびインポート操作を実行する管理者に、様々なタイプの認可を使用できます。 - ユーザーまたはロールへのData Pumpのトランスポータブル・エクスポート操作およびトランスポータブル・インポート操作の認可
Oracle Data Pumpのトランスポータブル操作を実行するユーザーに、直接またはロールを通じて様々な認可レベルを付与できます。 - Database Vault環境でのデータのエクスポートまたはインポートのガイドライン
Oracle Data Pumpデータベース管理者に適切な認可を付与すると、必要なエクスポートまたはインポート操作を実行できるようになります。
12.4.1 Oracle Database VaultでのOracle Data Pumpの使用について
Database Vault環境でOracle Data Pumpを使用しているデータベース管理者には、データのエクスポートおよびインポートのためのDatabase Vault固有の認可が必要です。
このタイプのユーザーは、Oracle Data Pumpの標準の権限に加えて、Database Vault権限を持っている必要があります。これらのユーザーがOracle Data Pumpのトランスポータブル表領域操作を実行する場合、特殊な認可が必要です。DBA_DV_DATAPUMP_AUTH
データ・ディクショナリ・ビューを問い合せることで、Oracle Database Vault環境でのData Pumpの使用に関するユーザーの認可を確認できます。この認可は、個々のユーザーまたはデータベース・ロールに付与できます。
12.4.2 ユーザーまたはロールへのData Pumpの通常エクスポート操作および通常インポート操作の認可
Database Vault環境でOracle Data Pumpエクスポート操作およびインポート操作を実行する管理者に、様々なタイプの認可を使用できます。
- Oracle Data Pumpの通常操作のユーザーまたはロールへの認可について
Oracle Data Pump認可を持つユーザーは、Database Vault環境で通常のOracle Data Pump操作を実行できます。 - Oracle Data Pumpの通常操作に対するDatabase Vault認可のレベル
Oracle Database Vaultでは、Database Vault環境でのOracle Data Pumpの通常操作に必要な認可にいくつかのレベルがあります。 - Database VaultにおけるOracle Data Pumpの通常操作をユーザーまたはロールに認可
データベース管理者またはロールに、Oracle Database Vault環境で通常操作にData Pumpを使用する認可を付与できます。 - ユーザーまたはロールからのOracle Data Pump認可の取消し
通常操作のためにOracle Data Pumpを使用するデータベース管理者またはロールの認可を取り消すことができます。
12.4.2.1 Oracle Data Pumpの通常操作のユーザーまたはロールへの認可について
Oracle Data Pump認可を持つユーザーは、Database Vaul環境で通常のOracle Data Pump操作を実行できます。
次のタイプのOracle Data Pump認可を実行できます。
- 保護されたスキーマおよびオブジェクトをインポートできるようにユーザーまたはロールを認可します
- ユーザーまたはロールに対して、インポート操作中に行われるアクティビティ(ユーザーの作成、Oracle Database Vaultで保護されたロールおよびシステム権限の付与、特定のOracle Databaseロールの付与、Oracle Databaseシステム権限の付与)の実行を認可します
ノート:
完全レベルData Pump認可では、トランスポータブル・エクスポートおよびインポート操作も実行できます。12.4.2.2 Oracle Data Pumpの通常操作に対するDatabase Vault権限のレベル
Oracle Database Vaultでは、Database Vault環境でのOracle Data Pumpの通常操作に必要な認可にいくつかのレベルがあります。
表12-1に、これらのレベルを示します。
表12-1 Oracle Data Pumpの通常操作のための認可のレベル
シナリオ | 必要な認可 |
---|---|
データベース管理者は、データを別のスキーマにインポートします。 |
このユーザー(またはロール)には、 |
データベース管理者は、Database Vault保護なしのスキーマでデータをエクスポートまたはインポートします。 |
このユーザー(またはロール)には、標準のOracle Data Pump権限のみを付与する必要があります。これは、 |
データベース管理者は、保護スキーマでデータをエクスポートまたはインポートします。 |
ユーザーがデータをインポートする場合は、このユーザーに |
データベース管理者は、データベース全体の内容をエクスポートまたはインポートします。 |
|
脚注1
デフォルトではBECOME USER
権限はIMP_FULL_DATABASE
ロールに含まれますが、Oracle Database Vault環境ではこの権限は取り消されます。
12.4.2.3 Database VaultにおけるOracle Data Pumpの通常操作をユーザーまたはロールに認可
データベース管理者またはロールに、Oracle Database Vault環境で通常操作にData Pumpを使用することを認可できます。
12.4.3 ユーザーまたはロールへのData Pumpのトランスポータブル・エクスポート操作およびトランスポータブル・インポート操作の認可
Oracle Data Pumpのトランスポータブル操作を実行する必要があるユーザーには、直接またはロールを通じて、様々な認可レベルを付与できます。
- Oracle Data Pumpのトランスポータブル操作のユーザーへの認可について
様々なレベルのトランスポータブル操作認可をユーザーに(直接またはロールを通じて)付与できます。 - Data Pumpのトランスポータブル操作に対するDatabase Vault権限のレベル
Oracle Database Vaultでは、Database Vault環境でのエクスポートおよびインポート・トランスポータブル操作を実行する必要があるユーザーに必要な認可にいくつかのレベルがあります。 - Database VaultにおけるData Pumpのトランスポータブル操作をユーザーまたはロールに認可
ユーザーまたはロールがDatabase Vault環境でOracle Data Pumpのトランスポータブル・エクスポート操作またはトランスポータブル・インポート操作を実行することを認可できます。 - トランスポータブル表領域の認可のユーザーまたはロールからの取消し
Data Pumpを使用するデータベース管理者の認可を取り消すことができます。
12.4.3.1 Oracle Data Pumpのトランスポータブル操作のユーザーへの認可について
様々なレベルのトランスポータブル操作の認可をユーザーに(直接またはロールを通じて)付与できます。
トランスポータブル・エクスポートとトランスポータブル・インポートの操作を実行する認可のみをユーザーに付与する場合は、タスクに基づいて、ユーザーまたはロールに適切な認可を付与する必要があります。
12.4.3.2 Data Pumpのトランスポータブル操作に対するDatabase Vault権限のレベル
Oracle Database Vaultでは、Database Vault環境でトランスポータブル・エクスポートとトランスポータブル・インポートの操作を実行する必要があるユーザーに必要な認可にいくつかのレベルがあります。
表12-2に、これらのレベルを示します。
表12-2 Oracle Data Pumpのトランスポータブル操作に対する権限のレベル
シナリオ | 必要な認可 |
---|---|
データベース管理者は、Database Vault保護なしの表領域または表のトランスポータブル・エクスポートを実行します。 |
このユーザー(またはロール)には、標準のOracle Data Pump権限のみを付与する必要があります。これは、 |
データベース管理者は、Database Vault保護ありの表領域のトランスポータブル・エクスポートを実行します(たとえば、その表領域に存在する表オブジェクトのレルムやコマンドルール)。 |
完全データベース・レベルのOracle Data Pump権限を付与されたユーザーも、( |
データベース管理者は、Database Vault保護ありの表領域内で表のトランスポータブル・エクスポートを実行します(たとえば、エクスポートする表を含む表領域に存在する表オブジェクトのレルムやコマンド・ルール)。 |
完全データベース・レベルのOracle Data Pump権限を付与されたユーザーも、( |
データベース管理者は、データベース全体の内容のトランスポータブル・エクスポートを実行します。 |
|
データベース管理者は、ネットワーク・リンクを使用して、Database Vault保護なしの表領域または表のトランスポータブル・インポートを実行します。 |
データベース管理者と接続ユーザー両方の |
データベース管理者は、ネットワーク・リンクを使用して、Database Vault保護ありの表領域のトランスポータブル・インポートを実行します(たとえば、その表領域に存在する表オブジェクトのレルムやコマンド・ルール)。 |
Database Vault固有の完全データベース・レベルのOracle Data Pumpの認可を付与されたユーザーも、( |
データベース管理者は、ネットワーク・リンクを使用して、Database Vault保護ありのトランスポータブル表領域内で表をインポートします(たとえば、エクスポートする表を含む表領域に存在する表オブジェクトのレルムやコマンド・ルール)。 |
Database Vault固有の完全データベース・レベルのOracle Data Pump権限を付与されたユーザーも、( |
データベース管理者は、ネットワーク・リンクを使用してデータベース全体の内容のトランスポータブル・インポートを実行します。 |
|
12.4.3.3 Database VaultにおけるData Pumpのトランスポータブル操作をユーザーまたはロールに認可
ユーザーまたはロールがDatabase Vault環境でOracle Data Pumpのトランスポータブル・エクスポートおよびインポート操作を実行することを認可できます。
12.4.4 Database Vault環境でのデータのエクスポートまたはインポートのガイドライン
Oracle Data Pumpデータベース管理者に適切な認可を付与すると、必要なエクスポートまたはインポート操作を実行できるようになります。
作業を開始する前に、次のガイドラインに従う必要があります。
-
データベースのデータファイルの完全バックアップを作成します。これにより、新しくインポートしたデータが気に入らなかった場合、容易にデータベースを元の状態に戻すことができます。このガイドラインは、侵入者が自分のポリシーを使用するようにOracle Data Pumpエクスポート・データを変更した場合に特に有用です。
-
複数のスキーマまたは表をエクスポートおよびインポートする方法を決定します。
DBMS_MACADM.AUTHORIZE_DATAPUMP_USER
プロシージャでは複数のスキーマまたは表は指定できませんが、次のいずれかの方法でこの作業を行うことできます。-
それぞれのスキーマまたは表に対して
DBMS_MACADM.AUTHORIZE_DATAPUMP_USER
プロシージャを実行し、次にEXPDP
ユーティリティとIMPDP
ユーティリティのSCHEMAS
パラメータまたはTABLES
パラメータのオブジェクトのリストを指定します。 -
全データベースのエクスポートまたはインポート操作を実行します。この場合、次のガイドランを参照してください。
-
-
データベース全体のエクスポートまたはインポート操作を実行する場合は、EXPDPまたはIMPDP FULLオプションをYに設定します。この設定により
DVSYS
スキーマが取得されるため、認可したユーザーまたはロールにDV_OWNER
ロールが付与されていることを確認してください。
次のことに注意してください。
-
Oracle Database Vaultが有効になっている場合、ダイレクト・パス・オプション(
direct=y
)でレガシーのEXP
ユーティリティとIMP
ユーティリティは使用できません。 -
直接の付与またはロールを介した付与のいずれかによって、
DBMS_MACADM.AUTHORIZE_DATAPUMP_USER
プロシージャを通じてDatabase Vault固有のOracle Data Pump認可を付与されている、またはDBMS_MACADM.AUTHORIZE_TTS_USER
プロシージャを通じてトランスポータブル表領域の認可を付与されているユーザーは、データベース・オブジェクトのエクスポートとインポートを実行できますが、通常はアクセスがないスキーマ表に対するSELECT
問合せなど、他のアクティビティは実行できません。同様に、指定されたデータベース・オブジェクト外部のオブジェクトに対してData Pump操作を実行することもできません。 -
データベース全体をエクスポートまたはインポートするユーザーに
DV_OWNER
ロールを付与する必要があります。これは、データベース全体のエクスポートには、Oracle Database Vaultポリシーを格納するDVSYS
スキーマへのアクセスが必要になるためです。ただし、DVSYS
スキーマ自体をエクスポートすることはできません。Data Pumpは、保護定義のみをエクスポートします。インポート・プロセスを開始する前に、ターゲット・データベースにはDVSYS
スキーマが必要であり、Database Vaultが有効になっている必要があります。)逆に、インポートされたポリシーをターゲット・データベースに適用するData Pumpインポート操作では、内部的にDBMS_MACADM
PL/SQLパッケージが使用され、ここでData PumpユーザーにDV_OWNER
ロールが必要になります。
12.5 Oracle Database VaultでのOracle Schedulerの使用
データベース・ジョブのスケジュールを担当するユーザーは、Oracle Database Vault固有の認可を有している必要があります。
- Oracle Database VaultでのOracle Schedulerの使用について
付与する必要がある認可レベルは、タスクを実行する管理者のスキーマによって異なります。 - ジョブ・スケジュール管理者へのDatabase Vaultの認可の付与
Database Vault環境で、ユーザーにデータベース・ジョブをスケジュールする権限を付与できます。 - ジョブ・スケジュール管理者からの権限の取消し
ユーザーからデータベース・ジョブをスケジュールする権限を取り消すことができます。
12.5.1 Oracle Database VaultでのOracle Schedulerの使用について
付与する必要がある認可レベルは、タスクを実行する管理者のスキーマによって異なります。
次のシナリオが想定されます。
-
管理者が、独自のスキーマでジョブをスケジュールする場合。スキーマがレルムで保護されている場合を除き、データベース・ジョブをスケジュールする権限が付与されている管理者は、Oracle Database Vault固有の権限がなくても作業を続行できます。スキーマがレルムで保護されている場合は、このユーザーがレルムへのアクセスを許可されていることを確認してください。
-
管理者は別のスキーマでジョブを実行するが、このジョブでOracle Database Vaultのレルムまたはコマンド・ルールで保護されたオブジェクトにアクセスしない場合。この場合、このユーザーには、ジョブに関連するシステム権限のみが必要で、Oracle Database Vault権限は必要ありません。
-
管理者がデータベースまたはリモート・データベースの任意のスキーマを含む、他のユーザーのスキーマでジョブを実行する場合。このジョブがOracle Database Vaultレルムまたはコマンド・ルールで保護されているオブジェクトにアクセスする場合、
DBMS_MACADM.AUTHORIZE_SCHEDULER_USER
プロシージャを使用して、このユーザーにDatabase Vault固有の権限を付与する必要があります。この権限は、バックグラウンド・ジョブおよびフォアグラウンド・ジョブの両方に適用されます。フォアグラウンド・ジョブの場合、権限はジョブを作成または変更した最後のユーザーに適用されます。また、スキーマ所有者(ジョブが作成された保護スキーマ)がレルムに対して認可されていることを確認してください。後から、
DBMS_MACADM.UNAUTHORIZE_SCHEDULER_USER
プロシージャを使用してこの権限を取り消すことができます。スキーマがレルムで保護されていない場合、ユーザーにDBMS_MACADM.AUTHORIZE_SCHEDULER_USER
プロシージャを実行する必要はありません。
レルムによって保護されているOracle Schedulerジョブを有効または無効にするには、自身がそのレルムに対して認可されているか(DBMS_MACADM.ADD_AUTH_TO_REALM
を使用)、またはジョブ所有者スキーマに対するOracle Scheduler認可(DBMS_MACADM.AUTHORIZE_SCHEDULER_USER
を使用)が必要です。
関連トピック
12.6 Oracle Database Vaultでの情報ライフサイクル管理の使用
Oracle Database Vault対応データベースで情報ライフサイクル管理操作を実行するユーザーは、これらの操作を実行するために認可を受けている必要があります。
- Oracle Database Vaultでの情報ライフサイクル管理の使用について
Oracle Database Vaultのレルムおよびコマンド・ルールで保護されたオブジェクトに対して情報ライフサイクル管理(ILM)操作を実行する役割を担うユーザーに認可を付与できます。 - ユーザーへのDatabase VaultでのILM操作の認可
ユーザーにOracle Database Vault環境での情報ライフサイクル管理(ILM)操作の実行を認可できます。 - ユーザーからの情報ライフサイクル管理認可の取消し
Oracle Database Vault環境で情報ライフサイクル管理(ILM)操作を実行できないよう、ユーザーから認可を取り消すことができます。
12.6.1 Oracle Database Vaultでの情報ライフサイクル管理の使用について
Oracle Database Vaultのレルムおよびコマンド・ルールで保護されたオブジェクトに対して情報ライフサイクル管理(ILM)操作を実行する役割を担うユーザーに認可を付与できます。
ユーザーがDatabase Vault対応データベースでのILM操作のために次のSQL文を実行できるようにするには、まずユーザーに認可を与える必要があります。
-
ALTER TABLE
-
ILM
-
FLASHBACK ARCHIVE
-
NO FLASHBACK ARCHIVE
-
-
ALTER TABLESPACE
-
FLASHBACK MODE
-
12.7 Oracle Database VaultにおけるOracle Database Replayの使用
データベース管理者は、Oracle Database ReplayユーザーにDatabase Vault環境で作業する認可を付与できます。
- Oracle Database VaultでのDatabase Replayの使用について
Oracle Database Replayでワークロード取得操作およびワークロード・リプレイ操作の両方を実行するDatabase Vault認可をユーザーに付与できます。 - ユーザーに対するDatabase Replay操作の認可
ワークロード取得操作およびワークロード・リプレイ操作の両方をOracle Database Replayユーザーに認可できます。 - ユーザーからのDatabase Replay認可の取消し
Oracle Database Replayのワークロード取得操作およびワークロード・リプレイ操作の両方に対する認可を取り消すことができます。
12.7.1 Oracle Database VaultでのDatabase Replayの使用について
Oracle Database Replayでワークロード取得操作およびワークロード・リプレイ操作の両方を実行するDatabase Vault認可をユーザーに付与できます。
12.7.2 ユーザーへのDatabase Replay操作の認可
ワークロード取得操作およびワークロード・リプレイ操作の両方をOracle Database Replayユーザーに認可できます。
- ユーザーへのワークロード取得操作の認可
Oracle Database Vault環境でOracle Database Replayのワークロード取得操作を実行する認可をユーザーに付与できます。 - ユーザーへのワークロード・リプレイ操作の認可
Oracle Database Vault環境でOracle Database Replayのワークロード・リプレイ操作を実行する認可をユーザーに付与できます。
12.7.2.1 ユーザーへのワークロード取得操作の認可
Oracle Database Vault環境でOracle Database Replayのワークロード取得操作を実行する認可をユーザーに付与できます。
12.7.3 ユーザーからのDatabase Replay認可の取消し
Oracle Database Replayのワークロード取得操作およびワークロード・リプレイ操作の両方に対する認可を取り消すことができます。
- ワークロード取得権限の取消し
ユーザーから認可を取り消して、Oracle Database Vault環境でOracle Database Replayのワークロード取得操作を実行できないようにすることができます。 - ワークロード・リプレイ権限の取消し
ユーザーから認可を取り消して、Oracle Database Vault環境でOracle Database Replayのワークロード・リプレイ操作を実行できないようにすることができます。
12.7.3.1 ワークロード取得権限の取消し
ユーザーから認可を取り消して、Oracle Database Vault環境でOracle Database Replayのワークロード取得操作を実行できないようにすることができます。
12.8 Oracle Database Vaultでのプリプロセッサ・プログラムの実行
外部表からプリプロセッサ・プログラムを実行するユーザーには、Oracle Database Vault固有の認可が必要です。
- Oracle Database Vaultでのプリプロセッサ・プログラムの実行について
ユーザーが外部表からプリプロセッサ・プログラムを実行するDatabase Vaultの認可を付与したり、取り消すことができます。 - ユーザーへのプリプロセッサ・プログラム実行の認可
DBMS_MACADM.AUTHORIZE_PREPROCESSOR
プロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーに付与します。 - ユーザーからのプリプロセッサ実行認可の取消し
DBMS_MACADM.UNAUTHORIZE_PREPROCESSOR
プロシージャは、ユーザーから認可を取り消して、Oracle Database Vault環境でユーザーが外部表からプリプロセッサ・プログラムを実行できないようにします。
12.8.1 Oracle Database Vaultでのプリプロセッサ・プログラムの実行について
ユーザーが外部表からプリプロセッサ・プログラムを実行するDatabase Vaultの認可を付与したり、取り消すことができます。
12.8.2 ユーザーへのプリプロセッサ・プログラム実行の認可
DBMS_MACADM.AUTHORIZE_PREPROCESSOR
プロシージャは、外部表からプリプロセッサ・プログラムを実行する認可をユーザーに付与します。
12.9 Database Vault操作の制御を使用したローカルPDBデータへのマルチテナント共通ユーザー・アクセスの制限
インフラストラクチャ・データベース管理者などのCDBルート共通ユーザーでPDBアクセスを制御できます。
- Database Vault操作の制御の使用について
共通ユーザーが自律型で通常のクラウドまたはオンプレミス環境でプラガブル・データベース(PDB)のローカル・データにアクセスすることを自動的に制限できます。 - 例外リストへの共通ユーザーおよびパッケージの追加の動作
共通ユーザーまたはパッケージを例外リストに追加する前に、特別な要件を満たす必要があります。 - Database Vault操作の制御の有効化
Database Vault操作の制御を有効にするには、DBMS_MACADM.ENABLE_APP_PROTECTION
PL/SQLプロシージャを使用します。 - 例外リストへの共通ユーザーおよびパッケージの追加
PDBローカル・データにアクセスする必要がある共通ユーザーおよびアプリケーションを例外リストに追加できます。 - 例外リストからの共通ユーザーおよびパッケージの削除
PDBローカル・データにアクセスする必要がなくなったユーザーおよびアプリケーションを例外リストから削除できます。 - Database Vault操作の制御の無効化ま
Database Vault操作の制御を無効にするには、DBMS_MACADM.DISABLE_APP_PROTECTION
PL/SQLプロシージャを使用します。
12.9.1 Database Vault操作の制御の使用について
共通ユーザーが自律型で通常のクラウドまたはオンプレミス環境でプラガブル・データベース(PDB)のローカル・データにアクセスすることを自動的に制限できます。
これを実行するには、共通ユーザー(インフラストラクチャ・データベース管理者、アプリケーションなど)に適用されるOracle Database Vault操作の制御を使用できます。
Database Vault操作の制御は、データベース管理者がCDBルートに高い権限を持つユーザーとしてログインする必要があるが、PDB顧客データにアクセスできない場合に便利です。データベース操作の制御では、PDBデータベース管理者はブロックされません。これらのユーザーをブロックするには、PDBでOracle Database Vaultを有効にし、レルム制御などのDatabase Vault機能を使用してこれらのユーザーをブロックします。
共通ユーザーまたはアプリケーションがPDBのローカル・データにアクセスする必要があるタスクを実行する必要がある場合、共通ユーザーおよびパッケージに対するDatabase Vault操作の制御の例外リストを作成できます。例外リストに指定する共通ユーザーのタイプの例として、Oracle Textで使用するCTXSYS
アプリケーション・アカウントがあります。例外リストでパッケージを指定すると、例外リスト内のユーザーに完全なアクセス権を提供するかわりに、より細かい制御を適用できます。
Database Vault操作の制御を使用する一般的なプロセスは、次のとおりです。
- Database Vault操作の制御を有効にして、本番環境に対してこれを有効にしたままにします。
- この段階では、Database Vault操作の制御は、PDBでDatabase Vaultが有効になっているかどうかに関係なく、環境内のすべてのPDBに適用されます。
- 特定のユーザーとパッケージがPDBのローカル・スキーマにアクセスできるようにするには、これらを例外リストに追加します。ユーザーまたはパッケージにアクセス権が不要になった場合、例外リストから削除できます。たとえば、データベースでOracle Textを使用している場合、
CTXSYS
管理ユーザー・アカウントおよびパッケージを例外リストに追加できます。
12.9.2 例外リストへの共通ユーザーおよびパッケージの追加の動作
共通ユーザーまたはパッケージを例外リストに追加する前に、特別な要件を満たす必要があります。
パッケージがユーザー・アカウント内の唯一のオブジェクトであり、PDBローカル・データにアクセスする必要がある場合、例外リストにユーザー・パッケージを追加できます。これにより、例外リストに含まれる内容を詳細に制御できます。例外リストに追加する共通ユーザーおよびパッケージの種類は、PDBの機能に必要な種類です。たとえば、Oracle Spatialを使用している場合、例外リストにMDSYS
アカウントを追加する必要があります。MDSYS
では、Oracle Spatialの機能用の顧客PDBデータにアクセスする必要があります。
操作の制御の例外リストのPL/SQLプロシージャは、共通ユーザーがPL/SQLプロシージャを実行するためのシステム権限または直接オブジェクト権限を持っている場合は、すべての共通ユーザーが実行できます。(定義者権限プロシージャのみ例外リストに追加でき、実行者権限では追加できません。)
操作の制御の例外リスト(ユーザー、%
例外)上のユーザーのみが、PL/SQLプロシージャを変更する権限を持っている場合にのみ、例外リスト上のPL/SQLプロシージャを変更できます。たとえば、User X PL/SQLプロシージャが操作の制御の例外リストにあるがUser Xが例外リストにない場合、User Xは自身のUser X PL/SQLプロシージャを変更できません。User Yが例外リスト(Y, %
)に存在し、User YがUser Xプロシージャを変更する権限を持っている場合、User YはUser Xのプロシージャを変更できます。
共通ユーザーおよびパッケージをDatabase Vault操作の制御の例外リストに追加するには、DBMS_MACADM.ADD_APP_EXCEPTION
PL/SQLプロシージャを使用します。既存の例外を確認するには、DBA_DV_APP_EXCEPTION
データ・ディクショナリ・ビューを問い合せます。
12.9.3 Database Vault操作の制御の有効化
Database Vault操作の制御を有効にするには、DBMS_MACADM.ENABLE_APP_PROTECTION
PL/SQLプロシージャを使用します。
マルチテナント本番サーバーに対してDatabase Vault操作の制御を使用する場合、Database Vault操作の制御をフル・タイムで有効にしたままにすることをお薦めします。
ほとんどの場合、特定のPDBだけでなく、CDB全体に対してデータベース操作の制御を有効にします。特定のPDBに対して無効にする必要がある場合(トラブルシューティング目的など)、そのPDBでDBMS_MACADM.DISABLE_APP_PROTECTION
プロシージャを実行できます。PDBのトラブルシューティングが終了したら、このトピックの例に示すように、Database Vault操作の制御を再有効化します。
DV_OWNER
ロールを付与されている共通ユーザーとしてCDBルートにログインします。DBMS_MACADM.ENABLE_APP_PROTECTION
プロシージャを実行します。- CDB環境内のすべてのPDBに対してDatabase Vault操作を制御するには、次のようにします。
EXEC DBMS_MACADM.ENABLE_APP_PROTECTION;
- 特定のPDBの操作の制御は、トラブルシューティングの理由で無効になっている可能性があります。特定のPBB (
HRPDB
など)に対するDatabase Vault操作の制御を再度有効にするには、次のようにします。EXEC DBMS_MACADM.ENABLE_APP_PROTECTION ('HRPDB');
- CDB環境内のすべてのPDBに対してDatabase Vault操作を制御するには、次のようにします。
SYSDBA
管理権限を持つユーザーSYS
として接続してからSELECT * FROM DBA_DV_STATUS;
問合せを実行すると、確認できます。特定の信頼できる共通ユーザーまたはパッケージがこれらのPDBのローカル・スキーマにアクセスして特定の操作を実行する必要がある場合、DBMS_MACADM.ADD_APP_EXCEPTION
プロシージャを使用して、ユーザーまたはパッケージをDatabase Vault操作の制御の例外リストに追加できます。
12.9.5 例外リストからの共通ユーザーおよびパッケージの削除
PDBローカル・データにアクセスする必要がなくなったユーザーおよびアプリケーションを例外リストから削除できます。
DBMS_MACADM.DELETE_APP_PROTECTION
PL/SQLプロシージャを使用できます。既存の例外を確認するには、DBA_DV_APP_EXCEPTION
データ・ディクショナリ・ビューを問い合せます。
12.9.6 Database Vault操作の制御の無効化
Database Vault操作の制御を無効にするには、DBMS_MACADM.DISABLE_APP_PROTECTION
PL/SQLプロシージャを使用します。
DV_OWNER
ロールを付与されている共通ユーザーとしてCDBルートにログインします。DBMS_MACADM.DISABLE_APP_PROTECTION
プロシージャを実行します。- CDB環境内のすべてのPDBに対するDatabase Vault操作の制御を無効にするには、次のようにします。
EXEC DBMS_MACADM.DISABLE_APP_PROTECTION;
- 特定のPBB (
HRPDB
など)に対するDatabase Vault操作の制御を無効にするには、次のようにします。EXEC DBMS_MACADM.DISABLE_APP_PROTECTION ('HRPDB');
- CDB環境内のすべてのPDBに対するDatabase Vault操作の制御を無効にするには、次のようにします。
12.10 マルチテナント・ローカル・ユーザーによる共通操作のブロックの防止
マルチテナント・ローカル・ユーザーが共通ユーザー・オブジェクトに対してOracle Database Vaultの保護を作成しようとした場合に共通操作がブロックされないようにすることができます。
- マルチテナント・ローカル・ユーザーによる共通操作のブロックの防止について
ルート内のDV_OWNER
ロールを持つユーザーは、ローカルPDBユーザーが共通ユーザーのローカル・オブジェクトに対してOracle Database Vaultコントロールを作成できるかどうかを制御できます。 - ローカル・ユーザーによる共通操作のブロックの防止
ローカル・ユーザーによって共通操作がブロックされないようにするには、ルートでDBMS_MACADM.ALLOW_COMMON_OPERATION
プロシージャを実行します。
12.10.1 マルチテナント・ローカル・ユーザーによる共通操作のブロックの防止について
ルート内のDV_OWNER
ロールを持つユーザーは、ローカルPDBユーザーが共通ユーザーのローカル・オブジェクトに対してOracle Database Vaultコントロールを作成できるかどうかを制御できます。
ローカル・ユーザーが、共通ユーザーが所有するローカル・オブジェクトに、またはアプリケーション共通ユーザーが所有するオブジェクトにOracle Database Vaultコントロール(レルムやコマンド・ルールなど)を適用できる場合、共通ユーザーまたはアプリケーション共通ユーザーはPDBの自身のスキーマ内のローカル・データへのアクセスをブロックされる可能性があります。これにより、データベースやアプリケーションのメンテナンスに必要な一般的な操作が実行されなくなる場合があります。また、ローカル・ユーザーは、共通ユーザーに対してCONNECTコマンド・ルールを作成して、この共通ユーザーがこの共通ユーザーのオブジェクトが存在するPDBにログインできないようにすることができます。
ルート内のDV_OWNER
ロールを付与された共通ユーザーは、ローカル・ユーザーによって共通操作がブロックされないようにするために、ルートでDBMS_MACADM.ALLOW_COMMON_OPERATION
プロシージャを実行できます。
DV_OWNER
またはDV_ADMIN
ロールを持つユーザーは、DBMS_MACADM.ALLOW_COMMON_OPERATION
の現在の設定状況を確認するために、DVSYS.DBA_DV_COMMON_OPERATION_STATUS
データ・ディクショナリ・ビューを問い合せることができます。
12.10.2 ローカル・ユーザーによる共通操作のブロックの防止
ローカル・ユーザーによって共通操作がブロックされないようにするには、ルートでDBMS_MACADM.ALLOW_COMMON_OPERATION
プロシージャを実行します。
ALLOW COMMON OPERATION
をTRUE
に設定すると、ローカル・ユーザーは、共通ユーザー・オブジェクトに対するOracle Database Vaultコントロールの作成を制限されます。この設定は、共通ユーザー・オブジェクトに対して作成された既存のローカルPDB Database Vaultコントロールに適用されるため、共通ユーザーには適用されません。
12.11 Oracle Recovery ManagerとOracle Database Vault
Oracle Database Vault環境ではRecovery Manager(RMAN)を使用できます。
Oracle Database VaultでRMANを使用する場合の機能は、標準のOracle Database環境での機能とほぼ同じです。ただし、エクスポート操作を試行する場合、RMANのリカバリ表および表パーティション機能は、レルムで保護された表と連携しないことに注意してください。エクスポート操作を実行するには、全表リカバリを実行してから、Database Vault認可ユーザーが実際に保護されている保護表のエクスポートを実行する必要があります。
表をリカバリしようとしたときにRMANの表および表パーティション・リカバリ機能とレルム保護された表が連携しないことに注意してください。その表をリカバリするには、データベース全体のリカバリを実行してから、Database Vault認可ユーザーが、レルムで保護された表をエクスポートし既存のデータベースにインポートする必要があります。
12.12 Oracle Database VaultでXStreamを使用するための権限
Oracle Database Vault環境でOracle Streamsを使用する場合、適切な権限が必要です。
これらの権限は次のとおりです。
-
XStreamを構成するには、
DV_XSTREAM_ADMIN
ロールが付与されている必要があります。 -
レルムで保護された表に変更を適用するには、そのレルムへのアクセスが認可されている必要があります。たとえば:
EXEC DBMS_MACADM.ADD_AUTH_TO_REALM('realm_name','username');
DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE
プロシージャを実行する前に、DV_ACCTMGR
ロールが付与されている必要があります。
12.13 Oracle Database VaultでOracle GoldenGateを使用するための権限
Oracle Database Vault環境でOracle GoldenGateを使用する場合、適切な権限が必要です。
これらの権限は次のとおりです。
-
Oracle GoldenGateを構成するには、ユーザーに
DV_GOLDENGATE_ADMIN
ロールが付与されている必要があります。 -
ユーザーがOracle GoldenGateの
TRANLOGOPTIONS DBLOGREADER
メソッドを使用してREDOログにアクセスする必要がある場合は、ユーザーにDV_GOLDENGATE_REDO_ACCESS
ロールが付与されている必要があります。たとえば、
DV_GOLDENGATE_ADMIN
ロールとDV_GOLDENGATE_REDO_ACCESS
ロールをgg_admin
というユーザーに付与するには、次のようにします。GRANT DV_GOLDENGATE_ADMIN, DV_GOLDENGATE_REDO_ACCESS TO gg_admin;
-
ユーザーに
DV_ACCTMGR
ロールが付与されていないと、レプリケートされた側でこのユーザーがユーザーを作成することはできません。 -
ユーザーは、手続き型レプリケーションを実行する前に、トリガーなしモードで抽出操作を実行する必要があります。
-
レルムで保護された表に変更を適用するには、そのレルムへのアクセスが認可されている必要があります。たとえば:
EXEC DBMS_MACADM.ADD_AUTH_TO_REALM('realm_name','username');
-
SYS
ユーザーは、次のように、SYSTEM
スキーマでデータ定義言語(DDL)を実行する認可を与えられている必要があります。EXECUTE DVSYS.DBMS_MACADM.AUTHORIZE_DDL('SYS', 'SYSTEM');
-
ユーザーは、Oracleデフォルト・コンポーネント保護レルムへの認可を与えられている必要があります。たとえば、このレルム認可を
gg_admin
というユーザーに与えるには、次のようにします。BEGIN DVSYS.DBMS_MACADM.ADD_AUTH_TO_REALM( REALM_NAME => 'Oracle Default Component Protection Realm', GRANTEE => 'gg_admin', AUTH_OPTIONS => 1); END; /
ノート:
Oracle GoldenGateは、SYS
、SYSTEM
およびGoldenGate関連スキーマのオブジェクトを問い合せ、更新および管理します。いずれかのスキーマがOracle Database Vaultレルムによって保護されている場合、GoldenGate Extract操作は失敗する可能性があります。Oracle Database VaultではOracleデフォルト・コンポーネント保護レルム
を使用してディクショナリ関連オブジェクトが保護されるため、SYS
やSYSTEM
などのデフォルト・スキーマの保護に、カスタムOracle Database VaultレルムまたはカスタムOracle Database Vaultコマンド・ルールを使用しないことをお薦めします。
12.14 Oracle Database Vault環境でのデータ・マスキングの使用
Oracle Database Vault環境でデータ・マスキングを実行するには、正しい認可が必要です。
- Oracle Database Vaultが有効なデータベースでのデータ・マスキングについて
Oracle Database Vaultが有効なデータベースでは、Database Vaultの認可を受けたユーザーのみがDatabase Vaultで保護されたデータベース・オブジェクトのデータをマスクできます。 - データ・ディクショナリ・レルム認可へのデータ・マスキング・ユーザーの追加
データ・マスキング・ユーザーをOracleデフォルト・コンポーネント保護レルムに追加するとデータ・ディクショナリ・レルム認可を付与できます。 - マスクする表またはスキーマへのアクセス権のユーザーへの付与
マスクする表またはスキーマへのアクセス権をユーザーに付与するには、適切なレルムに対してユーザーを認可する必要があります。 - データ・マスキングの権限を制御するコマンド・ルールの作成
Oracle Database Vault環境でデータ・マスキングを使用するには、表、パッケージおよびトリガーを管理する権限が必要です。
12.14.1 Oracle Database Vaultが有効なデータベースでのデータ・マスキングについて
Oracle Database Vaultが有効なデータベースでは、Database Vaultの認可を受けたユーザーのみがDatabase Vaultで保護されたデータベース・オブジェクトのデータをマスクできます。
Database Vault以外の環境では、SELECT_CATALOG_ROLE
およびDBA
ロールを付与されたユーザーがデータ・マスキングを行えます。ただし、Database Vaultを使用する場合、ユーザーに追加の権限が必要です。この項では、ユーザーがDatabase Vaultで保護されたオブジェクトのデータをマスクできるようにするために使用できる3つの方法について説明します。
ユーザーに適切な権限がない場合、マスキング定義の作成時またはジョブの実行時に次のエラーが発生します。
ORA-47400: Command Rule violation for string on string ORA-47401: Realm violation for string on string. ORA-47408: Realm violation for the EXECUTE command ORA-47409: Command Rule violation for the EXECUTE command ORA-01301: insufficient privileges
12.14.2 データ・ディクショナリ・レルム認可へのデータ・マスキング・ユーザーの追加
データ・マスキング・ユーザーをOracleデフォルト・コンポーネント保護レルムに追加するとデータ・ディクショナリ・レルム認可を付与できます。
Oracleデータ・ディクショナリでは、SYS
およびSYSTEM
などのOracle Databaseカタログ・スキーマへのアクセスが制御されます。(これらのスキーマをすべて示すリストについては、「デフォルトのレルム」を参照)。システム権限およびデータベース管理者ロールを付与する機能も制御されます。ユーザーをOracleデフォルト・コンポーネント保護レルムに追加する場合、これらのユーザーに、Oracleデータ・ディクショナリに関連付けられている権限がすでにあれば、これらのユーザーはDatabase Vault環境で同じ権限を持ちます。したがって、ユーザーをこのレルムに追加する場合、このユーザーが信頼できるユーザーであることを確認します。
-
Oracleデフォルト・コンポーネント保護レルムにユーザーを追加するには、
DBMS_MACADM.ADD_AUTH_TO_REALM
プロシージャを使用します。
たとえば:
BEGIN DBMS_MACADM.ADD_AUTH_TO_REALM( realm_name => 'Oracle Default Component Protection Realm', grantee => 'DBA_JSMITH', auth_options => DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT); END; /
12.14.3 マスクする表またはスキーマへのアクセス権のユーザーへの付与
マスクする表またはスキーマへのアクセス権をユーザーに付与するには、適切なレルムに対してユーザーを認可する必要があります。
データ・マスクする表または表のスキーマがレルム内にある場合、データ・マスキングを行うユーザーを参加者または所有者としてレルム認可に追加する必要があります。表またはスキーマに、他のレルムで保護された表内にある依存オブジェクトがある場合、それらのレルムに対する参加者または所有者認可もユーザーに付与する必要があります。
-
データ・マスクするオブジェクトを保護するレルムに対して、データ・マスキング・ユーザーを認可するには、
DBMS_MACADM.ADD_AUTH_TO_REALM
プロシージャを使用します。
次の例では、ユーザーDBA_JSMITH
に、Business Apps Realmと呼ばれるレルムで保護されたHR.EMPLOYEES
表に対する認可を付与する方法を示します。
BEGIN DBMS_MACADM.ADD_AUTH_TO_REALM( realm_name => 'Business Apps Realm', grantee => 'DBA_JSMITH', auth_options => DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT; END; /
12.14.4 データ・マスキングの権限を制御するコマンド・ルールの作成
Oracle Database Vault環境でデータ・マスキングを使用するには、表、パッケージおよびトリガーを管理する権限が必要です。
データ・マスキングを行うには、ユーザーは、マスキング・オブジェクトに対するCREATE TABLE
、SELECT TABLE
、ALTER TABLE
およびDROP TABLE
権限を持っている必要があります。作成する依存オブジェクトがある場合は、CREATE PACKAGE
、CREATE TRIGGER
などの適切な権限を持っている必要があります。
データ・マスキングの権限を粒度レベルで制御するためのコマンド・ルールを作成できます。これを行うには、データ・マスクする必要のあるオブジェクトへのユーザー・アクセスを禁止または許可するコマンド・ルールを作成します。たとえば、ユーザーがデータ・マスキングを行うユーザーのリスト内にあるかどうかをチェックするAllow Data Maskingと呼ばれるコマンド・ルールを作成できます。ログインするユーザーがこれらのユーザーのいずれかの場合、コマンド・ルールはtrueと評価され、ユーザーは、保護されたオブジェクトに対してデータ・マスクを作成することが許可されます。
データ・マスキング権限を制御するコマンド・ルールを作成するには:
12.15 Oracle Database VaultにおけるOracle Database監査の使用
Oracle Database Vault環境で監査レコードを管理および表示する権限を付与および取り消します。
- Oracle Database VaultにおけるOracle Database監査の使用について
Oracle Database Vault環境で監査認可を付与および取り消す権限を誰が持つかを制御することで、監査管理をより厳密に制御できます。 - 監査ポリシーの管理および関連する監査タスクの認可
Oracle DatabaseのAUDIT_ADMIN
ロールに関連付けられたタスクの実行をユーザーに認可できます。 - 監査データを表示および分析する機能の認可
Oracle DatabaseのAUDIT_VIEWER
ロールに関連付けられたタスクの実行をユーザーに認可できます。
12.15.1 Oracle Database VaultにおけるOracle Database監査の使用について
Oracle Database Vault環境で監査認可を付与および取り消す権限を誰が持つかを制御することで、監査管理をより厳密に制御できます。
ノート:
Oracle Databaseリリース23c以降、従来の監査はサポートされなくなりました。統合監査ポリシーの作成や管理などの監査タスクを担当するユーザーに対して、Oracle DatabaseのAUDIT_ADMIN
ロールおよびAUDIT_VIEWER
ロールによって提供される認可を付与および取り消すことができます。これらのロールはOracle Databaseに固有であり、Oracle Database Vaultの一部ではないことに注意してください。
-
AUDIT_ADMINロール。このOracle Databaseロールでは、統合およびファイングレイン監査ポリシーの作成、
AUDIT
およびNOAUDIT
SQL文の使用、監査データの表示、および監査証跡の管理が可能です。このロールは信頼できるユーザーにのみ付与する必要があります。 -
AUDIT_VIEWERロール。このOracle Databaseロールでは、ユーザーが監査データを表示および分析できます。これは、
DBMS_AUDIT_UTIL
PL/SQLパッケージに対するEXECUTE
権限を提供します。このロールが必要なユーザーの種類は、通常は外部監査者です。
Oracle Database Vaultは、Oracle Audit
レルム(必須レルム)を使用して、SYS
スキーマのAUDSYS
スキーマおよび監査関連オブジェクト(監査関連のSYS
所有の表、ビュー、パッケージなど)を保護します。また、この認可により、SYS.AUD$
およびSYS.FGA_LOG$
表のダイレクトDMLおよびDDLが回避されます。
12.15.2 監査ポリシーの管理および関連する監査タスクの認可
Oracle DatabaseのAUDIT_ADMIN
ロールに関連付けられたタスクの実行をユーザーに認可できます。
- AUDIT_ADMIN認可の付与
データベース管理者に、Oracle DatabaseのAUDIT_ADMIN
ロールを付与されたユーザーに対して有効化されている監査関連タスクの実行を認可できます。 - AUDIT_ADMIN認可の取消し
AUDIT_ADMIN
認可が付与されているデータベース管理者から認可を取り消すことができます。
12.15.2.1 AUDIT_ADMIN認可の付与
データベース管理者に、Oracle DatabaseのAUDIT_ADMIN
ロールを付与されたユーザーに対して有効化されている監査関連タスクの実行を認可できます。
12.15.3 監査データを表示および分析する機能の認可
Oracle DatabaseのAUDIT_VIEWER
ロールに関連付けられたタスクの実行をユーザーに認可できます。
- AUDIT_VIEWER認可の付与
データベース管理者に、Oracle DatabaseのAUDIT_VIEWER
ロールを付与されたユーザーに対して有効化されている監査関連タスクの実行を認可できます。 - AUDIT_VIEWER認可の取消し
AUDIT_VIEWER
認可が付与されているデータベース管理者から認可を取り消すことができます。
12.15.3.1 AUDIT_VIEWER認可の付与
データベース管理者に、Oracle DatabaseのAUDIT_VIEWER
ロールを付与されたユーザーに対して有効化されている監査関連タスクの実行を認可できます。
12.16 スタンドアロンのOracle DatabaseをPDBに変換してCDBにプラグイン
リリース12cから19cのスタンドアロンのOracle DatabaseデータベースはPDBに変換可能で、さらにこのPDBはCDBにプラグインできます。
12.17 Oracle Database Vault環境でのORADEBUGユーティリティの使用
ORADEBUG
ユーティリティは、主にOracleサポートがOracle Databaseで生じる問題を診断する場合に使用します。
ORADEBUG
ユーティリティを実行できるかどうかを制御できます。統合監査環境では、ORADBUG
コマンドが強制的に監査されます。この制御は、特権OSユーザー(Oracleサーバー・プロセスと同じOSユーザーIDを持つOSユーザー)には適用されません。このようなユーザーは他の手段(たとえば、デバッガ)を使用してOracleプロセスを完全に制御および調査できるため、この例外が発生します。