Azure Synapse Analytics audit log format

Tip

Microsoft Fabric Data Warehouse は、将来のアーキテクチャ、組み込みの AI、および新機能を備えた、Data Lake 基盤上のエンタープライズ 規模のリレーショナル ウェアハウスです。 データ ウェアハウスを初めて使用する場合は、Fabric Data Warehouseから始めます。 既存の dedicated SQL プール ワークロードは、Fabric にアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。

Azure Synapse Analytics監査はデータベースイベントを追跡し、Azure Storageに書き込むか、Azure Event HubsやAzure Monitor Log Analyticsに送って下流の処理と分析を行います。

名前付け規則

ブロブ監査

Azure Blob Storageに保存された監査ログは「sqldbauditlogs」というコンテナに保存されます。 コンテナ内のディレクトリ階層は <ServerName>/<DatabaseName>/<AuditName>/<Date>/です。 ブロブファイル名形式は <CreationTime>_<FileNumberInSession>.xelで、 CreationTime はUTC hh_mm_ss_ms 形式を使用し、セッションが複数のブロブファイルにまたがる際 FileNumberInSession 実行中のインデックスです。

例えば、以下のパスはサーバーServer1のデータベースDatabase1に有効です。

Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel

Event Hubs

監査イベントは名前空間に書き込み、監査用に設定されたイベントハブに送信されます。 イベントは Apache Avro のイベント本体に記録され、UTF-8エンコーディングを用いたJSONフォーマットを使用します。

Log Analytics

監査イベントは、設定されたLog Analyticsワークスペース内のAzureDiagnosticsテーブルに書き込みます。 データベース監査イベントはSQLSecurityAuditEventsカテゴリを使用し、Microsoftサポート操作はDevOpsOperationsAuditカテゴリを使用します。 クエリのガイダンスについては、Log Analyticsクエリを参照してください。

監査ログフィールド

名前(ブロブ) 名称(Event Hubs/Log Analytics) Description BLOB の種類 Event Hubs/Log Analytics タイプ
action_id action_id_s アクションの ID varchar(4) string
action_name action_name_s アクションの名称 N/A string
additional_information additional_information_s イベントに関する追加情報はXMLとして保存されます nvarchar(4000) string
affected_rows affected_rows_d クエリの影響を受ける行数 bigint int
application_name application_name_s クライアントアプリケーションの名前 nvarchar(128) string
audit_schema_version audit_schema_version_d 常に1 int int
class_type class_type_s 監査が行われる監査対象事業体の種類 varchar(2) string
class_type_desc class_type_description_s 監査が行われる監査対象事業体の説明 N/A string
client_ip client_ip_s クライアント アプリケーションのソース IP nvarchar(128) string
connection_id N/A サーバー内の接続の ID GUID N/A
data_sensitivity_information data_sensitivity_information_s データベースにある分類済みの列に基づく、監査済みクエリが返す情報の種類と機密ラベル。 詳細については、Azure Synapse Analytics security: Threat protectionをご覧ください。 nvarchar(4000) string
database_name database_name_s この動作が発生したデータベースコンテキスト sysname string
database_principal_id database_principal_id_d アクションが行われるデータベースのユーザーコンテキストのID int int
database_principal_name database_principal_name_s アクションが行われるデータベースのユーザーコンテキストの名前 sysname string
duration_milliseconds duration_milliseconds_d クエリ実行時間 (ミリ秒) bigint int
event_time event_time_t 監査可能なアクションが実行される日時 datetime2 datetime
host_name N/A クライアント ホスト名 string N/A
is_column_permission is_column_permission_s これが列レベルのアクセス許可であるかどうかを示すフラグ。 1 = true、0 = false bit string
N/A is_server_level_audit_s この監査がサーバーレベルで行われているかどうかを示すフラグ N/A string
object_ id object_id_d 監査が発生したエンティティの ID。 これにはサーバーオブジェクト、データベース、データベースオブジェクト、スキーマオブジェクトが含まれます。 エンティティがサーバー自体である場合や、監査がオブジェクトレベルで行われていない場合は0です int int
object_name object_name_s 監査が発生したエンティティの名前。 これにはサーバーオブジェクト、データベース、データベースオブジェクト、スキーマオブジェクトが含まれます。 エンティティがサーバー自体である場合や、監査がオブジェクトレベルで行われていない場合は0です sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s OBOアクセスを使ってAzure Synapse Analyticsに接続した中間層アプリケーションのアプリケーションID。 varchar(120) string
permission_bitmask permission_bitmask_s 該当する場合、許可、拒否、または取り消されたアクセス許可を表示します。 varbinary(16) string
response_rows response_rows_d 結果セットで返される行数 bigint int
schema_name schema_name_s アクションが発生したスキーマ コンテキスト。 NULL スキーマ外で行われる監査の場合 sysname string
N/A securable_class_type_s 監査対象の class_type にマッピングされるセキュラブルオブジェクト N/A string
sequence_group_id sequence_group_id_g ユニーク識別子 varbinary GUID
sequence_number sequence_number_d 大きすぎて監査の書き込みバッファーに収まらなかった 1 つの監査レコード内のレコードの順序を追跡します。 Azure Synapse Analytics 監査は、監査レコードの文字フィールドに対して4000文字のデータを保存します。 4000文字を超える場合、最初の4000文字を超えるデータは切り詰められます int int
server_instance_name server_instance_name_s 監査が行われたサーバーインスタンスの名前 sysname string
server_principal_id server_principal_id_d アクションが行われるログインコンテキストのID int int
server_principal_name server_principal_name_s 現在のログイン sysname string
server_principal_sid server_principal_sid_s 現在のログインSID varbinary string
session_id session_id_d 事件が発生したセッションのID smallint int
session_server_principal_name session_server_principal_name_s セッション用サーバープリンシパル sysname string
statement statement_s 実行されたT-SQL文(もしあれば) nvarchar(4000) string
succeeded succeeded_s イベントをトリガーしたアクションが成功したかどうかを示します。 ログインやバッチ以外のイベントについては、権限チェックが成功したか失敗したかのみを報告し、操作自体は報告しません。 1 = 成功、0 = 失敗 bit string
target_database_principal_id target_database_principal_id_d GRANT / DENY / REVOKE操作が実行されるデータベースプリンシパル。適用できない場合は0です。 int int
target_database_principal_name target_database_principal_name_s アクションの対象ユーザー。 NULL 該当しない場合は string string
target_server_principal_id target_server_principal_id_d GRANT / DENY / REVOKE操作が実行されるサーバー プリンシパル。 該当しない場合は0の返還 int int
target_server_principal_name target_server_principal_name_s アクションの対象ログイン。 NULL 該当しない場合は sysname string
target_server_principal_sid target_server_principal_sid_s 対象ログインのセキュリティ ID。 NULL 該当しない場合は varbinary string
transaction_id transaction_id_d Not populated for Azure Synapse Analytics bigint int
user_defined_event_id user_defined_event_id_d sp_audit_writeの引数として渡されるユーザー定義のイベント ID。 NULL システム イベント (既定) の場合は 0 以外、ユーザー定義イベントの場合は 0 以外。 詳細については、 sp_audit_write(Transact-SQL) smallint int
user_defined_information user_defined_information_s ユーザー定義情報は sp_audit_writeに引数として渡されます。 システムイベントにはNULL(デフォルト)、ユーザー定義イベントにはnon-zeroを割り当てます。 詳細については、 sp_audit_write(Transact-SQL) nvarchar(4000) string