Общие сведения о Базе данных SQL Microsoft Azure и возможностях безопасности управляемого экземпляра SQL

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

В этой статье описаны основы защиты уровня данных приложения с помощью базы данных SQL Azure, Управляемого экземпляра SQL Azureи Azure Synapse Analytics. Эта стратегия безопасности использует многоуровневый подход (эшелонированная защита), который представлен на следующем рисунке (уровни рассматриваются, начиная с наружного):

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

Примечание.

Идентификатор Microsoft Entra ранее был известен как Azure Active Directory (Azure AD).

Безопасность сети

База данных SQL Microsoft Azure, Управляемый экземпляр SQL Azure и Azure Synapse Analytics предоставляют реляционную службу баз данных для облачных и корпоративных приложений. Чтобы защитить клиентские данные, брандмауэр запрещает сетевой доступ к серверу, кроме разрешенного явным образом по IP-адресу или виртуальной сети Azure источника трафика.

Правила брандмауэра для IP-адресов

Правила брандмауэра для IP-адресов предоставляют доступ к базам данным на основе исходного IP-адреса каждого запроса. Дополнительные сведения см. в разделе Обзор правил брандмауэра для Базы данных SQL Microsoft Azure и Azure Synapse Analytics.

Правила брандмауэра для виртуальной сети

Конечные точки служб для виртуальной сети подключают вашу виртуальную сеть к магистральной сети Azure, позволяя Базе данных SQL Azure идентифицировать подсеть виртуальной сети, из которой к ней направляется трафик. Чтобы трафик поступал в базу данных SQL Azure, используйте теги служб SQL, которые разрешают исходящий трафик через механизм групп безопасности сети.

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

Примечание.

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

Управление доступом

Внимание

Управление базами данных и серверами в Azure осуществляется путем назначения ролей учетной записи пользователя портала. Дополнительные сведения об этом см. в разделе Управление доступом на основе ролей на портале Microsoft Azure.

Аутентификация

Аутентификацией называют процесс подтверждения личности пользователя. База данных SQL и Управляемый экземпляр SQL поддерживают проверку подлинности и проверку подлинности SQL с помощью идентификатора Microsoft Entra (ранее — Azure Active Directory). Управляемый экземпляр SQL также поддерживает проверка подлинности Windows для субъектов Microsoft Entra.

  • Аутентификация SQL.

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

  • Проверка подлинности Microsoft Entra:

    Проверка подлинности Microsoft Entra — это механизм подключения к База данных SQL Azure, Управляемый экземпляр SQL Azure и Azure Synapse Analytics с помощью удостоверений в идентификаторе Microsoft Entra. Проверка подлинности Microsoft Entra позволяет администраторам централизованно управлять удостоверениями и разрешениями пользователей базы данных вместе с другими службами Azure в одном центральном расположении. Это сводит к минимуму хранение паролей и включает централизованные политики смены паролей.

    Администратор сервера с именем администратора Microsoft Entra должен быть создан для использования проверки подлинности Microsoft Entra с База данных SQL. Дополнительные сведения см. в статье "Подключение к База данных SQL с помощью проверки подлинности Microsoft Entra". Проверка подлинности Microsoft Entra поддерживает как управляемые, так и федеративные учетные записи. Федеративные учетные записи поддерживают пользователей и группы Windows для домена клиента, федеративного с идентификатором Microsoft Entra.

    Microsoft Entra поддерживает несколько различных вариантов проверки подлинности, включая многофакторную проверку подлинности, встроенную проверка подлинности Windows и условный доступ.

  • проверка подлинности Windows для субъектов Microsoft Entra:

    Проверка подлинности Kerberos для субъектов Microsoft Entra позволяет проверка подлинности Windows для Управляемый экземпляр SQL Azure. проверка подлинности Windows для управляемых экземпляров позволяет клиентам перемещать существующие службы в облако, сохраняя простой пользовательский интерфейс и предоставляя основу для модернизации инфраструктуры.

    Чтобы включить проверка подлинности Windows для субъектов Microsoft Entra, вы превратите клиент Microsoft Entra в независимую область Kerberos и создадите входящее доверие в домене клиента. Узнайте, как проверка подлинности Windows для Управляемый экземпляр SQL Azure реализован с помощью идентификатора Microsoft Entra и Kerberos.

Внимание

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

Авторизация

Авторизация относится к управлению доступом к ресурсам и командам в базе данных. Для этого пользователю назначаются разрешения в базе данных, размещенной в Базе данных SQL Azure или Управляемом экземпляре SQL Azure. В идеальном случае для управления разрешениями учетные записи пользователей добавляются в роли базы данных, которым назначаются разрешения на уровне базы данных. Кроме того, отдельному пользователю могут быть предоставлены определенные разрешения на уровне объекта. См. дополнительные сведения об операциях входа и пользователях.

Лучшая методика — создавать при необходимости пользовательские роли. Назначьте пользователям роль с минимальными разрешениями, необходимыми для выполнения должностных функций. Не назначайте разрешения пользователям напрямую. Учетная запись администратора сервера является элементом встроенной роли db_owner, которая обладает широкими разрешениями и должна предоставляться только некоторым пользователям с административными обязанностями. Чтобы дополнительно ограничить область действий пользователя, можно использовать метод EXECUTE AS, чтобы указать контекст выполнения вызванного модуля. Следование этим рекомендациями также является фундаментальным шагом к разделению обязанностей.

Безопасность на уровне строк

Безопасность на уровне строк позволяет клиентам контролировать доступ к строкам в таблице базы данных в зависимости от характеристик пользователя, выполняющего запрос (например, от членства в группах или контекста выполнения). Эту функцию также можно использовать для реализации пользовательских концепций безопасности на основе меток. Дополнительные сведения см. в статье Безопасность на уровне строк.

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

Защита от угроз

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

Аудит SQL в журналах Azure Monitor и концентраторах событий

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

Расширенная защита от угроз

Функция «Расширенная защита от угроз для SQL» выполняет анализ журналов для обнаружения необычных действий и потенциально опасных злоумышленных попыток доступа к базам данных или их использования, в числе которых следующие. Оповещения создаются для подозрительных действий, таких как атака путем внедрения кода SQL, потенциальный несанкционированный доступ к данным, атака методом подбора. Также они сообщают об аномалиях в схемах доступа, что позволяет предотвратить атаки с повышением привилегий и использованием украденных учетных данных. Оповещения отображаются в Microsoft Defender для облака вместе со сведениями о подозрительных действиях и рекомендациями по расследованию ситуации и устранению угрозы. Расширенную защиту от угроз можно включить для всех серверов за дополнительную плату. Дополнительные сведения см. в статье Начало работы с Расширенной защитой от угроз для Базы данных SQL Microsoft Azure.

Схема, на которой показано, как функция «Обнаружение угроз SQL» выполняет мониторинг доступа к базе данных SQL для защиты веб-приложения от внешних атак и злоумышленников внутри организации.

Защита и шифрование информации

Протокол TLS (шифрование при передаче)

База данных SQL, Управляемый экземпляр SQL и Azure Synapse Analytics защищают данные клиентов путем шифрования данных в движении с помощью протокола TLS.

База данных SQL, Управляемый экземпляр SQL и Azure Synapse Analytics принудительно применяют шифрование (SSL/TLS) для всех подключений. Это гарантирует, что при передаче между клиентом и сервером все данные шифруются независимо от значения параметров Encrypt и TrustServerCertificate в строке подключения.

Рекомендуется, чтобы в строке подключения, используемой приложением, было настроено зашифрованное соединение и запрещено доверять сертификатам сервера. Это заставляет приложение проверять сертификат сервера, что защищает приложение от «атак через посредника».

Например, при использовании драйвера ADO.NET это делается с помощью параметров Encrypt = true и TrustServerCertificate = false. Строка подключения, полученная с портала Azure, будет содержать правильные параметры.

Внимание

Обратите внимание, что некоторые драйверы сторонних производителей могут не использовать TLS по умолчанию или полагаться на более старую версию TLS (<1.2) для работы. В этом случае сервер по-прежнему позволяет выполнять подключение к базе данных. Тем не менее рекомендуется оценить риски безопасности, возникающие при подключении таких драйверов и приложений к Базе данных SQL Microsoft Azure, особенно если в ней хранятся конфиденциальные данные.

Дополнительные сведения о протоколе TLS и настройках подключения см. в рекомендациях по использованию протокола TLS.

Прозрачное шифрование данных (шифрование при хранении)

Прозрачное шифрование данных (TDE) для Базы данных SQL, Управляемого экземпляра SQL и Azure Synapse Analytics добавляет дополнительный уровень безопасности, помогая защищать неактивные данные от несанкционированного или автономного доступа к необработанным файлам или резервным копиям данных. Это актуально для таких сценариев, как кража оборудования из центра обработки данных или небезопасная утилизация оборудования или носителей, например дисковых накопителей и лент с резервными копиями. TDE шифрует всю базу данных с помощью алгоритма шифрования AES, а значит разработчикам приложений не придется вносить изменения в существующие приложения.

Все создаваемые в Azure базы данных SQL по умолчанию шифруются, а ключ шифрования базы данных защищается встроенным сертификатом сервера. Обслуживание и смена сертификатов автоматически выполняются службой, не требуя действий пользователя. Если клиент предпочитает самостоятельно контролировать ключи шифрования, он может управлять ими через Azure Key Vault.

Управление ключами с помощью Azure Key Vault

Создание собственных ключей (BYOK) поддерживает прозрачное шифрование данных (TDE), что позволяет пользователям самостоятельно управлять созданием и сменой ключей с помощью облачной системы Azure для управления внешними ключами Azure Key Vault. В случае отзыва доступа базы данных к хранилищу ключей расшифровка и считывание такой базы данных станет невозможным. Azure Key Vault предоставляет централизованную платформу для управления ключами, которая использует тщательно отслеживаемые аппаратные модули безопасности (HSM) и позволяет разделять обязанности по управлению ключами и данными, обеспечивая соответствие требованиям безопасности.

Always Encrypted (шифрование при использовании)

Схема с основами функции Always Encrypted. База данных SQL с блокировкой осуществляется только приложением, содержащим ключ.

Always Encrypted — это функция, предназначенная для защиты конфиденциальных данных, хранящихся в определенных столбцах базы данных от доступа (например, номеров кредитных карт, национальных или региональных идентификационные номера или данных, необходимых для получения сведений). Например, администраторы баз данных или другие привилегированные пользователи имеют доступ к базе данных для выполнения задач управления, но с точки зрения бизнеса им не нужен доступ к конкретным данным в зашифрованных столбцах. Данные всегда зашифрованы и расшифровываются только для обработки в клиентских приложениях, которые имеют доступ к ключу шифрования. Ключ шифрования никогда не передается в базу данных или управляемый экземпляр SQL. Его можно хранить в Windows Certificate Store или в Azure Key Vault.

Динамическое маскирование данных

Схема демонстрирует динамическое маскирование данных. Бизнес-приложение отправляет данные в базу данных SQL, которая маскирует их перед отправкой обратно в бизнес-приложение.

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

Управление безопасностью

Оценка уязвимостей

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

Обнаружение и классификация данных

Служба обнаружения и классификации данных (в настоящее время находится на этапе предварительной версии) предоставляет базовые возможности, встроенные в Базу данных SQL Azure и Управляемый экземпляр SQL, для обнаружения, классификации и добавления меток для конфиденциальных данных в базах данных. Обнаружение и классификация конфиденциальных данных (деловых или финансовых, медицинских, персональных данных и т. д.) может играть ключевую роль в концепции защиты информации вашей организации. Она может использоваться в качестве инфраструктуры для следующего:

  • Различные сценарии безопасности, такие как мониторинг (аудит) и оповещение об аномальном доступе к конфиденциальным данным.
  • Управление доступом к базам данных, содержащим конфиденциальные данные, и усиление их защиты.
  • соблюдение стандартов конфиденциальности данных и нормативных требований;

Дополнительные сведения см. в статье Начало работы с обнаружением и классификацией данных.

Соответствие нормативным требованиям

В дополнение к приведенным выше функциям и возможностям, которые помогают выполнять требования к безопасности приложений, в отношении Базы данных SQL Azure регулярно проводится аудит, а сама база данных сертифицирована в соответствии с рядом стандартов. Дополнительные сведения см. в центре управления безопасностью Microsoft Azure, где представлен актуальный список сертификатов соответствия Базы данных SQL.

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