Azure Synapse Analytics audit log format

Dica

Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial baseado numa base de data lake, com uma arquitetura pronta para o futuro, IA incorporada e novas funcionalidades. Se és novo no data warehousing, começa pelo Fabric Data Warehouse. As cargas de trabalho existentes de pool SQL dedicado podem atualizar para o Fabric para acessar novas capacidades em ciência de dados, análise em tempo real e relatórios.

Azure Synapse Analytics auditoria acompanha eventos da base de dados e escreve-os para Armazenamento do Azure, ou envia-os para Hubs de Eventos do Azure ou Azure Monitor Log Analytics para processamento e análise a jusante.

Convenções de nomenclatura

Auditoria de blobs

Os registos de auditoria armazenados no Armazenamento de Blobs do Azure são armazenados num contentor chamado sqldbauditlogs. A hierarquia de diretórios dentro do contentor é <ServerName>/<DatabaseName>/<AuditName>/<Date>/. O formato do nome do ficheiro blob é <CreationTime>_<FileNumberInSession>.xel, onde CreationTime usa o formato UTC hh_mm_ss_ms e FileNumberInSession é um índice em execução quando uma sessão abrange vários ficheiros blob.

Por exemplo, o seguinte caminho é válido para base de dados Database1 no servidor Server1:

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

Hubs de Eventos

Os eventos de auditoria são gravados no namespace e no hub de eventos configurados para auditoria. Os eventos são capturados no corpo dos eventos Apache Avro e utilizam formatação JSON com codificação UTF-8.

Análise de Registos

Os eventos de auditoria são escritos na AzureDiagnostics tabela no espaço de trabalho Log Analytics configurado. Os eventos de auditoria da base de dados utilizam a SQLSecurityAuditEvents categoria, e as operações de suporte da Microsoft utilizam essa DevOpsOperationsAudit categoria. Para orientações de consultas, consulte Log Analytics queries.

Campos de registo de auditoria

Nome (blob) Nome (Event Hubs/Log Analytics) Description Tipo de blob Tipo Event Hubs/Log Analytics
action_id action_id_s ID da ação varchar(4) string
action_name action_name_s Nome da ação N/A string
additional_information additional_information_s Qualquer informação adicional sobre o evento, armazenada como XML nvarchar(4000) string
affected_rows affected_rows_d Número de linhas afetadas pela consulta bigint int
application_name application_name_s Nome da aplicação cliente nvarchar(128) string
audit_schema_version audit_schema_version_d Sempre 1 int int
class_type class_type_s Tipo de entidade auditável em que ocorre a auditoria varchar(2) string
class_type_desc class_type_description_s Descrição da entidade auditável onde ocorre a auditoria N/A string
client_ip client_ip_s IP de origem do aplicativo cliente nvarchar(128) string
connection_id N/A ID da conexão no servidor GUID N/A
data_sensitivity_information data_sensitivity_information_s Tipos de informação e rótulos de sensibilidade retornados pela consulta auditada, com base nas colunas classificadas no banco de dados. Para mais informações, consulte Azure Synapse Analytics security: Threat protection nvarchar(4000) string
database_name database_name_s O contexto da base de dados em que a ação ocorreu sysname string
database_principal_id database_principal_id_d ID do contexto do utilizador da base de dados em que a ação é realizada int int
database_principal_name database_principal_name_s Nome do contexto do utilizador da base de dados em que a ação é realizada sysname string
duration_milliseconds duration_milliseconds_d Duração da execução da consulta em milissegundos bigint int
event_time event_time_t Data e hora em que a ação auditável é lançada datetime2 datetime
host_name N/A Nome do host cliente string N/A
is_column_permission is_column_permission_s Sinalizador que indica se esta é uma permissão de nível de coluna. 1 = verdadeiro, 0 = falso bit string
N/A is_server_level_audit_s Flag a indicar se esta auditoria é ao nível do servidor N/A string
object_ id object_id_d A ID da entidade na qual a auditoria ocorreu. Isto inclui os : objetos servidor, bases de dados, objetos de base de dados e objetos esquema. 0 se a entidade for o próprio servidor ou se a auditoria não for realizada ao nível de um objeto int int
object_name object_name_s O nome da entidade na qual a auditoria ocorreu. Isto inclui os : objetos servidor, bases de dados, objetos de base de dados e objetos esquema. 0 se a entidade for o próprio servidor ou se a auditoria não for realizada ao nível de um objeto sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s O ID da aplicação de nível intermédio que se ligava ao Azure Synapse Analytics usando acesso OBO. varchar(120) string
permission_bitmask permission_bitmask_s Quando aplicável, mostra as permissões que foram concedidas, negadas ou revogadas varbinary(16) string
response_rows response_rows_d Número de linhas devolvidas no conjunto de resultados bigint int
schema_name schema_name_s O contexto do esquema no qual a ação ocorreu. NULL para auditorias que ocorrem fora de um esquema sysname string
N/A securable_class_type_s Objeto securável que corresponde ao class_type objeto auditado N/A string
sequence_group_id sequence_group_id_g Identificador único varbinary GUID
sequence_number sequence_number_d Rastreia a sequência de registros em um único registro de auditoria que era muito grande para caber no buffer de gravação para auditorias. O Azure Synapse Analytics auditing armazena 4000 caracteres de dados para campos de caracteres num registo de auditoria. Quando houver mais de 4000 caracteres, quaisquer dados para além dos primeiros 4000 caracteres serão truncados int int
server_instance_name server_instance_name_s Nome da instância do servidor onde ocorreu a auditoria sysname string
server_principal_id server_principal_id_d ID do contexto de login em que a ação é realizada int int
server_principal_name server_principal_name_s Login atual sysname string
server_principal_sid server_principal_sid_s SID de login atual varbinary string
session_id session_id_d ID da sessão em que o evento ocorreu smallint int
session_server_principal_name session_server_principal_name_s Principal de servidor para sessão sysname string
statement statement_s Instrução T-SQL que foi executada (se existia) nvarchar(4000) string
succeeded succeeded_s Indica se a ação que disparou o evento foi bem-sucedida. Para eventos que não sejam login e batch, isto só informa se a verificação de permissões teve sucesso ou falhou, não a operação. 1 = sucesso, 0 = reprovação bit string
target_database_principal_id target_database_principal_id_d O princípio da base de dados sobre o qual a GRANT//DENYREVOKE operação é executada. 0 se não aplicável int int
target_database_principal_name target_database_principal_name_s Usuário alvo da ação. NULL se não aplicável string string
target_server_principal_id target_server_principal_id_d Entidade de servidor na qual a GRANT/DENY/REVOKE operação é executada. Retorna 0 se não aplicável int int
target_server_principal_name target_server_principal_name_s Login alvo da ação. NULL se não aplicável sysname string
target_server_principal_sid target_server_principal_sid_s SID do login de destino. NULL se não aplicável varbinary string
transaction_id transaction_id_d Not populated for Azure Synapse Analytics bigint int
user_defined_event_id user_defined_event_id_d ID de evento definido pelo usuário passado como um argumento para sp_audit_write. NULL para eventos do sistema (padrão) e diferente de zero para evento definido pelo usuário. Para mais informações, veja sp_audit_write (Transact-SQL) smallint int
user_defined_information user_defined_information_s Informação definida pelo utilizador passada como argumento para sp_audit_write. NULL para eventos do sistema (por defeito) e não nulo para eventos definidos pelo utilizador. Para mais informações, veja sp_audit_write (Transact-SQL) nvarchar(4000) string