Начало работы с аудитом Управляемого экземпляра SQL Azure
Область применения: Управляемый экземпляр SQL Azure
Аудит Управляемого экземпляра SQL Azure позволяет отслеживать события базы данных и записывать их в журнал аудита в учетной записи хранения Azure. Аудит также дает следующие возможности.
- Помогает поддерживать соответствие нормативным требованиям, лучше понимать происходящее в базах данных, а также получать аналитические сведения о расхождениях и аномалиях, которые могут указывать на проблемы в бизнесе или потенциальные нарушения безопасности.
- Средства аудита способствуют соблюдению стандартов соответствия, но не гарантируют их выполнения. Дополнительные сведения см. в Центре управления безопасностью Microsoft Azure, где можно найти самый актуальный список сертификатов соответствия требованиям Управляемый экземпляр SQL.
Внимание
Аудит Базы данных SQL Azure, Azure Synapse и Управляемого экземпляра SQL Azure оптимизирован для обеспечения доступности и производительности. При очень высокой активности или высокой сетевой нагрузке База данных SQL Azure, Azure Synapse и Управляемый экземпляр SQL Azure позволяют выполнять операции и не записывать при этом некоторые события аудита.
Настройка аудита для сервера в службе хранилища Azure
В следующем разделе описывается настройка аудита для управляемого экземпляра.
Переход на портал Azure.
Создайте контейнер службы хранилища Azure для хранения журналов аудита.
Перейдите к учетной записи хранения Azure, в которой вы намерены хранить журналы аудита.
- Используйте учетную запись хранения из того же региона, где размещен управляемый экземпляр, чтобы избежать операций чтения и записи между регионами.
- Если учетная запись хранения находится за виртуальная сеть или брандмауэром, см. статью "Предоставление доступа из виртуальной сети".
- Если вы изменяете срок хранения с 0 (неограниченное хранение) на любое другое значение, хранение будет применяться только к журналам, записанным после изменения значения хранения (журналы, записанные в течение периода, когда срок хранения был задан как неограниченный , даже после включения хранения).
В учетной записи хранения перейдите в раздел "Обзор " и выберите "Большие двоичные объекты".
В верхнем меню выберите + Контейнер , чтобы создать новый контейнер.
Укажите имя контейнера, задайте для уровня общедоступного доступа значение Private, а затем нажмите кнопку "ОК".
Внимание
Чтобы настроить неизменяемое хранилище журналов для событий аудита на уровне сервера или базы данных, следуйте инструкциям для службы хранилища Azure. (При настройке неизменяемого хранилища BLOB-объектов обязательно выберите параметр Разрешить дополнительные операции добавления.)
После создания контейнера существует два способа настроить его в качестве целевого объекта для журналов аудита: с помощью T-SQL или с помощью пользовательского интерфейса SQL Server Management Studio (SSMS).
Настройка хранилища BLOB-объектов для журналов аудита с помощью T-SQL:
В списке контейнеров выберите только что созданный контейнер и выберите свойства контейнера.
Скопируйте URL-адрес контейнера, выбрав значок копирования и сохраните URL-адрес (например, в Блокноте) для дальнейшего использования. URL-адрес контейнера должен иметь формат
https://<StorageName>.blob.core.windows.net/<ContainerName>
.Создайте маркер SAS службы хранилища Azure, который предоставляет права доступа к учетной записи хранения для аудита управляемого экземпляра.
Перейдите к учетной записи хранения Azure, в которой вы создали контейнер на предыдущем шаге.
Выберите подписанный URL-адрес в меню "Параметры хранилища".
Настройте SAS следующим образом.
Допустимые службы: большой двоичный объект
Дата начала: чтобы избежать проблем, связанных с часовыми поясами, используйте вчерашную дату
Дата окончания: выберите дату окончания срока действия для этого маркера SAS.
Примечание.
Чтобы избежать сбоев аудита, не забудьте возобновить маркер по истечении срока действия.
Щелкните Создать SAS.
В нижней части экрана появится маркер SAS. Скопируйте маркер, выбрав значок копирования и сохраните его (например, в Блокноте) для дальнейшего использования.
Внимание
Удалите знак вопроса (
?
) с начала маркера.
Подключитесь к управляемому экземпляру с помощью SQL Server Management Studio или любого другого поддерживаемого инструмента.
Выполните указанную ниже инструкцию T-SQL, чтобы создать новые учетные данные с использованием URL-адреса контейнера и маркера SAS, которые вы создали на предыдущих этапах.
CREATE CREDENTIAL [<container_url>] WITH IDENTITY='SHARED ACCESS SIGNATURE', SECRET = '<SAS KEY>' GO
Выполните указанную ниже инструкцию T-SQL, чтобы создать новый аудит сервера. (Выберите любое удобное имя аудита и укажите URL-адрес контейнера, созданный ранее). Если значение
RETENTION_DAYS
не указано, по умолчанию используется значение 0 (неограниченный период удержания).CREATE SERVER AUDIT [<your_audit_name>] TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>); GO
Продолжите работу: создайте спецификацию аудита сервера или спецификацию аудита базы данных.
Настройте хранилище BLOB-объектов для журналов аудита с помощью SQL Server Management Studio 18 и более поздних версий:
Подключитесь к управляемому экземпляру через пользовательский интерфейс SQL Server Management Studio.
Разверните корневой узел обозревателя объектов.
Разверните узел "Безопасность", щелкните правой кнопкой мыши узел "Аудит" и выберите "Создать аудит".
Убедитесь, что URL-адрес выбран в назначении аудита и нажмите кнопку "Обзор":
Войдите в учетную запись Azure (необязательно):
Выберите подписку, учетную запись хранения и контейнер БОЛЬШИХ двоичных объектов из раскрывающихся списков или создайте собственный контейнер, нажав кнопку "Создать". После завершения нажмите кнопку ОК:
Нажмите кнопку "ОК" в диалоговом окне "Создать аудит".
Примечание.
Если для создания аудита используется пользовательский интерфейс SQL Server Management Studio, автоматически создаются и учетные данные для контейнера с ключом SAS.
После настройки контейнера BLOB-объектов как целевого объекта для журналов аудита создайте и активируйте спецификацию аудита сервера или аудита базы данных, как для обычного SQL Server.
Руководство по созданию спецификации T-SQL для аудита сервера
Руководство по созданию спецификации T-SQL для аудита базы данных
Включите аудит сервера, созданный на шаге 3.
ALTER SERVER AUDIT [<your_audit_name>] WITH (STATE = ON); GO
Дополнительные сведения:
- Различия между аудитом Управляемого экземпляра SQL Azure и базы данных в SQL Server
- CREATE SERVER AUDIT
- ALTER SERVER AUDIT
Аудит операций службы поддержки Майкрософт
Аудит операций службы поддержки Майкрософт для Управляемого экземпляра SQL позволяет проводить аудит работы инженеров службы поддержки Майкрософт, когда им требуется доступ к серверу при обработке запроса на поддержку. Использование такой возможности вместе с аудитом обеспечивает дополнительную прозрачность в отношении персонала, а также возможности обнаружения аномалий, визуализации трендов и предотвращение потери данных.
Чтобы включить аудит работы службы поддержки Майкрософт, перейдите к разделу Создать аудит в группе Безопасность>Аудит в Управляемом экземпляре SQL и выберите элемент Операции поддержки Майкрософт.
Примечание.
Необходимо создать отдельный аудит сервера для аудита операций Майкрософт. Если этот флажок включен для существующего аудита, он перезаписывает операции аудита и только операции поддержки журналов.
Настройка аудита для сервера в Центрах событий или журналах Azure Monitor
Журналы аудита из управляемого экземпляра можно отправлять в Центры событий Azure или журналы Azure Monitor. В этом разделе описывается, как это настроить.
Откройте портал Azure и перейдите к управляемому экземпляру.
Выберите Параметры диагностики.
Выберите Включить диагностику. Если диагностика уже включена, будет отображаться кнопка +Добавить параметр диагностики.
Выберите SQLSecurityAuditEvents из списка журналов.
Если вы настраиваете операции поддержки Майкрософт, выберите журналы аудита операций DevOps в списке журналов.
Выберите место назначения для событий аудита: Центры событий, журналы Azure Monitor или оба варианта. Настройте для каждого целевого объекта необходимые параметры (например, рабочая область Log Analytics).
Выберите Сохранить.
Подключитесь к управляемому экземпляру, используя SQL Server Management Studio (SSMS) или любой другой поддерживаемый клиент.
Выполните следующую инструкцию T-SQL для создания аудита сервера.
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR; GO
Создайте и активируйте спецификацию аудита сервера или спецификацию аудита базы данных, как для обычного сервера SQL Server.
Включите аудит сервера, созданный на шаге 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
не поддерживается.
Следующие шаги
- Полный список методов использования журналов аудита см. в статье о начале работы с аудитом Базы данных SQL Azure.