Aplica-se a:✅ Warehouse no Microsoft Fabric
A auditoria no Fabric Data Warehouse fornece recursos aprimorados de segurança e conformidade acompanhando e registrando eventos de banco de dados.
Você pode configurar logs de auditoria SQL no Fabric Data Warehouse no portal do Fabric ou por meio da API REST.
Pré-requisitos
Para configurar logs de auditoria SQL para Fabric Data Warehouse, você precisa dos seguintes itens:
- Um workspace do Fabric com capacidade ativa ou capacidade de avaliação.
- Acesso a um item do Armazém dentro de um espaço de trabalho.
-
Permissão de auditoria para configurar e consultar logs de auditoria. Para saber mais, consulte Permissões.
Você pode configurar logs de auditoria SQL usando o portal Fabric ou a API REST.
No espaço de trabalho do Fabric, selecione as Configurações do item de armazenamento.
Selecione a página de logs de auditoria do SQL .
Habilite a configuração Salvar eventos em logs de auditoria do SQL.
Por padrão, todas as ações são habilitadas e retidas por nove anos.
Em Eventos para Registrar, selecione quais eventos os logs de auditoria SQL capturam. Selecione as categorias de eventos ou grupos individuais de ações de auditoria que você deseja capturar. Selecione apenas os eventos necessários para otimizar o armazenamento e a relevância.
Opcionalmente, insira uma Expressão de Predicado para filtrar eventos, como excluir atividades de um principal de serviço conhecido ou identidade de automação. Use a sintaxe descrita na sintaxe de expressão de predicados.
Importante
A filtragem de predicados se aplica apenas a eventos já selecionados sob Eventos para registro. Por exemplo, para filtrar SELECT sentenças, você também deve ativar o Batch Was Completed.
Especifique um período de retenção de log desejado em Anos, Meses e Dias.
Selecione Salvar para aplicar suas configurações.
Seu depósito agora registra os eventos de auditoria selecionados e armazena os registros de forma segura no OneLake.
Baixe e instale Visual Studio Code.
Instale a extensão REST Client do Visual Studio Marketplace.
Pegue o token de portador seguindo estes passos. Você pode encontrar seu token portador do Power BI nas ferramentas de desenvolvimento do seu navegador ou pelo PowerShell.
Para usar as ferramentas de desenvolvedor do Edge para localizar seu token de autenticação Power BI:
- Abra seu workspace Microsoft Fabric em um navegador (Microsoft Edge).
- Pressione F12 para abrir as Ferramentas para Desenvolvedores.
- Selecione a guia Console. Se necessário, selecione Expandir visualização rápida para revelar o prompt do console
>.
- Digite o comando
powerBIAccessToken e pressione Enter. Clique com o botão direito do mouse na cadeia de caracteres exclusiva grande retornada no console e selecione Copiar conteúdo da cadeia de caracteres.
- Cole-o no lugar de
<bearer token> nos scripts a seguir.
Para usar o PowerShell para localizar seu token de autenticação do Power BI:
Instale o módulo MicrosoftPowerBIMgmt de Cmdlets do Microsoft Power BI para Windows PowerShell e PowerShell Core.
Install-Module -Name MicrosoftPowerBIMgmt
Use Connect-PowerBIServiceAccount para se conectar ao Power BI PowerShell e recuperar o token de portador.
Connect-PowerBIServiceAccount
$token = (Get-PowerBIAccessToken).Authorization
Write-Output "Bearer $token"
Depois de obter o token portador Power BI, envie uma PATCH solicitação usando a extensão REST Client. No VS Code, crie um novo arquivo de texto com a .http extensão.
Copie e cole a seguinte solicitação:
PATCH https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
{
"state": "Enabled",
"retentionDays": "0"
}
- Substitua
<workspaceId> e <warehouseId> pelas IDs de workspace e de warehouse correspondentes do Fabric. Para encontrar esses valores, acesse seu armazém no portal do Fabric.
-
<workspaceID>: Encontre o GUID do workspace na URL após a seção /groups/ ou executando SELECT @@SERVERNAME em um warehouse existente. Por exemplo, 11aaa111-a11a-1111-1aaa-aa111111aaa. Não inclua os caracteres /.
-
<warehouseID>: Encontre o GUID do warehouse na URL após a seção /warehouses/ ou executando SELECT @@SERVERNAME em um warehouse existente. Por exemplo, 11aaa111-a11a-1111-1aaa-aa111111aaa. Não inclua os caracteres /.
- Substitua
<BEARER_TOKEN> pelo token de portador.
- Configure
state para Enabled ativar a auditoria (use Disabled para desligar).
- Defina o
retentionDays parâmetro para 0 retenção ilimitada. Esta é a configuração padrão.
Importante
No código de exemplo de extensão, você deve incluir uma linha vazia imediatamente após fornecer o token de portador. Essa linha vazia sinaliza a extensão onde terminam os cabeçalhos HTTP e começa o corpo do comando da API, para que a API possa distinguir corretamente entre os dois.
Selecione Enviar solicitação.
Verificar o status do log de auditoria com a API REST
Para verificar se os logs de auditoria SQL estão ativados, envie uma solicitação GET usando a mesma extensão do cliente REST.
- No VS Code, crie um novo arquivo de texto com a
.http extensão.
- Copie e cole a solicitação a seguir, fornecendo seu próprio
workspaceId, <warehouseId> e <BEARER_TOKEN>.
GET https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
A resposta retorna ENABLED ou DISABLED e a configuração atual de auditActionsAndGroups e predicateExpression.
Os logs de auditoria do SQL dependem de grupos de ações predefinidos que capturam eventos específicos no banco de dados. Para obter detalhes sobre grupos de ações de auditoria, consulte SQL audit logs in Fabric Data Warehouse.
No VS Code, crie um novo arquivo de texto com a .http extensão.
Copie e cole a solicitação a seguir, fornecendo seu próprio workspaceId, <warehouseId> e <BEARER_TOKEN>.
POST https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
[ "DATABASE_OBJECT_PERMISSION_CHANGE_GROUP" ]
Selecione Enviar solicitação.
Use a mesma PATCH solicitação de API para configurar uma expressão de predicado que exclua eventos específicos da geração, como atividade de um principal de serviço conhecido ou identidade de automação. Para a sintaxe completa dos predicados, veja Sintaxe de expressão de predicados.
No VS Code, crie um novo arquivo de texto com a .http extensão.
Copie e cole a solicitação a seguir, fornecendo seu próprio workspaceId, <warehouseId> e <BEARER_TOKEN>.
PATCH https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: ******
{
"state": "Enabled",
"retentionDays": 10,
"predicateExpression": "NOT statement LIKE 'SELECT %'"
}
- Este exemplo exclui
SELECT as declarações de serem auditadas por filtragem no statement campo.
- Quando você ativa a auditoria SQL pela primeira vez, omitir
predicateExpression não se aplica a nenhum predicado. Em atualizações posteriores, omitir isso deixa o predicado existente inalterado. Especifique uma sequência vazia ("") para remover um predicado existente.
Importante
O filtragem de predicados avalia apenas eventos que já estão configurados para serem capturados. Para filtrar SELECT as instruções como mostrado neste exemplo, você também deve ativar o grupo de ações Batch Was Completed (BATCH_COMPLETED_GROUP). Para mais informações, veja Grupos de ações e ações de auditoria em nível de banco de dados.
Selecione Enviar solicitação.
Consultar logs de auditoria
Os dados de log de auditoria SQL são armazenados em . XEL no OneLake. Você pode acessar esses dados usando a função sys.fn_get_audit_file_v2 Transact-SQL (T-SQL). Para mais informações sobre como os arquivos de auditoria são armazenados no OneLake, veja os logs de auditoria SQL em Fabric Data Warehouse.
A partir do editor de consultas SQL ou de qualquer ferramenta de consulta, como o SQL Server Management Studio (SSMS) ou a extensão MSSQL para Visual Studio Code, use os seguintes exemplos de consultas T-SQL. Certifique-se de fornecer seus próprios <workspaceId> e <warehouseId>.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, default, default);
Para filtrar logs por intervalo de tempo, use a seguinte consulta:
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, '2025-03-30T08:40:40Z', '2025-03-30T09:10:40Z');
Conteúdo relacionado