Registos de auditoria SQL no Armazém de Dados Fabric

Aplica-se a:✅ endpoint de análise SQL e armazém de dados no Microsoft Fabric

A auditoria no Fabric Data Warehouse oferece recursos aprimorados de segurança e conformidade, rastreando e registrando eventos do banco de dados.

Ao utilizar registos de auditoria SQL, pode monitorizar as atividades da base de dados, detetar potenciais ameaças à segurança e cumprir os requisitos de conformidade mantendo um registo de auditoria das ações-chave, tais como:

  • Tentativas de autenticação e alterações no controle de acesso
  • Acesso aos dados e operações de modificação
  • Alterações de esquema e atividades administrativas
  • Alterações de permissão e configurações de segurança

Importante

Por padrão, os logs de auditoria do SQL são DESATIVADOS. Os utilizadores com permissões de consultas de auditoria devem habilitar esta funcionalidade para capturar os registos.

Para começar, reveja os passos em Como configurar registos de auditoria SQL no Fabric Data Warehouse.

Armazenamento

Os registos de auditoria SQL são encriptados em repouso e armazenados no OneLake.

Para o Fabric Data Warehouse, os registos de auditoria são escritos em .XEL ficheiros armazenados na pasta de Auditoria do armazém no OneLake.

Utilizadores com as seguintes funções podem aceder à pasta de auditoria:

  • Administradores do Espaço de Trabalho
  • Membros do Espaço de Trabalho
  • Colaboradores de Workspace
  • Visualizadores da área de trabalho com permissão para leitura completa

Estes utilizadores podem:

  • Navegue pela pasta Auditoria
  • Veja os .XEL ficheiros de auditoria gerados pela auditoria SQL
  • Copie os ficheiros para análise offline
  • Abra os ficheiros com ferramentas como SQL Server Management Studio (SSMS)

Também pode consultar registos de auditoria com T-SQL via sys.fn_get_audit_file_v2.

Para obter instruções, consulte Como configurar logs de auditoria SQL no Fabric Data Warehouse.

Sugestão

A configuração de logs de auditoria no Microsoft Fabric Data Warehouse pode aumentar os custos de armazenamento, dependendo dos grupos de ações e eventos registrados. Habilite apenas os eventos necessários para evitar custos de armazenamento desnecessários.

Performance

A funcionalidade de registos de auditoria SQL está otimizada para a disponibilidade e desempenho da base de dados a ser auditada. Durante períodos de atividade muito alta ou alta carga de rede, o recurso de auditoria pode permitir que as transações prossigam sem registrar todos os eventos marcados para auditoria.

Permissões

Os utilizadores devem ter a permissão de consultas de auditoria (Audit) para configurar e consultar registos de auditoria.

  • Por padrão, Administradores do Espaço de Trabalho têm a permissão de Consultas de Auditoria a todos os itens no espaço de trabalho.
  • Os administradores podem conceder permissões de consultas de auditoria sobre itens a outros utilizadores através da caixa de diálogo de partilha.

Os Administradores de Espaço de Trabalho podem conceder permissões de consulta de Auditoria a um item usando a opção de menu partilhado no portal Fabric. Para verificar se um utilizador tem permissões de consultas de Auditoria , verifique as configurações Gerenciar Permissões.

  1. No seu item do Armazém, selecione o botão Partilhar .

    Ou, no portal Fabric, no seu espaço de trabalho. Selecione o ... menu de contexto do seu item do Armazém, selecione Gerir permissões.

  2. No painel Conceder acesso, conceder permissões a um utilizador.

    Captura de ecrã a mostrar onde selecionar a permissão de Consulta de Auditoria (Auditoria) no menu Partilhar do item.

Registos de auditoria de consultas usando permissões T-SQL

Conceda permissões aos utilizadores VIEW DATABASE SECURITY AUDIT para que possam consultar registos de auditoria usando permissões T-SQL, mesmo que não tenham funções administrativas de espaço de trabalho.

Quando concede a seguinte permissão, um utilizador pode consultar registos de auditoria utilizando a sys.fn_get_audit_file_v2 função:

GRANT VIEW DATABASE SECURITY AUDIT TO [user];

Sugestão

A VIEW DATABASE SECURITY AUDIT permissão concede apenas a capacidade de consultar registos de auditoria. Não concede acesso aos ficheiros nem permissão para modificar a configuração da auditoria.

Grupos de ações e ações de auditoria a nível de banco de dados

Para tornar a configuração do log de auditoria mais acessível, o portal do Fabric usa nomes amigáveis para ajudar administradores não SQL e outros usuários a entender facilmente os eventos capturados do Fabric Data Warehouse.

O Fabric mapeia estes nomes amigáveis para os grupos de ações subjacentes do SQL Audit. Use a tabela a seguir como referência.

Nome amigável Nome do Grupo de Ação Descrição
O objeto foi acessado DATABASE_OBJECT_ACCESS_GROUP Registra o acesso a objetos de banco de dados, como tipos de mensagens, assemblies ou contratos.
O objeto foi alterado DATABASE_OBJECT_CHANGE_GROUP Registra operações CREATE, ALTERou DROP em objetos de banco de dados.
Proprietário do objeto alterado DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP Registra alterações de propriedade de objetos de banco de dados.
A permissão do objeto foi alterada DATABASE_OBJECT_PERMISSION_CHANGE_GROUP Registra ações GRANT, REVOKEou DENY em objetos de banco de dados.
O usuário foi alterado DATABASE_PRINCIPAL_CHANGE_GROUP Registra a criação, alteração ou exclusão de entidades de banco de dados (usuários, funções).
O utilizador foi impersonado DATABASE_PRINCIPAL_IMPERSONATION_GROUP Registra operações de imitação (como EXECUTE AS).
O membro da função foi alterado DATABASE_ROLE_MEMBER_CHANGE_GROUP Registra a adição ou remoção de logons de uma função de banco de dados.
Falha do usuário ao fazer login FAILED_DATABASE_AUTHENTICATION_GROUP Registra tentativas de autenticação com falha no banco de dados.
A permissão de esquema foi usada SCHEMA_OBJECT_ACCESS_GROUP Registra o acesso a objetos de esquema.
O esquema foi alterado SCHEMA_OBJECT_CHANGE_GROUP Registra operações CREATE, ALTERou DROP em esquemas.
A permissão do objeto de esquema foi verificada SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP Registra as alterações na propriedade do objeto de esquema.
A permissão do objeto de esquema foi alterada SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP Registra ações GRANT, REVOKEou DENY em objetos de esquema.
O lote foi concluído BATCH_COMPLETED_GROUP Esse evento é gerado sempre que qualquer texto em lote, procedimento armazenado ou operação de gerenciamento de transações é concluída.
O lote foi iniciado BATCH_STARTED_GROUP Esse evento é gerado sempre que qualquer texto em lote, procedimento armazenado ou operação de gerenciamento de transações começa a ser executado.
A auditoria foi alterada AUDIT_CHANGE_GROUP Esse evento é gerado sempre que qualquer auditoria é criada, modificada ou excluída.
Usuário desconectado DATABASE_LOGOUT_GROUP Esse evento é gerado quando um usuário de banco de dados sai de um banco de dados.
Usuário conectado SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP Indica que uma entidade de segurança efetuou login com êxito em um banco de dados.

Ações de auditoria no nível de banco de dados

Para além dos grupos de ações, pode configurar ações de auditoria individuais para registar eventos específicos da base de dados:

Ação de auditoria Descrição
SELECT Registra instruções SELECT num objeto especificado.
INSERT Regista INSERT operações num objeto especificado.
UPDATE Regista UPDATE operações num objeto especificado.
DELETE Regista DELETE operações num objeto especificado.
EXECUTE Registra a execução de procedimentos armazenados ou funções.
RECEIVE Registra operações RECEIVE em filas do Service Broker.
REFERENCES Registra verificações de permissão envolvendo restrições de chave estrangeira.

Reduzir o ruído de auditoria com filtragem de predicados

Para filtrar quais os eventos capturados, use o filtro opcional de expressão de predicados .

Use filtragem de predicados para reduzir o ruído de atividades repetitivas esperadas, como identidades de automação, principais de serviço ou tarefas agendadas, sem ter de desativar os grupos de ações de que a sua organização necessita para fins de conformidade ou investigação.

  • Só quando um evento corresponde ao predicado configurado, é gerado o evento de registo de auditoria SQL para essa ação.
    • A filtragem ocorre antes do evento ser escrito, por isso os eventos excluídos não ficam disponíveis mais tarde para investigação retrospetiva. Trate as exclusões de predicados como uma decisão deliberada de política de auditoria e reveja periodicamente o predicado configurado à medida que a propriedade, permissões e perfis de risco mudam.
  • A filtragem de predicados avalia apenas eventos que já estejam configurados para serem capturados por um grupo de ações ou ações de auditoria ativadas.
    • Se o grupo de ações subjacente não estiver ativado, não é gerado nenhum evento para o predicado avaliar, e o filtro não tem efeito. Por exemplo, para filtrar SELECT instruções usando um predicado no statement campo, deve primeiro ativar o grupo de ações Batch Was Completed (BATCH_COMPLETED_GROUP).

Pode configurar uma expressão de predicados usando o portal Fabric ou a API REST. Para os passos, veja Configurar uma expressão de predicado.

Sintaxe da expressão de predicados

As expressões de predicados usam a mesma sintaxe da <predicate_expression>cláusula em CREATE SERVER AUDIT (Transact-SQL), sem a WHERE palavra-chave:

<predicate_expression> ::=
    { [ NOT ] <predicate_factor>
    [ { AND | OR } [ NOT ] { <predicate_factor> } ] [ ,... n ] }

<predicate_factor> ::=
    event_field_name { = | <> | != | > | >= | < | <= | LIKE }
    { number | 'string' }
  • event_field_name corresponde a uma coluna devolvida por sys.fn_get_audit_file (Transact-SQL). Pode usar todas as colunas documentadas, exceto file_name, audit_file_offset, e event_time.
  • action_id e class_type são cadeias, mas só podes compará-las com valores numéricos num predicado.
  • As comparações de cadeias não realizam conversão implícita de tipos.
  • O comprimento máximo de expressão é de 3.000 caracteres.
  • Uma cadeia vazia significa que não é aplicado nenhum predicado.

Por exemplo, para excluir a atividade gerada por um principal de serviço conhecido ou identidade de automação, filtre em server_principal_name. Para excluir afirmações repetitivas SELECT , filtre no statement campo: NOT statement LIKE 'SELECT %'.

Limitações

  • O teu espaço de trabalho predefinido não suporta registos de auditoria SQL.
  • Os registos de auditoria SQL não são suportados para snapshots de armazém de dados.

Importante

Os registos de auditoria são armazenados no item do Armazém no OneLake. Se eliminares o Warehouse, também apagas os ficheiros de registo de auditoria associados e já não consegues aceder a eles.
Para manter registos de auditoria para fins de conformidade ou investigação, copie os .XEL ficheiros para outro local de armazenamento antes de eliminar o Armazém.

Limitações do endpoint de análise SQL

As seguintes limitações aplicam-se ao auditar endpoints de análise SQL:

  • As operações DML não são capturadas. A auditoria não regista operações como INSERT, UPDATE, DELETE, e MERGE porque a manipulação de dados para as tabelas Lakehouse ocorre através do runtime Lakehouse em vez do endpoint de análise SQL.
  • O acesso direto à pasta de auditoria não é atualmente suportado. Os utilizadores não podem navegar nem descarregar os ficheiros de auditoria subjacentes .XEL da pasta de auditoria do Lakehouse.

Ainda pode consultar eventos de auditoria para endpoints de análise SQL usando a função sys.fn_get_audit_file_v2T-SQL.

Próximo passo