Поделиться через


Начало работы с аудитом Управляемый экземпляр SQL Azure

Применимо к:Управляемый экземпляр SQL Azure

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

Настройка аудита для вашего экземпляра в служба хранилища Azure

В следующем разделе описывается настройка аудита в управляемом экземпляре SQL.

  1. Перейдите на портал Azure.

  2. Создайте служба хранилища Azure container, где хранятся журналы аудита.

    1. Перейдите к учетной записи хранения Azure, в которой вы хотите хранить журналы аудита.

      • Используйте учетную запись хранения в том же регионе, что и управляемый экземпляр SQL, чтобы избежать операций чтения и записи между регионами.
      • Если ваша учетная запись хранения находится за виртуальной сетью или брандмауэром, см. предоставление доступа из виртуальной сети.
      • Если изменить период хранения с 0 (неограниченное хранение) на любое другое значение, срок хранения будет применяться только к журналам, записанным после изменения значения хранения. Журналы, записанные в течение периода, когда срок хранения был установлен без ограничений , сохраняются даже после включения хранения.
    2. В учетной записи хранилища перейдите в Обзор и выберите Блобы.

      Снимок экрана с виджетом Azure Blobs.

    3. В верхнем меню выберите + Контейнер , чтобы создать новый контейнер.

      Снимок экрана, показывающий значок для создания контейнера BLOB.

    4. Укажите имя контейнера, задайте для уровня общедоступного доступа значение Private, а затем нажмите кнопку "ОК".

      Снимок экрана, показывающий конфигурацию создания контейнера для объектов BLOB.

    Внимание

    Клиенты, желающие настроить неизменяемое хранилище журналов для событий аудита уровня сервера или базы данных, должны соответствовать инструкции, предоставляемые служба хранилища Azure. (Убедитесь, что при настройке неизменяемого Blob-хранилища выбрано разрешение на дополнительные добавления.)

  3. После создания контейнера для журналов аудита его можно настроить как целевой объект для журналов аудита: с помощью T-SQL или с помощью пользовательского интерфейса SQL Server Management Studio (SSMS).

  • Настройте хранилище BLOB-объектов для журналов аудита с помощью T-SQL:

    1. В списке контейнеров выберите только что созданный контейнер и выберите свойства контейнера.

      Снимок экрана: кнопка свойств контейнера BLOB-объектов.

    2. Скопируйте URL-адрес контейнера, выбрав значок копирования и сохраните URL-адрес (например, в Блокноте) для дальнейшего использования. URL-адрес контейнера должен иметь формат https://<StorageName>.blob.core.windows.net/<ContainerName>.

      Снимок экрана, показывающий URL для копирования контейнера BLOB.

    3. Создайте токен служба хранилища Azure SAS для предоставления прав доступа к учетной записи хранения управляемого экземпляра SQL:

      • Перейдите к учетной записи хранения Azure, в которой вы создали контейнер на предыдущем шаге.

      • Выберите ключ совместного доступа в меню "Параметры хранилища".

        Значок подписи общего доступа в меню параметров хранилища.

      • Настройте SAS следующим образом.

        • Допустимые службы: Blob

        • Дата начала: чтобы избежать проблем, связанных с часовыми поясами, используйте вчерашную дату

        • Дата окончания: выберите дату окончания срока действия для этого маркера SAS.

          Примечание.

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

        • Щелкните Создать SAS.

          Снимок экрана: конфигурация SAS.

      • В нижней части экрана появится маркер SAS. Скопируйте маркер, выбрав значок копирования и сохраните его (например, в Блокноте) для дальнейшего использования.

        Снимок экрана, показывающий, как скопировать маркер SAS.

        Внимание

        Удалите знак вопроса (?) с начала маркера.

    4. Подключитесь к управляемому экземпляру SQL с помощью SQL Server Management Studio или любого другого поддерживаемого средства.

    5. Выполните указанную ниже инструкцию T-SQL, чтобы создать новые учетные данные с использованием URL-адреса контейнера и маркера SAS, которые вы создали на предыдущих этапах.

      CREATE CREDENTIAL [<container_url>]
      WITH IDENTITY='SHARED ACCESS SIGNATURE',
      SECRET = '<SAS KEY>'
      GO
      
    6. Выполните указанную ниже инструкцию T-SQL, чтобы создать новый аудит сервера. (Выберите любое удобное имя аудита и укажите URL-адрес контейнера, созданный ранее). Если значение RETENTION_DAYS не указано, по умолчанию используется значение 0 (неограниченный период удержания).

      CREATE SERVER AUDIT [<your_audit_name>]
      TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>);
      GO
      
    7. Продолжите работу: создайте спецификацию аудита сервера или спецификацию аудита базы данных.

  • Конфигурируйте хранилище BLOB для журналов аудита, используя SQL Server Management Studio версии 18 и более поздних:

    1. Подключитесь к управляемому экземпляру SQL с помощью пользовательского интерфейса SQL Server Management Studio.

    2. Разверните корневую заметку обозреватель объектов.

    3. Разверните узел "Безопасность", щелкните правой кнопкой мыши на узле "Аудит" и выберите "Создать аудит".

      Снимок экрана: развертывание узла безопасности и аудита.

    4. Убедитесь, что URL-адрес выбран в назначении аудита и нажмите кнопку "Обзор":

      Скриншот, показывающий, как обозревать служба хранилища Azure.

    5. (Необязательно) Войдите в учетную запись Azure:

      Screenshot, показывающий, как войти в Azure.

    6. Выберите подписку, учетную запись хранения и контейнер BLOB из раскрывающегося списка, или создайте собственный контейнер, выбрав Создать. После завершения нажмите кнопку "ОК":

      Выберите подписку на Azure, учетную запись хранения и контейнер BLOB.

    7. Нажмите кнопку "ОК" в диалоговом окне "Создать аудит".

      Примечание.

      При использовании UI SQL Server Management Studio для создания аудита автоматически создаются учетные данные для доступа к контейнеру с ключом SAS.

После настройки контейнера BLOB в качестве цели для журналов аудита, как и для SQL Server, создайте и включите спецификацию аудита сервера или спецификацию аудита базы данных.

Используйте следующую инструкцию T-SQL, чтобы включить аудит сервера:

ALTER SERVER AUDIT [<your_audit_name>]
WITH (STATE = ON);
GO

Дополнительные сведения:

Аудит операций службы поддержки Microsoft

Аудит операций служба поддержки Майкрософт для Управляемый экземпляр SQL позволяет выполнять аудит операций инженеров Майкрософт support при необходимости доступа к серверу во время запроса на поддержку. Использование такой возможности вместе с аудитом обеспечивает дополнительную прозрачность в отношении персонала, а также возможности обнаружения аномалий, визуализации трендов и предотвращение потери данных.

Чтобы включить аудит операций поддержки Майкрософт, перейдите к Create Audit в разделе Security>Audit в экземпляре SQL Manage и выберите операции поддержки Майкрософт.

Снимок экрана: значок

Примечание.

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

Настройте аудит для вашего сервера в Event Hubs или журналах Azure Monitor

Журналы аудита из управляемого экземпляра SQL можно отправлять в журналы Центры событий Azure или Azure Monitor. В этом разделе описывается, как сделать эту конфигурацию:

  1. Войдите на портал Azure и перейдите к управляемому экземпляру SQL.

  2. Выберите Параметры диагностики.

  3. Выберите Включить диагностику. Если диагностика уже включена, вместо этого доступна опция +Добавить настройку диагностики.

  4. Выберите SQLSecurityAuditEvents из списка журналов.

  5. Если вы настраиваете операции поддержки Майкрософт, выберите DevOps operations Audit Logs в списке журналов.

  6. Выберите место назначения для событий аудита: Центры событий, журналы Azure Monitor или оба. Настройте для каждого целевого объекта необходимые параметры (например, рабочая область Log Analytics).

  7. Выберите Сохранить.

    Снимок экрана: настройка параметров диагностики.

  8. Подключитесь к управляемому экземпляру SQL с помощью SQL Server Management Studio (SSMS) или любого другого поддерживаемого клиента.

  9. Выполните следующую инструкцию T-SQL для создания аудита сервера.

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. Создайте и включите спецификацию аудита сервера или спецификацию аудита базы данных, как и для SQL Server:

  11. Включите аудит сервера, созданный на шаге 8.

    ALTER SERVER AUDIT [<your_audit_name>]
    WITH (STATE = ON);
    GO
    

Настройка аудита с помощью T-SQL

-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO

CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditnodevops
    WITH (STATE = ON);
GO

-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]

CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
    WITH (OPERATOR_AUDIT = ON);
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditdevops
    WITH (STATE = ON);
GO

Используйте журналы аудита

Потребление журналов, хранящихся в служба хранилища Azure

Существует несколько способов, чтобы просмотреть журналы аудита BLOB.

Использование журналов, хранящихся в Event Hubs

Чтобы использовать данные журналов аудита из Центров событий, необходимо настроить поток для использования событий и записи их в целевой объект. Дополнительные сведения см. в документации по Центры событий Azure.

Потребление и анализ журналов, хранящихся в Azure Monitor Logs

Если журналы аудита записываются в журналы Azure Monitor, они доступны в рабочей области Log Analytics, где можно выполнять расширенные поиски по данным аудита. В качестве отправной точки перейдите в рабочую область Log Analytics. В разделе "Общие" выберите Логи и введите базовый запрос, например: search "SQLSecurityAuditEvents", чтобы просмотреть журналы аудита.

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