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


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

Область применения: Управляемый экземпляр SQL Azure

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

  • Помогает поддерживать соответствие нормативным требованиям, лучше понимать происходящее в базах данных, а также получать аналитические сведения о расхождениях и аномалиях, которые могут указывать на проблемы в бизнесе или потенциальные нарушения безопасности.
  • Средства аудита способствуют соблюдению стандартов соответствия, но не гарантируют их выполнения. Дополнительные сведения см. в Центре управления безопасностью Microsoft Azure, где можно найти самый актуальный список сертификатов соответствия требованиям Управляемый экземпляр SQL.

Внимание

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

Настройка аудита для сервера в службе хранилища Azure

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

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

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

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

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

      Снимок экрана: мини-приложение БОЛЬШИХ двоичных объектов Azure.

    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. Создайте маркер SAS службы хранилища Azure, который предоставляет права доступа к учетной записи хранения для аудита управляемого экземпляра.

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

        • Выберите подписанный URL-адрес в меню "Параметры хранилища".

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

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

          • Допустимые службы: большой двоичный объект

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

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

            Примечание.

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

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

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

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

          Снимок экрана: копирование маркера SAS.

          Внимание

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

      4. Подключитесь к управляемому экземпляру с помощью 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 Server Management Studio.

      2. Разверните корневой узел обозревателя объектов.

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

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

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

        Снимок экрана: просмотр служба хранилища Azure.

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

        Снимок экрана: вход в Azure.

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

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

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

        Примечание.

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

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

    • Руководство по созданию спецификации T-SQL для аудита сервера

    • Руководство по созданию спецификации T-SQL для аудита базы данных

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

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

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

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

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

Чтобы включить аудит работы службы поддержки Майкрософт, перейдите к разделу Создать аудит в группе Безопасность>Аудит в Управляемом экземпляре SQL и выберите элемент Операции поддержки Майкрософт.

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

Примечание.

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

Настройка аудита для сервера в Центрах событий или журналах Azure Monitor

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

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

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

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

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

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

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

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

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

  8. Подключитесь к управляемому экземпляру, используя 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

Просмотреть журналы аудита больших двоичных объектов можно несколькими способами.

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

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

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

Использование журналов аудита, которые хранятся в Центрах событий

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

Использование и анализ журналов аудита, которые хранятся в журналах Azure Monitor

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

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

Примечание.

Сведения из данной статьи были недавно обновлены. Теперь вместо термина "Log Analytics" используется термин "журналы Azure Monitor". Данные журнала по-прежнему хранятся в рабочей области Log Analytics, собираются и анализируются той же службой Log Analytics. Целью обновления терминологии является лучшее отражение роли журналов в Azure Monitor. Дополнительные сведения см. в статье Изменения фирменной символики Azure Monitor.

Различия между базами данных в Управляемый экземпляр SQL Azure и базах данных в SQL Server

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

  • При использовании Управляемого экземпляра SQL Azure аудит выполняется на уровне сервера и файлы журнала .xel сохраняются в хранилище BLOB-объектов Azure.
  • В SQL Server аудит выполняется на уровне сервера, но события сохраняются в журналы событий файловой системы и Windows.

Аудит XEvent в управляемых экземплярах поддерживает целевые объекты хранилища BLOB-объектов Azure. Журналы файловой системы и журналы Windows не поддерживаются.

Основные различия в синтаксисе CREATE AUDIT для аудита в хранилище BLOB-объектов Azure:

  • Новый синтаксис TO URL позволяет указать URL-адрес контейнера в хранилище BLOB-объектов Azure, куда будут помещены файлы .xel.
  • Новый синтаксис TO EXTERNAL MONITOR позволяет использовать Центры событий и журнал Azure Monitor в качестве целевых объектов.
  • Синтаксис TO FILE не поддерживается, так как Управляемый экземпляр SQL Azure не удается получить доступ к общим папкам Windows.
  • Параметр завершения работы не поддерживается.
  • Значение 0 для queue_delayне поддерживается.

Следующие шаги