Formato do log de auditoria do Banco de Dados SQL

Aplica-se a: Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics

A auditoria do Banco de Dados SQL do Azure rastreia eventos de banco de dados e os grava em um log de auditoria na sua conta de armazenamento do Azure ou os envia ao Hub de Eventos ou Log Analytics para análise e processamento downstream.

Convenções de nomenclatura

Auditoria de blob

Os logs de auditoria do Armazenamento de Blobs do Azure são armazenados em um contêiner denominado sqldbauditlogs na conta de armazenamento do Azure. A hierarquia de diretórios dentro do contêiner está no formato <ServerName>/<DatabaseName>/<AuditName>/<Date>/. O formato de nome do arquivo de Blob é <CreationTime>_<FileNumberInSession>.xel, em que CreationTime está no formato hh_mm_ss_ms UTC, e FileNumberInSession é um índice em execução em casos de logs de sessão que abrangem vários arquivos de Blob.

Por exemplo, para o banco de dados Database1 em Server1 é possível o seguinte caminho válido:

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

Os logs de auditoria de réplicas somente leitura são armazenados no mesmo contêiner. A hierarquia de diretórios dentro do contêiner está no formato <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/. O nome do arquivo de Blob compartilha o mesmo formato. Os logs de auditoria de réplicas somente leitura são armazenados no mesmo contêiner.

Hub de evento

Os eventos de auditoria são gravados no namespace e no hub de eventos definidos durante a configuração de auditoria e são capturados no corpo de eventos do Apache Avro e armazenados usando a formatação JSON com codificação UTF-8. Para ler os logs de auditoria, você pode usar as Ferramentas Avro ou ferramentas similares que processam esse formato.

Log Analytics

Os eventos de auditoria são gravados no workspace do Log Analytics definido durante a configuração de auditoria, na tabela AzureDiagnostics com a categoria SQLSecurityAuditEvents e na tabela com a categoria DevOpsOperationsAudit para as operações de Suporte da Microsoft. Para obter informações úteis adicionais sobre o idioma e os comandos de pesquisa do Log Analytics, consulte Referência de pesquisa do Log Analytics.

Campos de log de auditoria

Nome (blob) Nome (Hubs de Eventos/Log Analytics) Descrição Tipo de blob Tipo de Hubs de Eventos/Log Analytics
action_id action_id_s ID da ação varchar(4) string
action_name action_name_s Nome da ação N/D string
additional_information additional_information_s Qualquer informação adicional sobre o evento, armazenado em XML nvarchar(4000) string
affected_rows affected_rows_d Número de linhas afetadas pela consulta BIGINT INT
application_name application_name_s Nome do aplicativo 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 no qual ocorre a auditoria varchar(2) string
class_type_desc class_type_description_s Descrição da entidade auditável na qual a auditoria ocorre N/D string
client_ip client_ip_s IP de origem do aplicativo cliente nvarchar(128) string
connection_id N/D ID da conexão no servidor GUID N/D
data_sensitivity_information data_sensitivity_information_s Tipos de informações e rótulos de confidencialidade retornados pela consulta auditada, com base nas colunas classificadas no banco de dados. Saiba mais sobre a Descoberta e classificação de dados do Banco de Dados SQL do Azure nvarchar(4000) string
database_name database_name_s O contexto do banco de dados no qual a ação aconteceu sysname string
database_principal_id database_principal_id_d ID do contexto do usuário de banco de dados no qual a ação é executada INT INT
database_principal_name database_principal_name_s Nome do contexto do usuário de banco de dados no qual a ação é executada 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 é acionada datetime2 DATETIME
host_name N/D O nome do host do cliente string N/D
is_column_permission is_column_permission_s Sinalizador que indica se esta é uma permissão no nível de coluna. 1 = verdadeiro, 0 = falso bit string
N/D is_server_level_audit_s Sinalizador indicando se essa auditoria está no nível do servidor N/D string
object_id object_id_d A ID da entidade na qual a auditoria ocorreu. Isso inclui: objetos de servidor, bancos de dados, objetos de banco de dados e objetos de esquema. 0 se a entidade for o próprio servidor ou se a auditoria não for realizada no nível de um objeto INT INT
object_name object_name_s O nome da entidade na qual a auditoria ocorreu. Isso inclui: objetos de servidor, bancos de dados, objetos de banco de dados e objetos de esquema. 0 se a entidade for o próprio servidor ou se a auditoria não for realizada no nível de um objeto sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s A ID do aplicativo de camada intermediária que se conectou ao Banco de Dados SQL usando acesso OBO. varchar(120) string
permission_bitmask permission_bitmask_s Quando aplicável, mostra as permissões concedidas, negadas ou revogadas varbinary(16) string
response_rows response_rows_d Número de linhas retornadas no conjunto de resultados BIGINT INT
schema_name schema_name_s O contexto do esquema no qual a ação aconteceu. NULL para auditorias realizadas fora de um esquema sysname string
N/D securable_class_type_s O objeto protegível que é mapeado para o class_type que está sendo auditado N/D string
sequence_group_id sequence_group_id_g Identificador exclusivo varbinary GUID
sequence_number sequence_number_d Rastreia a sequência de registros dentro de um único registro de auditoria que é muito grande para se ajustar no buffer de gravação das auditorias. A auditoria de Banco de Dados SQL do Azure e a Auditoria do Azure Synapse armazenam 4.000 caracteres de dados para campos de caracteres em um registro de auditoria. Quando houver mais de 4.000 caracteres, todos os dados além dos primeiros 4.000 caracteres serão truncados INT INT
server_instance_name server_instance_name_s Nome da instância de servidor no qual a auditoria ocorreu sysname string
server_principal_id server_principal_id_d ID do contexto de logon em que a ação é executada INT INT
server_principal_name server_principal_name_s Logon atual sysname string
server_principal_sid server_principal_sid_s SID do logon atual varbinary string
session_id session_id_d ID da sessão em que ocorreu o evento SMALLINT INT
session_server_principal_name session_server_principal_name_s Entidade de segurança do servidor da sessão sysname string
instrução statement_s Instrução T-SQL que foi executada (se houver) nvarchar(4000) string
bem-sucedido succeeded_s Indica se a ação que disparou o evento foi realizada com êxito. Para todos os demais eventos que não são de logon de lote, reporta somente se a verificação de permissões foi bem-sucedida ou não, e não a operação. 1 = êxito, 0 = falha bit string
target_database_principal_id target_database_principal_id_d O banco de dados principal na operação GRANT/DENY/REVOKE é executada. 0 se não aplicável INT INT
target_database_principal_name target_database_principal_name_s Usuário de destino da ação. NULL se não for aplicável string string
target_server_principal_id target_server_principal_id_d Diretor de Servidor que o GRANT/operação do DENY/REVOKE é executada em. Retorna 0 se não aplicável INT INT
target_server_principal_name target_server_principal_name_s Logon de destino da ação. NULL se não for aplicável sysname string
target_server_principal_sid target_server_principal_sid_s SID do logon de destino. NULL se não for aplicável varbinary string
transaction_id transaction_id_d Somente SQL Server (começando com 2016) – 0 para o Banco de Dados SQL do Azure BIGINT INT
user_defined_event_id user_defined_event_id_d ID de evento definido pelo usuário passada como um argumento a sp_audit_write. NULL para eventos do sistema (padrão) e diferente de zero para eventos definidos pelo usuário. Para obter mais informações, confira sp_audit_write (Transact-SQL) SMALLINT INT
user_defined_information user_defined_information_s Informação definida pelo usuário passada como um argumento a sp_audit_write. NULL para eventos do sistema (padrão) e diferente de zero para eventos definidos pelo usuário. Para obter mais informações, confira sp_audit_write (Transact-SQL) nvarchar(4000) string

Próximas etapas

Saiba mais sobre a auditoria do Banco de Dados SQL do Azure.