Azure Synapse Analytics audit log format

Tip

Microsoft Fabric Data Warehouse — это реляционное хранилище корпоративного масштаба на основе озера данных, с архитектурой, готовой к будущему, встроенным ИИ и новыми функциями. Если вы не знакомы с хранилищем данных, начните с Fabric Data Warehouse. Существующие рабочие нагрузки выделенных пулов SQL могут быть обновлены до Fabric для доступа к новым возможностям в области науки о данных, аналитики в реальном времени и создания отчётов.

Azure Synapse Analytics аудит отслеживает события базы данных и записывает их в служба хранилища Azure или отправляет их в Центры событий Azure или Azure Monitor Log Analytics для обработки и анализа по следующему потоку.

Соглашения об именах

Блоб-аудит

Журналы аудита, хранящиеся в Хранилище BLOB-объектов Azure, хранятся в контейнере под названием sqldbauditlogs. Иерархия каталогов внутри контейнера равна <ServerName>/<DatabaseName>/<AuditName>/<Date>/. Формат имени blob — <CreationTime>_<FileNumberInSession>.xel, где CreationTime использует формат UTC hh_mm_ss_ms и FileNumberInSession является текущим индексом, когда сессия охватывает несколько blob-файлов.

Например, следующий путь верен для базы данных Database1 на сервере Server1:

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

Event Hubs

События аудита записываются в пространство имён и хаб событий, настроенные для аудита. События фиксируются в теле событий Apache Avro и используют форматирование JSON с кодированием UTF-8.

Log Analytics

События аудита записываются в AzureDiagnostics таблицу в настроенном рабочем пространстве Log Analytics. Мероприятия аудита баз данных используют эту SQLSecurityAuditEvents категорию, а операции поддержки Microsoft — эту DevOpsOperationsAudit категорию. Для рекомендаций по запросам см. в разделе Log Analytics запросы.

Поля журнала аудита

Название (blob) Название (Event Hubs/Log Analytics) Description Тип BLOB Тип Event Hubs/Log Analytics
action_id action_id_s Идентификатор действия. 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 Идентификатор подключения на сервере 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 = истинно, 0 = ложно bit string
N/A is_server_level_audit_s Флаг, указывающий, проводится ли этот аудит на уровне сервера N/A string
object_ id object_id_d Идентификатор сущности, для которой проведён аудит. Сюда входят: объекты сервера, базы данных, объекты базы данных и объекты схемы. 0, если сущность является самим сервером или если аудит не проводится на уровне объекта int int
object_name object_name_s Имя объекта, для которого проводился аудит. Сюда входят: объекты сервера, базы данных, объекты базы данных и объекты схемы. 0, если сущность является самим сервером или если аудит не проводится на уровне объекта sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s Идентификатор приложения среднего уровня, которое подключалось к Azure Synapse Analytics с помощью OBO access. 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 Отслеживает последовательность записей в одном аудиторском журнале, слишком большом, чтобы уместиться в буфер записи аудита. Аудит 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//DENYREVOKE операция. 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 SID целевого логина. 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. NULL для системных событий (по умолчанию) и ненулевых для определяемого пользователем события. Для получения дополнительной информации см. sp_audit_write (Transact-SQL) smallint int
user_defined_information user_defined_information_s Пользовательская информация, передаваемая в качестве аргумента для sp_audit_write. NULL для системных событий (по умолчанию) и ненулевой для пользовательских событий. Для получения дополнительной информации см. sp_audit_write (Transact-SQL) nvarchar(4000) string