Formato do registo de auditoria da Base de Dados SQL

Aplica-se a:Banco de Dados SQL do Azure Azure SQLManaged InstanceAzure 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 em sua conta de armazenamento do Azure ou os envia para o Hub de Eventos ou o Log Analytics para processamento e análise downstream.

Convenções de nomenclatura

Auditoria de Blob

Os logs de auditoria armazenados no armazenamento de Blob do Azure são armazenados em um contêiner nomeado sqldbauditlogs na conta de armazenamento do Azure. A hierarquia de diretórios dentro do contêiner é do formato <ServerName>/<DatabaseName>/<AuditName>/<Date>/. O formato de nome de arquivo Blob é , onde CreationTime está no formato UTC hh_mm_ss_ms e FileNumberInSession é <CreationTime>_<FileNumberInSession>.xelum índice em execução caso os logs de sessão se estendem por vários arquivos Blob.

Por exemplo, para o banco de dados Database1 a Server1 seguir é um possível caminho válido:

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

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

Hub de Eventos

Os eventos de auditoria são escritos no espaço de nomes e no hub de eventos que foi definido durante a configuração da auditoria e são capturados no corpo dos eventos do Apache Avro e armazenados com a formatação JSON e codificação UTF-8. Para ler os registos de auditoria, pode utilizar as Ferramentas Avro ou ferramentas semelhantes que processem este formato.

Log Analytics

Os eventos de auditoria são gravados no espaço de trabalho do Log Analytics definido durante a configuração da auditoria, na tabela com a categoria e na tabela com a AzureDiagnostics categoria SQLSecurityAuditEventsDevOpsOperationsAudit para Operações de Suporte da Microsoft. Para obter informações úteis adicionais sobre os comandos e a linguagem de pesquisa do Log Analytics, veja Referência de pesquisa do Log Analytics.

Campos do log de auditoria

Nome (blob) Nome (Hubs de Eventos/Análise de Log) Descrição Tipo de blob Tipo de Hubs de Eventos/Análise de Log
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 número inteiro
application_name application_name_s Nome do aplicativo cliente Nvarchar(128) string
audit_schema_version audit_schema_version_d Sempre 1 número inteiro número inteiro
class_type class_type_s Tipo de entidade auditável em que a auditoria ocorre Varchar(2) string
class_type_desc class_type_description_s Descrição da entidade auditável em que a auditoria ocorre 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. 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 ocorreu sysname string
database_principal_id database_principal_id_d ID do contexto de usuário do banco de dados em que a ação é executada número inteiro número inteiro
database_principal_name database_principal_name_s Nome do contexto de usuário do 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 número inteiro
event_time event_time_t Data e hora em que a ação auditável é acionada datetime2 datetime
host_name N/A Nome do host do 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 Sinalizador que indica se esta auditoria está no nível do servidor N/A string
object_ ID object_id_d A ID da entidade na qual a auditoria ocorreu. Isso inclui os objetos : server, 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 executada em um nível de objeto número inteiro número inteiro
object_name object_name_s O nome da entidade na qual a auditoria ocorreu. Isso inclui os objetos : server, 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 executada em um nível de 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 o acesso OBO. Varchar(120) string
permission_bitmask permission_bitmask_s Quando aplicável, mostra as permissões que foram concedidas, negadas ou revogadas Varbinário(16) string
response_rows response_rows_d Número de linhas retornadas no conjunto de resultados bigint número inteiro
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 protegível que mapeia para o class_type que está sendo auditado N/A string
sequence_group_id sequence_group_id_g Identificador exclusivo 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. Observe que o Banco de Dados SQL do Azure e a Auditoria de Sinapse do Azure armazenam 4000 caracteres de dados para campos de caracteres em um registro de auditoria. Quando houver mais de 4000 caracteres, quaisquer dados além dos primeiros 4000 caracteres serão truncados número inteiro número inteiro
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 no qual a ação é executada número inteiro número inteiro
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 número inteiro
session_server_principal_name session_server_principal_name_s Principal do servidor para 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 bem-sucedida. Para eventos diferentes de login e lote, isso informa apenas se a verificação de permissão foi bem-sucedida ou falhou, não a operação. 1 = sucesso, 0 = reprovação bit string
target_database_principal_id target_database_principal_id_d A entidade de banco de dados na qual a operação GRANT/DENY/REVOKE é executada. 0 se não aplicável número inteiro número inteiro
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 operação GRANT/DENY/REVOKE é executada. Devolve 0 se não for aplicável número inteiro número inteiro
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 Somente SQL Server (a partir de 2016) - 0 para o Banco de Dados SQL do Azure bigint número inteiro
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 obter mais informações, consulte sp_audit_write (Transact-SQL) smallint número inteiro
user_defined_information user_defined_information_s Informações definidas pelo usuário passadas 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 obter mais informações, consulte sp_audit_write (Transact-SQL) Nvarchar(4000) string

Próximos passos

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