Auditoria para base de dados SQL no Fabric

Aplica-se a:Base de dados SQL em Microsoft Fabric

A auditoria para bases de dados SQL no Fabric é uma funcionalidade crítica de segurança e conformidade que permite às organizações rastrear e registar atividades de bases de dados. A auditoria apoia a conformidade, deteção de ameaças e investigações forenses, ajudando a responder a questões como quem acedeu a que dados, quando e como.

O que é auditoria SQL?

Auditoria SQL refere-se ao processo de captura e armazenamento de eventos relacionados com a atividade da base de dados. Estes eventos incluem acesso a dados, alterações de esquema, modificações de permissões e tentativas de autenticação.

No Fabric, a auditoria funciona ao nível da base de dados e suporta:

  • Monitorização de conformidade (por exemplo: HIPAA, SOX)
  • Investigações de segurança
  • Perspetivas operacionais

Objetivo de auditoria

Os registos de auditoria são escritos numa pasta de apenas leitura no OneLake e podem ser consultados usando a sys.fn_get_audit_file_v2 função T-SQL ou o OneLake Explorer.

Para base de dados SQL no Fabric, os registos de auditoria são armazenados no OneLake: https://onelake.blob.fabric.microsoft.com/{workspace_id}/{artifact_id}/Audit/sqldbauditlogs/

Estes registos são imutáveis e acessíveis aos utilizadores com permissões apropriadas. Os registos também podem ser descarregados usando o OneLake Explorer ou o Explorador de Armazenamento do Azure.

Faturação

Atualmente, escrever registos de auditoria na Fabric OneLake não acarreta custos adicionais, e o armazenamento está incluído nos limites de armazenamento da capacidade do OneLake.

Opções de configuração

Por defeito, a opção Auditar tudo captura todos os eventos, incluindo concluições em lote e autenticação bem-sucedida e falhada.

Para ser mais seletivo, escolha entre cenários de auditoria pré-configurados, por exemplo: Alterações de Permissão & Tentativas de Login, Leituras e Escritas de Dados, e/ou Alterações de Esquema.

Cada cenário pré-configurado associa-se a grupos específicos de ações de auditoria (por exemplo, SCHEMA_OBJECT_ACCESS_GROUP, DATABASE_PRINCIPAL_CHANGE_GROUP). Também pode escolher quais os eventos a auditar em Eventos Personalizados. Pode selecionar grupos de ação individuais para adaptar a auditoria às suas necessidades. Esta opção é ideal para organizações com políticas internas rigorosas de segurança.

Para filtrar consultas de acesso comuns ou conhecidas, pode fornecer expressões de predicados em Transact-SQL (T-SQL) para filtrar eventos de auditoria com base em condições (por exemplo, para excluir instruções SELECT): WHERE statement NOT LIKE '%select%'.

Permissions

Para gerir auditorias usando funções do workspace do Fabric (recomendado), deve ter pertença ao Contribuidor do workspace do Fabric ou permissões superiores.

Para gerir auditorias com permissões SQL:

  • Para configurar a auditoria da base de dados, deve ter permissão ALTERAR QUALQUER AUDITORIA DE BASE DE DADOS.
  • Para visualizar registos de auditoria usando T-SQL, deve ter a permissão VIEW DATABASE SECURITY AUDIT.

Retenção

Por defeito, os dados de auditoria são mantidos indefinidamente, a menos que configure um período de retenção personalizado para eliminar automaticamente os registos após esse período.

O Fabric armazena atualmente os registos de auditoria na pasta do item no OneLake e associa-os ao ciclo de vida do item. Se apagares o item, o Fabric também apaga os registos de auditoria. Se precisar de retenção independente do ciclo de vida do item, mova os registos de auditoria para um local de armazenamento separado (por exemplo, outra conta Lakehouse ou Armazenamento do Azure) usando ferramentas como AzCopy ou SSDT.

Retenção das definições após a restauração

Após uma operação de restauro, as definições de auditoria são mantidas, mas a Auditoria tem de ser reativada na base de dados Fabric SQL. No portal do Fabric, abra Gerir auditoria SQL e selecione Guardar.

Configurar auditoria para base de dados SQL a partir do portal Fabric

Para começar a auditar uma base de dados Fabric SQL:

  1. Navegue e abra a sua base de dados SQL no portal do Fabric.
  2. No menu principal, selecione o separador Segurança e depois selecione Gerir auditoria SQL. Captura de ecrã do portal Fabric, mostrando o separador Segurança e o botão Gerenciar auditoria SQL.
  3. O painel Gerenciar Auditoria SQL abre-se.
  4. Selecione o botão Guardar Eventos em Registos de Auditoria SQL para ativar a auditoria.
  5. Configure quais os eventos a registar na secção de Eventos da Base de Dados . Escolha Auditar tudo (predefinido) para capturar todos os eventos.
  6. Opcionalmente, configure uma política de retenção em Retention.
  7. Opcionalmente, configure uma expressão de predicado de comandos T-SQL para ignorar no campo Expressão de Predicados .
  8. Selecione Guardar.

Consultar registos de auditoria

Os registos de auditoria podem ser consultados usando as funções T-SQL sys.fn_get_audit_file e sys.fn_get_audit_file_v2.

No script a seguir, você precisa fornecer a ID do espaço de trabalho e a ID do banco de dados. Ambos podem ser encontrados no URL do portal Fabric. Por exemplo: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>. A primeira cadeia de identificador única na URL é o ID do espaço de trabalho do Fabric, e a segunda cadeia de identificador única é o ID da base de dados SQL.

  • Substitua <fabric_workspace_id> pelo ID do espaço de trabalho do Fabric. Podes encontrar o ID de um espaço de trabalho no URL, é a string única dentro de dois / caracteres depois /groups/ na janela do teu navegador.
  • Substitua <fabric sql database id> pelo seu banco de dados SQL no identificador do banco de dados Fabric. Podes encontrar o ID do item da base de dados na URL, é a string única dentro de dois / caracteres depois /sqldatabases/ na janela do teu navegador.

Por exemplo:

SELECT * FROM sys.fn_get_audit_file_v2(
  'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
  DEFAULT, DEFAULT, DEFAULT, DEFAULT );

Este exemplo recupera registos de auditoria entre 2025-11-17T08:40:40Z e 2025-11-17T09:10:40Z.

SELECT *
FROM sys.fn_get_audit_file_v2(
    'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
    DEFAULT,
    DEFAULT,
    '2025-11-17T08:40:40Z',
    '2025-11-17T09:10:40Z')

Para mais informações, consulte sys.fn_get_audit_file e sys.fn_get_audit_file_v2.

Gerir auditorias com a API REST

Também pode visualizar e configurar as definições de auditoria de bases de dados SQL de forma programática usando a API REST do Fabric. A API REST permite-lhe gerir a auditoria de forma consistente em todas as bases de dados num espaço de trabalho usando scripts PowerShell.

Para mais informações, consulte Gerir auditoria de bases de dados SQL com a API REST.

Proteger informações sensíveis nos registos de auditoria

Quando constrói SQL dinâmico concatenando valores de entrada diretamente na instrução SQL, esses valores tornam-se parte do texto da instrução. Se auditar a declaração, o registo de auditoria pode captar informações sensíveis incluídas no texto da declaração.

Para reduzir o risco de expor informações sensíveis, siga estas práticas:

  • Evite SQL dinâmico para operações que contenham valores sensíveis

    Para operações administrativas sensíveis à segurança, evite construir instruções concatenando valores sensíveis em SQL dinâmico. Sempre que possível, utilize instruções SQL nativas ou outras abordagens que impeçam que valores sensíveis sejam incorporados diretamente no texto da instrução.

    Instruções SQL dinâmicas construídas a partir de strings acessíveis pelo utilizador também tornam as suas aplicações vulneráveis a ataques de injeção SQL. A injeção SQL é um ataque em que código malicioso é inserido em strings que depois são passados para a base de dados para análise e execução. Deve testar qualquer procedimento que construa T-SQL para vulnerabilidades de injeção SQL, porque o motor de base de dados executa todas as consultas sintaticamente válidas que recebe. Use parâmetros para os valores dos dados e nunca concatene os valores dos parâmetros em texto de consulta. Valores devidamente parametrizados são tratados como dados em vez de sintaxe SQL executável.

  • Restringir o acesso aos registos de auditoria

    Limite o acesso aos registos de auditoria a utilizadores autorizados e administradores. Dentro do SQL Database Engine, as permissões SQL regulam o acesso à auditoria dentro do SQL Database Engine e podem variar consoante a plataforma e o âmbito da auditoria. Siga o princípio do privilégio mínimo e conceda apenas as permissões necessárias para gerir ou rever informações de auditoria. Existem modelos separados de permissões de auditoria ao nível do servidor e ao nível da base de dados, e o Base de Dados SQL do Azure difere do SQL Server na disponibilidade de permissões ao nível do servidor. Restringir o acesso a dados de auditoria ajuda a reduzir o risco de divulgação não autorizada quando informações sensíveis estão presentes em eventos de auditoria registados.

    O acesso a registos de auditoria fora do SQL Database Engine depende das permissões no destino configurado (como o OneLake). Siga o princípio do privilégio mínimo e conceda apenas as permissões necessárias para gerir ou rever informações de auditoria.