Рекомендации по защите баз данных PaaS в Azure

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

База данных SQL Azure и Azure Synapse Analytics предоставляют службу реляционной базы данных для веб-приложений. Рассмотрим службы, которые помогают защитить приложения и данные при использовании База данных SQL Azure и Azure Synapse Analytics в развертывании PaaS:

  • Проверка подлинности Microsoft Entra (вместо проверки подлинности SQL Server)
  • Брандмауэр SQL Azure.
  • Прозрачное шифрование данных (TDE)

Использование централизованного репозитория удостоверений

Базу данных SQL Azure можно настроить для использования одного из двух указанных ниже типов аутентификации.

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

  • Проверка подлинности Microsoft Entra использует удостоверения, управляемые идентификатором Microsoft Entra, и поддерживается для управляемых и интегрированных доменов. Чтобы использовать проверку подлинности Microsoft Entra, необходимо создать другого администратора сервера с именем "администратор Microsoft Entra", который разрешен для администрирования пользователей и групп Microsoft Entra. Этот администратор также может выполнять все операции, доступные обычному администратору.

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

Преимущества использования идентификатора Microsoft Entra вместо проверки подлинности SQL

  • возможность чередования паролей в одном расположении;
  • Управляет разрешениями базы данных с помощью внешних групп Microsoft Entra.
  • Устраняет хранение паролей путем включения интегрированных проверка подлинности Windows и других форм проверки подлинности, поддерживаемых идентификатором Microsoft Entra.
  • для проверки подлинности удостоверений на уровне базы данных используются данные пользователей автономной базы данных;
  • поддержка аутентификации на основе маркеров для приложений, подключающихся к базе данных SQL;
  • Поддерживает федерацию домена с службы федерации Active Directory (AD FS) (ADFS) или собственной проверкой подлинности пользователя или пароля для локального идентификатора Microsoft Entra ID без синхронизации домена.
  • поддержка подключений из SQL Server Management Studio, использующих универсальную аутентификацию Active Directory, в том числе Многофакторную идентификацию (MFA). Многофакторная проверка подлинности включает надежную проверку подлинности с помощью нескольких простых параметров проверки подлинности. Варианты проверки: телефонный звонок, текстовое сообщение, смарт-карта с закреплением или уведомлением мобильного приложения. Дополнительные сведения см. в статье Универсальная аутентификация для Базы данных SQL и Azure Synapse Analytics.

Дополнительные сведения о проверке подлинности Microsoft Entra см. в следующих статье:

Примечание.

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

Ограничение доступа по IP-адресу

Вы можете создать правила брандмауэра, которые указывают диапазон допустимых IP-адресов. Эти правила могут быть определены на уровнях сервера и базы данных. Мы рекомендуем использовать правила брандмауэра уровня базы данных всегда, когда это возможно, чтобы повысить уровень безопасности и сделать базу данных более портативной. Правила брандмауэра уровня сервера лучше всего подходят для администраторов, если у вас много баз данных с одинаковыми требованиями к доступу, но вы не хотите тратить время на настройку каждой базы данных по отдельности.

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

Чтобы узнать больше о брандмауэре SQL Azure и ограничениях IP-адресов, ознакомьтесь со следующими статьями:

Шифрование неактивных данных

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

SQL Azure управляет связанными с ключами аспектами для TDE. При использовании TDE следует уделять особое внимание обеспечению возможности восстановления при перемещении баз данных. В более сложных сценариях управление ключами может осуществляться явным образом в Azure Key Vault посредством расширенного управления ключами. Дополнительные сведения см. в статье Включение прозрачного шифрования данных в SQL Server с помощью расширенного управления ключами. В этом случае также поддерживается создание собственных ключей (BYOK) посредством функции Azure Key Vaults BYOK.

SQL Azure обеспечивает шифрование столбцов с помощью функции Always Encrypted. Она разрешает доступ к важным столбцам только авторизованным приложениям. Использование такого типа шифрования ограничивает запросы SQL к зашифрованным столбцам значениями, основанными на равенстве.

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

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

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

В этой статье представлен набор рекомендаций по безопасности Базы данных SQL и Azure Synapse Analytics, предназначенных для защиты веб-приложений и мобильных приложений PaaS. Дополнительные сведения о безопасности развернутых служб PaaS см. в следующих статьях: