Запись результатов аудита в учетную запись хранения за брандмауэром или виртуальной сетью

Применимо к: Аналитика Azure Synapse базы данных Azure SQL

Аудит для Базы данных 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 со своей подпиской. Перейдите к группе ресурсов и серверу.

  1. Щелкните Аудит под заголовком "Безопасность". Выберите Вкл.

  2. Выберите Хранилище. Выберите учетную запись хранения, в которой будут храниться журналы. Учетная запись хранения должна соответствовать предварительным требованиям.

  3. Откройте раздел Сведения о хранилище.

Примечание

Если выбранная учетная запись хранения находится за виртуальной сетью, вы увидите следующее сообщение:

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.

Если такого сообщения нет, значит учетная запись хранения находится не за виртуальной сетью.

  1. Выберите количество дней для периода хранения. Нажмите кнопку ОК. Журналы старше периода хранения удаляются.

  2. Выберите Сохранить в параметрах аудита.

Итак, вы успешно настроили аудит для записи в учетную запись хранения за виртуальной сетью или брандмауэром.

Настройка с помощью команд REST

Вместо портала Azure можно использовать команды REST, чтобы настроить аудит для записи событий базы данных в учетную запись хранения за виртуальной сетью и брандмауэром.

Перед запуском примеров скриптов, приведенных в этом разделе, их необходимо изменить. Замените в сценарии следующие значения.

Образец значения Пример описания
<subscriptionId> идентификатор подписки Azure;
<resource group> Группа ресурсов
<logical SQL Server> Имя сервера
<administrator login> Учетная запись администратора
<complex password> Сложный пароль для учетной записи администратора

Чтобы настроить аудит SQL для записи событий в учетную запись хранения за виртуальной сетью или брандмауэром, сделайте следующее:

  1. Зарегистрируйте сервер в Azure Active Directory (Azure AD). Это можно сделать с помощью команд PowerShell или REST API.

    PowerShell

    Connect-AzAccount
    Select-AzSubscription -SubscriptionId <subscriptionId>
    Set-AzSqlServer -ResourceGroupName <your resource group> -ServerName <azure server name> -AssignIdentity
    

    REST API

    Пример запроса

    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"
      }
    }
    
  2. Назначьте роль "Участник для данных BLOB-объектов хранилища" серверу, на котором размещена база данных, зарегистрированная в Azure Active Directory (Azure AD) на предыдущем шаге.

    Подробные инструкции см. в статье Назначение ролей Azure с помощью портала Microsoft Azure.

    Примечание

    Этот шаг могут выполнять только участники с правами владельца. Сведения о различных встроенных ролях Azure см. в этом руководстве.

  3. Настройте политику аудита больших двоичных объектов сервера без указания 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

Использование шаблона Azure Resource Manager

Вы можете настроить аудит для записи событий базы данных в учетной записи хранения за пределами виртуальной сети и брандмауэра с помощью шаблона Azure Resource Manager, как показано в следующем примере:

Важно!

Чтобы использовать учетную запись хранения, которая находится за виртуальной сетью и брандмауэром, необходимо задать для параметра isStorageBehindVnet значение true.

Примечание

Указанные примеры размещены во внешнем общедоступном репозитории и предоставляются "как есть", без каких-либо гарантий. Они не поддерживаются ни в одной программе или службе поддержки Майкрософт.

Дальнейшие действия