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>.xel
um í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 SQLSecurityAuditEvents
DevOpsOperationsAudit
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.