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)とのバインディング関係を連鎖的に削除し、該当ユーザーによる操作は監査の対象外となります。