15 Oracle Label Securityの監査

Oracle Label Security管理者アクティビティを含め、Oracle Label Securityでのすべてのアクティビティを監査できます。

15.1 統合監査を使用したOracle Label Securityの監査

Oracle Label Securityのすべての監査ポリシーを統合監査に移行することをお薦めします。

Oracle Label Securityで新しい監査ポリシーを作成するには、統合監査を使用する必要があります。従来の監査は、Oracle Database 23aiでは新しい監査設定ではサポートされなくなりましたが、現在存在する従来の監査設定は引き続き適用されます。

統合監査証跡では、Oracle Label Securityの統合監査ポリシー・レコード、および必須のOracle Label Security監査が取得されます。

統合監査を使用すると、従来型Oracle Label Security監査で取得できるデータよりも詳細に調整されたデータを取得するカスタム・ポリシーを作成できます。たとえば、Oracle Label Security固有イベント(Oracle Label Securityポリシーの作成、変更および削除など)とおよびアクティビティ(認可、およびOracle Label Security権限を必要とする操作など)を取得する統合監査ポリシーを作成できます。ポリシーには、条件、アプリケーション・コンテキスト値、トップレベルの文を監査する機能など、標準の統合監査機能を組み込むことができます。

この機能に加え、統合監査には、次の事前定義済監査ポリシーがあります:

  • ORA_DV_SCHEMA_CHANGES: Oracle Database Vaultを使用しているときに、Oracle Label SecurityのLBACSYSスキーマ・オブジェクトおよびOracle Database VaultのDVSYSスキーマ・オブジェクトを監視します。
  • ORA_OLS_SCHEMA_CHANGES: これもLBACSYSスキーマ・オブジェクトを監視します。この監査ポリシーは、Oracle Database Vaultを使用していない場合に使用できます。ORA_DV_SCHEMA_CHANGESがすでに有効になっている場合は、このポリシーを有効にする必要はありません。

新しいOracle Databaseインストールでは、ORA_DV_SCHEMA_CHANGESがデフォルトで有効になっています。アップグレードしたOracleデータベースでは、これはデフォルトでは有効になっていません。Oracle Database Vaultをアンインストールすると、ORA_DV_SCHEMA_CHANGESが削除されます。LBACSYSオブジェクトが引き続き監査されるようにするために、ORA_DV_SCHEMA_CHANGESが有効になっている場合はOracle Database Vaultのアンインストール中にORA_OLS_SCHEMA_CHANGESが有効になります。

新規ポリシーを作成すると、そのポリシーのラベル列がデータベースの監査証跡に追加されます。ラベル列は、監査機能が有効か無効か、およびデータベースの監査とオペレーティング・システムの監査のどちらを使用するかに関係なく作成されます。監査表にレコードが書き込まれるたびに、各ポリシーはそのレコードについてセッション・ラベルを示すラベルを提供します。管理者は監査ビューを作成し、これらのラベルを表示できます。監査表では、ラベルは行へのアクセスを制御するのではなく、行の機密性を記録するのみであることに注意してください。

統合監査を使用する場合は、監査設定を統合監査に移行し、従来型監査を無効にし、古い監査レコードをアーカイブしパージするまで、Oracle Label Security従来型監査の設定で引き続き監査レコードが収集されます。それ以降は、統合監査ポリシーのPL/SQL文によってOracle Label Security監査ポリシーを管理できます。

Oracle Label Securityに対して加えた構成変更はすべて強制的に監査され、これらの監査レコードが統合監査証跡に書き込まれます。これには、権限のないユーザーが試みたOracle Label Securityポリシーの変更の操作も含まれます。

Oracle Label Securityの権限を必要とする操作を監査する場合を考えます。これらの権限では機密性の高い操作が実行され、適正に使用されなければセキュリティを侵害する可能性があるため、表示と使用を厳密に監視する必要があります。

Oracle Label Securityの統合監査ポリシーの作成方法を学習するには、『Oracle Databaseセキュリティ・ガイド』を参照してください。従来型監査のサポート終了の仕組みの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

15.2 従来型監査を使用したOracle Label Securityの監査

従来の監査はサポートされませんが、アップグレードされたデータベースでの従来の監査設定をいくつかの制限付きで使用できます。

従来型監査はOracle Databaseリリース23ai以降ではサポートが終了していますが、リリース23aiにアップグレードした場合、既存のOracle Label Security従来型監査の設定はすべて維持されます。Oracle Label Securityのデータ・ディクショナリ・ビューでは、引き続きこの監査情報が取得されます。既存の従来の監査設定は削除できます。ただし、新しい従来の監査設定は作成できません。かわりに、更新する必要がある従来型監査ポリシーと置き換える、統合監査ポリシーを作成する必要があります。

従来型監査の設定は、SA_AUDIT_ADMIN PL/SQLパッケージによって制御します。監査は、ユーザーのアクションの成功(ポリシーによってユーザーがタスクを実現できたかどうか)、またはユーザーのアクションの失敗(ポリシー違反したかどうか)のいずれかを示します。Oracle Label Securityでは、このパッケージを使用して監査レコードを収集し、これらの監査レコードをOracle Label Securityデータ・ディクショナリ・ビューに書き込みます。

新しいデータベースをインストールし、Oracle Label Securityを使用するようにそれを構成すると、それでは統合監査のみが使用されます。以前のリリースからアップグレードした場合、Oracle Label Securityでは、そのリリースで実装された監査が使用されます。

従来の監査証跡には、アクション番号のみがリストされます。対応する監査アクション名を見つけるには、LABACSYS.OLS$AUDIT_ACTIONSシステム表を問い合せます。この表を問い合せるには、AUDIT_VIEWERAUDIT_ADMINまたはpolicy_DBAロールが必要です。

従来の監査のサポート終了の仕組みの詳細は、Oracle Databaseセキュリティ・ガイドを参照してください。

15.3 Oracle Label Securityポリシーに対する従来型監査の無効化

Oracle Label Securityポリシーに対して従来型監査を無効にし、かわりに統合監査を使用することをお薦めします。

  1. LBAC_DBAデータベース・ロール(または特定のポリシーに対するpolicy_DBAロール)があるユーザーとして、データベース・インスタンスにログインします。
  2. 必要に応じて、ALL_SA_POLICIESデータ・ディクショナリ・ビューを問い合せて、従来型監査を無効にするポリシーを見つけます。
  3. SA_AUDIT_ADMIN.NOAUDITプロシージャを実行してポリシーに対する監査を無効にします。
    例:
    BEGIN
     SA_AUDIT_ADMIN.NOAUDIT(
      policy_name      => 'hr_ols_pol',
      users            => 'jjones',
      audit_option     => NULL);
    END;
    /

    この指定の説明

    • policy_name: ポリシー名は必須です。既存のポリシーを見つけるには、ALL_SA_POLICIESデータ・ディクショナリ・ビューのPOLICY_NAME列を問い合せます。
    • users: この設定は、監査されたユーザーのカンマ区切りリストです。この設定を省略するか、usersパラメータにNULLを指定すると、すべてのユーザーに対して監査が無効になります。Oracle Label Securityのポリシーを変更する権限があるユーザーを見つけるには、ALL_SA_AUDIT_OPTIONSビューのUSER_NAME列を問い合せます。
    • audit_option: hr_ols_polポリシーに適用されたすべての監査オプションを無効にするには、NULLを指定します。特定のオプションのみを無効にする場合は、次のような選択肢があります:
      • APPLY: 表およびスキーマへの指定したOracle Label Securityポリシーの適用について監査を無効にします。
      • REMOVE: 表およびスキーマからの指定したOracle Label Securityポリシーの削除について監査を無効にします。
      • SET: ユーザー認証の設定、およびユーザー権限とプログラム権限の監査を無効にします。
      • PRIVILEGES: ポリシー固有のすべての権限の使用について監査を無効にします。