Запись результатов аудита в учетную запись хранения за брандмауэром или виртуальной сетью
Область применения: База данных SQL Azure Azure Synapse Analytics
Аудит для Базы данных SQL Azure и Azure Synapse Analytics поддерживает запись событий базы данных в учетную запись хранения Azure, расположенную за виртуальной сетью и брандмауэром.
В этой статье описаны два способа настройки Базы данных SQL Azure и учетной записи хранения Azure для использования этой возможности. Первый способ выполняется на портале Azure, а второй через интерфейсы REST.
Общие сведения
Виртуальная сеть Azure — это стандартный строительный блок для частной сети в Azure. Виртуальная сеть позволяет ресурсам Azure различных типов (например, виртуальным машинам Azure) обмениваться данными друг с другом через локальные сети и через Интернет. Виртуальная сеть похожа на традиционную сеть в вашем центре обработки данных, которая предлагает такие дополнительные преимущества, связанные с использованием инфраструктуры Azure, как возможность масштабирования, обеспечение доступности и изоляция.
Дополнительные сведения о концепциях, рекомендациях и других аспектах виртуальных сетей Azure см. в статье Что такое виртуальная сеть Azure?
Дополнительные сведения о создании виртуальной сети см. в статье Создание виртуальной сети с помощью портала Azure.
Необходимые компоненты
Чтобы записывать результаты аудита в учетную запись хранения за виртуальной сетью или брандмауэром, требуется следующее:
- Учетная запись хранения общего назначения версии 2. Если у вас есть учетная запись хранения общего назначения версии 1 или учетная запись хранилища больших двоичных объектов, обновите е до учетной записи хранения общего назначения версии 2. Дополнительные сведения см. в разделе Типы учетных записей хранения.
- Хранилище класса Premium с BlockBlobStorage поддерживается
- Учетная запись должна относиться к тому же клиенту и региону, что и логический сервер SQL Server (подписка может быть другой).
- Для учетной записи хранения Azure требуется разрешение
Allow trusted Microsoft services to access this storage account
. Его можно настроить в разделе Брандмауэры и виртуальные сети для учетной записи хранения. - У вас должно быть разрешение
Microsoft.Authorization/roleAssignments/write
в выбранной учетной записи хранения. Дополнительные сведения см. в статье Встроенные роли Azure.
Примечание.
Если аудит учетной записи хранения уже включен на сервере или базе данных, а целевая учетная запись хранения перемещается за брандмауэром, мы потеряем доступ на запись к учетной записи хранения и журналы аудита перестают записываться в него. Чтобы сделать аудит работой, необходимо изменить параметры аудита на портале.
Настройка на портале Azure
Войдите на портал Azure со своей подпиской. Перейдите к группе ресурсов и серверу.
Щелкните Аудит под заголовком "Безопасность". Выберите Вкл.
Выберите Хранилище. Выберите учетную запись хранения, в которой будут храниться журналы. Учетная запись хранения должна соответствовать предварительным требованиям.
Откройте раздел Сведения о хранилище.
Примечание.
Если выбранная учетная запись хранения находится за виртуальной сетью, вы увидите следующее сообщение:
You have selected a storage account that is behind a firewall or in a virtual network. Using this storage requires to enable 'Allow trusted Microsoft services to access this storage account' on the storage account and creates a server managed identity with 'storage blob data contributor' RBAC.
Если такого сообщения нет, значит учетная запись хранения находится не за виртуальной сетью.
Выберите количество дней для периода хранения. Затем нажмите кнопку ОК. Журналы старше периода хранения удаляются.
Выберите Сохранить в параметрах аудита.
Итак, вы успешно настроили аудит для записи в учетную запись хранения за виртуальной сетью или брандмауэром.
Настройка с помощью команд REST
Вместо портала Azure можно использовать команды REST, чтобы настроить аудит для записи событий базы данных в учетную запись хранения за виртуальной сетью и брандмауэром.
Перед запуском примеров скриптов, приведенных в этом разделе, их необходимо изменить. Замените в сценарии следующие значения.
Пример значения | Пример описания |
---|---|
<subscriptionId> |
Идентификатор подписки Azure |
<resource group> |
Группа ресурсов |
<logical SQL Server> |
Имя сервера |
<administrator login> |
Учетная запись администратора |
<complex password> |
Сложный пароль для учетной записи администратора |
Чтобы настроить аудит SQL для записи событий в учетную запись хранения за виртуальной сетью или брандмауэром, сделайте следующее:
Зарегистрируйте сервер с помощью идентификатора Microsoft Entra (ранее — Azure Active Directory). Это можно сделать с помощью команд PowerShell или REST API.
PowerShell
Connect-AzAccount Select-AzSubscription -SubscriptionId <subscriptionId> Set-AzSqlServer -ResourceGroupName <your resource group> -ServerName <azure server name> -AssignIdentity
Образец запроса
PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<azure server name>?api-version=2015-05-01-preview
Текст запроса
{ "identity": { "type": "SystemAssigned", }, "properties": { "fullyQualifiedDomainName": "<azure server name>.database.windows.net", "administratorLogin": "<administrator login>", "administratorLoginPassword": "<complex password>", "version": "12.0", "state": "Ready" } }
Назначьте роль участника данных BLOB-объектов хранилища серверу, на котором размещена база данных, зарегистрированная в идентификаторе Microsoft Entra, на предыдущем шаге.
Подробные инструкции см. в статье Назначение ролей Azure с помощью портала Microsoft Azure.
Примечание.
Этот шаг могут выполнять только участники с правами владельца. Сведения о различных встроенных ролях Azure см. в этом руководстве.
Настройте политику аудита больших двоичных объектов сервера без указания storageAccountAccessKey:
Образец запроса
PUT https://management.azure.com/subscriptions/<subscription ID>/resourceGroups/<resource group>/providers/Microsoft.Sql/servers/<azure server name>/auditingSettings/default?api-version=2017-03-01-preview
Текст запроса
{ "properties": { "state": "Enabled", "storageEndpoint": "https://<storage account>.blob.core.windows.net" } }
Использование Azure PowerShell
- Создание или обновление политики аудита базы данных (Set-AzSqlDatabaseAudit)
- Создание или обновление политики аудита сервера (Set-AzSqlServerAudit)
Использование шаблона Azure Resource Manager
Вы можете настроить аудит для записи событий базы данных в учетной записи хранения за пределами виртуальной сети и брандмауэра с помощью шаблона Azure Resource Manager, как показано в следующем примере:
Внимание
Чтобы использовать учетную запись хранения, которая находится за виртуальной сетью и брандмауэром, необходимо задать для параметра isStorageBehindVnet значение true.
Примечание.
Указанные примеры размещены во внешнем общедоступном репозитории и предоставляются "как есть", без каких-либо гарантий. Они не поддерживаются ни в одной программе или службе поддержки Майкрософт.