OceanBaseデータベースの監査メカニズムは、一連のフィルターを通じて特定のイベントを監査します。フィルターでフィルタリングできる次元には、アカウント、イベントタイプ、イベントプロパティなどが含まれます。各フィルターでは、フィルタリングされたイベントを監査するかどうかを選択できます。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity Editionは現在、監査機能をサポートしていません。
監査関数
説明
デフォルトのフィルターを設定することで、フィルターが明示的に設定されていないすべてのユーザーに対して有効になります。
OceanBaseデータベースMySQLモードの現行バージョンでサポートされている監査関数(式)は以下の表のとおりです。
| 関数名 | 説明 |
|---|---|
| AUDIT_LOG_FILTER_SET_FILTER | フィルターを作成します。 |
| AUDIT_LOG_FILTER_SET_USER | ユーザーにフィルターを設定します。 |
| AUDIT_LOG_FILTER_REMOVE_USER | ユーザーからフィルターを解除します。 |
| AUDIT_LOG_FILTER_REMOVE_FILTER | フィルターを削除します。 |
制限事項と注意点
式は、
SELECTステートメントの出力列(つまりselect item)に直接かつ一意に配置する必要があり、親式(parent expr)の制限はありません。式はサブクエリに記述できません。
フィルターを定義した後、ユーザーに設定する必要があり、それによって初めて最終的に有効になります。
フィルターとユーザーの関係は1対多であり、つまり1つのフィルターを複数のユーザーに設定できますが、1人のユーザーには1つのフィルターしか設定できません。
接続時に、現在のセッションが使用する監査フィルター(Audit Filter)が決定され、そのセッションのライフサイクル全体で変更されません。
AUDIT_LOG_FILTER_SET_USERおよびAUDIT_LOG_FILTER_REMOVE_USERを呼び出してフィルター(Filter)とユーザー(User)のバインディング関係を変更しても、既に接続されているセッションには影響しません。- フィルター(Filter)の定義を変更またはフィルター(Filter)を削除すると、既に接続されているセッションに影響します。
AUDIT_LOG_FILTER_REMOVE_FILTERは、このフィルター(Filter)のすべての監査ユーザー(Audit User)とのバインディング関係をカスケードで削除し、対応するユーザーの操作は監査対象外となります。