Начало работы с аудитом Azure SQL Managed Instance

Применимо к:Azure SQL Managed Instance

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

Настройка аудита для вашего экземпляра в Azure Storage

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

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

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

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

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

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

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

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

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

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

    Внимание

    Клиенты, желающие настроить неизменяемое хранилище журналов для событий аудита уровня сервера или базы данных, должны соответствовать инструкции, предоставляемые Azure Storage. (Убедитесь, что при настройке неизменяемого 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 Storage 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. Разверните корневую заметку Object Explorer.

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

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

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

      Скриншот, показывающий, как обозревать Azure Storage.

    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

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

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

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

Примечание.

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

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

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

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

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

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

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

  5. Если вы настраиваете операции поддержки Microsoft, выберите 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 Storage

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

  • Системная функция sys.fn_get_audit_file (T-SQL) позволяет возвращать данные журнала аудита в табличном формате.

  • Журналы аудита можно изучить с помощью такого средства, как Azure Storage Explorer. В Azure Storage журналы аудита сохраняются в виде коллекции файлов BLOB в контейнере, специально назначенном для хранения журналов аудита. Дополнительная информация об иерархии папки хранилища, соглашениях об именовании и формате журнала см. в Справочнике по формату журнала аудита объектов BLOB.

  • Полный список методов потребления журналов аудита см. в статье Get started with Azure SQL Database auditing.

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

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

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

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

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