13 Oracle Label Securityでの監査

統合監査を使用するようにデータベースを構成していない場合、Oracle Label Security監査を使用できます。

13.1 Oracle Label Securityの監査について

Oracle Label Securityの監査は標準Oracle Database監査を補完するために、独自の管理操作とポリシー権限の使用を追跡します。

SA_AUDIT_ADMINパッケージまたはOracle Enterprise Managerを使用して、Oracle Label Securityポリシーの監査オプションを設定および変更できます。

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

指定した監査オプションは、現行セッションではなく後続のセッションにのみ適用されます。監査オプションは、監査が無効化されている場合にも指定できます。このように指定するのみではオーバーヘッドは発生しません。Oracle Label Security監査を有効にすると、オプションが有効になり、標準Oracle Database監査によって作成されたオーバーヘッド以外のオーバーヘッドが生成されます。

Oracle Label Securityでは、オペレーティング・システムの監査証跡に書き込まれる監査データ用のラベルは提供されないことに注意してください。Oracle Label Securityのすべての監査レコードは、オペレーティング・システムの監査が有効化されている場合にも、データベースの監査証跡に直接書き込まれます。監査が無効化されている場合、Oracle Label Securityの監査レコードは生成されません。

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

13.2 システム単位の監査: AUDIT_TRAIL初期化パラメータ

統合監査を有効にしていない場合、Oracle Label Securityで監査レコードが生成されるように、まずシステム単位の監査を有効にする必要があります。

システム単位の監査を有効にするには、データベースのパラメータ・ファイル内にOracle Database AUDIT_TRAIL初期化パラメータを設定できます。

AUDIT_TRAILパラメータを次のいずれかの値に設定できます。

表13-1 AUDIT_TRAILパラメータの設定

設定 説明

DB

データベース監査を有効化し、すべての監査レコードをデータベースの監査証跡に送ります。このアプローチを選択するようにお薦めします。

AUDIT_TRAILDBに設定しても、一部のレコードは常にオペレーティング・システムの監査証跡に送られることに注意してください。これには、STARTUPおよびSHUTDOWN文に加えて、CONNECT AS SYSOPERまたはSYSDBAが含まれます。

DB, EXTENDED

AUDIT_TRAIL=DBに設定した場合のアクションをすべて実行し、AUD$表のSqlBindおよびSqlText CLOB型の列を移入します。

OS

オペレーティング・システムの監査を有効化します。これにより、ほとんどのOracle Database監査レコードがデータベースではなくオペレーティング・システムに送られます。レコードには、Oracle Label Securityラベルは含まれません。これに対して、Oracle Label Securityの監査はすべてラベルとともにデータベースに送られます。

AUDIT_TRAILOSに設定した場合、Oracle Label Security固有の監査レコードはデータベース監査証跡に書き込まれ、他のOracle Database監査レコードはオペレーティング・システム監査証跡(オペレーティング・システム・データにポリシー列はありません)に書き込まれます。

NONE

監査を無効にします。これはデフォルトです。

パラメータ・ファイルの編集後に、データベース・インスタンスを再起動して、指定したデータベースの監査を有効化または無効化します。

監査オプションを設定する前に、AUDIT_TRAILパラメータを設定してください。このパラメータを設定しなくても、監査オプションは設定できます。ただし、このパラメータを設定してデータベース・インスタンスを再起動するまで、監査レコードはデータベースに書き込まれません。

関連項目:

13.3 Oracle Label Securityの監査を有効または無効にする方法

システム単位の監査を有効化した後に、Oracle Label Securityの監査を有効化または無効化できます。

Oracle Label Securityの監査を使用するには、policy_DBAロールが必要で、SA_AUDIT_ADMIN PL/SQLパッケージ・プロシージャを使用する必要があります。

13.4 Oracle Label Securityと統合監査

Oracle Databaseは、統合監査証跡を使用して、Oracle Label Securityなどの様々な監査ソースから情報を取得します。

監査ポリシーを使用してOLSの監査を構成できます。Oracle Database 12cリリース1 (12.1)のOracle Label Security監査により、OLSポリシーの有効化や無効化などの追加のイベントを監査できます。

データベースをOracle Database 12cリリース1 (12.1)にアップグレードしても、統合監査を使用するように構成していない場合は、この章で説明する12cより前のOLS監査を使用する必要があります。

Oracle Database監査機能では、実行する操作に責任を持つデータベース・ユーザーを保持できます。特定のデータベース・オブジェクト、操作、ユーザーおよび権限を追跡できます。Oracle Label Securityはこの機能を補完するために、独自の管理操作とポリシー権限の使用を追跡します。また、ポリシー監査オプションを設定および変更するためのSA_AUDIT_ADMINパッケージも用意されています。

関連項目:

統合監査を使用するようにアップグレード後のデータベースを構成する手順は、『Oracle Databaseアップグレード・ガイド』を参照してください。移行後は、『Oracle Databaseセキュリティ・ガイド』でOLS統合監査の情報を参照してください

13.5 Oracle Label Securityの監査のヒント

Oracleでは、Oracle Label Securityの監査に関する一連のヒントが提供されています。

13.5.1 SA_AUDIT_ADMINオプションの設定方針

監査オプションを設定する前に、必要以上のイベントを記録せずに問題のイベントを監視するように、監査方針を検討する必要があります。

アプリケーション、ユーザー・ベース、構成および他の外部要因が変化することがあるため、この方針は定期的に見直してください。

Oracle Label Securityオプション、およびOracle Database監査機能によって提供されたオプションは、特定の監査要件またはアプリケーションに依存する監査要件のすべてに直接には対処しないことがあります。ただし、データベース・トリガーを使用すると、より汎用的な監査機能では監査したり記録できない特定のイベントを監査し、特定の情報を記録できます。

関連項目:

監査でのトリガーの使用の詳細は、『Oracle Database概要』を参照してください

13.5.2 権限付き操作の監査

Oracle Label Securityの権限を必要とする操作を監査する場合を考えます。

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