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

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

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

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

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

Вы можете настроить База данных SQL Azure так, чтобы использовать один из двух типов аутентификации:

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

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

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

Преимущества Microsoft Entra ID вместо SQL-аутентификации

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

Для получения дополнительной информации об аутентификации Microsoft Entra см.:

Замечание

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

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

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

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

Для получения дополнительной информации о межсетевом экране Azure SQL и ограничениях IP-адреса смотрите:

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

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

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

Azure SQL предоставляет шифрование столбцов через Always Encrypted. Эта функция позволяет получать доступ к чувствительным столбцам только авторизованным приложениям. Такой тип шифрования ограничивает SQL-запросы для зашифрованных столбцов значениями, основанными на равенстве.

Используйте шифрование на уровне приложения для селективных данных. Иногда можно снизить опасения суверенитета данных, зашифровав их ключом, хранящимся в нужной стране или регионе. Такой подход предотвращает даже случайную передачу данных, поскольку невозможно расшифровать данные без ключа, при условии использования надёжного алгоритма, такого как AES-256.

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

Дальнейшие шаги

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