Начало работы с аудитом Управляемого экземпляра 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. В учетной записи хранения перейдите в раздел "Обзор " и выберите "Большие двоичные объекты".

      Screenshot showing the Azure Blobs widget.

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

      Screenshot showing the Create blob container icon.

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

      Screenshot showing the Create blob container configuration.

    Важно!

    Чтобы настроить неизменяемое хранилище журналов для событий аудита на уровне сервера или базы данных, следуйте инструкциям для службы хранилища Azure. (При настройке неизменяемого хранилища BLOB-объектов обязательно выберите параметр Разрешить дополнительные операции добавления.)

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

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

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

        Screenshot showing the Blob container properties button.

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

        Screenshot showing the Blob container copy URL.

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

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

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

          Shared access signature icon in storage settings menu.

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

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

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

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

            Примечание.

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

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

            Screenshot showing the SAS configuration.

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

          Screenshot showing how to copy SAS token.

          Важно!

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

      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. Разверните узел "Безопасность", щелкните правой кнопкой мыши узел "Аудит" и выберите "Создать аудит".

        Screenshot showing how to Expand security and audit node.

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

        Screenshot showing how to Browse Azure Storage.

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

        Screenshot showing how to Sign in to Azure.

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

        Select Azure subscription, storage account, and blob container.

      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 и выберите элемент Операции поддержки Майкрософт.

Screenshot showing the Create audit icon.

Примечание.

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

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

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

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

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

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

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

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

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

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

    Screenshot showing how to configure diagnostic settings.

  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не поддерживается.

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