Применимо к:✅ Warehouse в Microsoft Fabric
Аудит в Data Warehouse Fabric обеспечивает расширенные возможности безопасности и соответствия требованиям путем отслеживания и записи событий базы данных.
Журналы аудита SQL можно настроить в Fabric Data Warehouse на портале Fabric или с помощью REST API.
Предпосылки
- Рабочая область Fabric с активной мощностью или пробной вместимостью.
- У вас должен быть доступ к элементу хранилища в рабочей области.
- Необходимо иметь разрешение на аудит для настройки и запроса журналов аудита. Дополнительные сведения см. в разделе Разрешения.
Журналы аудита SQL можно настроить с помощью портала Fabric или REST API.
В рабочей области Fabric выберите параметры элемента хранилища.
Выберите страницу журналов аудита SQL .
Включите параметр "Сохранить события в журналы аудита SQL".
По умолчанию все действия включены и сохраняются в течение девяти лет.
Вы можете настроить, какие события будут записываться журналами аудита SQL в разделе "События". Выберите категории событий или отдельные группы действий аудита, которые необходимо записать. Выбирайте только те события, которые требуются вашей организации для оптимизации использования хранилища и повышения релевантности данных.
Укажите требуемый период хранения журнала в годах, месяцах и днях.
Нажмите кнопку "Сохранить", чтобы применить параметры.
Теперь хранилище записывает выбранные события аудита и безопасно хранит журналы в OneLake.
Скачайте и установите Visual Studio Code.
Установите расширение клиента REST из Visual Studio Marketplace.
Получите маркер носителя, выполнив следующие действия. Маркер доступа Power BI можно найти в средствах разработчика вашего браузера либо с помощью PowerShell.
Чтобы использовать средства разработчика Edge для поиска токена доступа Power BI:
- Откройте рабочую область Microsoft Fabric в браузере (Microsoft Edge).
- Нажмите клавишу F12 , чтобы открыть средства разработчика.
- Перейдите на вкладку "Консоль ". При необходимости выберите "Развернуть быстрое представление ", чтобы открыть запрос
>консоли.
- Введите команду
powerBIAccessToken и нажмите клавишу Enter. Щелкните правой кнопкой мыши большую уникальную строку, возвращенную в консоли, и выберите " Копировать содержимое строки".
- Вставьте это на место
<bearer token> в следующих сценариях.
Используйте PowerShell, чтобы найти токен доступа Power BI:
Установите модуль MicrosoftPowerBIMgmt из Microsoft Power BI Cmdlets для Windows PowerShell и PowerShell Core.
Install-Module -Name MicrosoftPowerBIMgmt
Используйте Connect-PowerBIServiceAccount для подключения к Power BI PowerShell и получения маркера носителя.
Connect-PowerBIServiceAccount
$token = (Get-PowerBIAccessToken).Authorization
Write-Output "Bearer $token"
Получив токен носителя Power BI, можно отправить PATCH запрос с помощью расширения клиента REST. В VS Code создайте новый текстовый файл с расширением .http.
Скопируйте и вставьте следующий запрос:
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"
}
- Замените
<workspaceId> и <warehouseId> соответствующими идентификаторами рабочей области Fabric и склада. Чтобы найти эти значения, посетите склад на портале Fabric.
-
<workspaceID>: найдите GUID рабочей области в URL-адресе после раздела /groups/ или выполните команду SELECT @@SERVERNAME в существующем хранилище. Например, 11aaa111-a11a-1111-1aaa-aa111111aaa. Не добавляйте символы /.
-
<warehouseID>: Найдите GUID-идентификатор хранилища в URL после секции /warehouses/ или выполните SELECT @@SERVERNAME, чтобы найти его в существующем хранилище. Например, 11aaa111-a11a-1111-1aaa-aa111111aaa. Не добавляйте символы /.
- Замените
<BEARER_TOKEN> вашим токеном-носителем.
- Установка
state в "Включено" активирует аудит (используйте "Отключено", чтобы отключить его).
- Параметр
retentionDays установлен на 0 по умолчанию для безлимитного хранения.
Это важно
В примере кода расширения необходимо включить пустую строку сразу после предоставления маркера носителя. Эта пустая строка сигнализирует о границе, где заканчиваются заголовки HTTP и начинается тело команды API, позволяя правильно отличать одно от другого.
Выберите Отправить запрос.
Проверка состояния журнала аудита с помощью REST API
Чтобы проверить, включены ли журналы аудита SQL, отправьте запрос GET с помощью того же расширения КЛИЕНТА REST.
- В VS Code создайте новый текстовый файл с расширением
.http.
- Скопируйте и вставьте следующий запрос, указав свои
workspaceId, <warehouseId> и <BEARER_TOKEN>.
GET https://api.fabric.microsoft.com/v1/workspaces/<workspaceId>/warehouses/<warehouseId>/settings/sqlAudit
content-type: application/json
Authorization: Bearer <BEARER_TOKEN>
Ответ возвращает ENABLED или DISABLED и текущую конфигурацию auditActionsAndGroups.
Журналы аудита SQL используют предопределенные группы действий, которые фиксируют определенные события в базе данных. Дополнительные сведения о группах действий аудита см. в журналах аудита SQL в Fabric Data Warehouse.
В VS Code создайте новый текстовый файл с расширением .http.
Скопируйте и вставьте следующий запрос, указав свои workspaceId, <warehouseId> и <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" ]
Выберите Отправить запрос.
Запрос на журналы аудита
Данные журнала аудита SQL хранятся в . Файлы XEL в OneLake и доступ к ним можно получить с помощью функции sys.fn_get_audit_file_v2 Transact-SQL (T-SQL). Дополнительные сведения о том, как файлы аудита хранятся в OneLake, см. в разделе журналы аудита SQL в Fabric Data Warehouse.
Из редактора запросов SQL или любого средства запроса, например SQL Server Management Studio (SSMS) или расширения MSSQL для Visual Studio Code, используйте следующие примеры запросов T-SQL, предоставляя собственные workspaceId и <warehouseId>.
SELECT *
FROM sys.fn_get_audit_file_v2
('https://onelake.blob.fabric.microsoft.com/<workspaceId>/<warehouseId>/Audit/sqldbauditlogs/'
, default, default, default, default);
Чтобы отфильтровать журналы по диапазону времени, используйте следующий запрос:
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');
Связанный контент