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

Область применения: База данных SQL AzureAzure Synapse Analytics

Аудит для Базы данных SQL Azure и Azure Synapse Analytics поддерживает запись событий базы данных в учетную запись хранения Azure, расположенную за виртуальной сетью и брандмауэром.

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

Внимание

Если учетная запись хранения находится за виртуальной сетью или брандмауэром, необходимо использовать проверку подлинности с помощью управляемой учетной записи (роль участника по данным блобов хранилища), а не ключи доступа к хранилищу. Портал Azure настраивает это автоматически при сохранении параметров аудита. Если вы настраиваете аудит через REST API или PowerShell, не указывайте storageAccountAccessKey, так как управляемая идентификация сервера уже выполняет аутентификацию в учетной записи хранения.

Общие сведения

Виртуальная сеть Azure — это стандартный строительный блок для частной сети в Azure. Виртуальная сеть позволяет ресурсам Azure различных типов (например, виртуальным машинам Azure) обмениваться данными друг с другом через локальные сети и через Интернет. Виртуальная сеть похожа на традиционную сеть в вашем центре обработки данных, которая предлагает такие дополнительные преимущества, связанные с использованием инфраструктуры Azure, как возможность масштабирования, обеспечение доступности и изоляция.

Дополнительные сведения о концепциях, рекомендациях и других аспектах виртуальных сетей Azure см. в статье Что такое виртуальная сеть Azure?

Дополнительные сведения о создании виртуальной сети см. в статье Создание виртуальной сети с помощью портала Azure.

Предварительные требования

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

  • Учетная запись хранения общего назначения версии 2. Если у вас есть учетная запись хранения общего назначения версии 1 или учетная запись хранилища больших двоичных объектов, обновите е до учетной записи хранения общего назначения версии 2. Дополнительные сведения см. в разделе Типы учетных записей хранения.
  • Хранилище класса Premium с BlockBlobStorage поддерживается
  • Учетная запись хранения должна относиться к тому же клиенту и находиться в том же регионе, что и логический SQL сервер (подписка может быть другой).
  • Для учетной записи хранения Azure требуется Allow trusted Microsoft services to access this storage account. Его можно настроить в разделе Брандмауэры и виртуальные сети для учетной записи хранения.
  • У вас должно быть разрешение Microsoft.Authorization/roleAssignments/write в выбранной учетной записи хранения. Дополнительные сведения см. в статье Встроенные роли Azure.

Примечание.

Если аудит учетной записи хранения уже включен на сервере или базе данных, а целевая учетная запись хранения перемещается за брандмауэром, журналы аудита теряют доступ на запись к учетной записи хранения. Чтобы возобновить аудит, необходимо изменить параметры аудита на портале 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.

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

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

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

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

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

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

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

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

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

  1. Зарегистрируйте сервер с помощью идентификатора 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
    

    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. Назначьте серверу, на котором размещена база данных, зарегистрированная в Microsoft Entra ID на предыдущем шаге, роль "Участник данных хранилища Blob".

    Подробные инструкции см. в статье Назначение ролей 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.

Примечание.

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