Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
В этой статье описаны основы защиты уровня данных приложения, использующего Базу данных SQL Azure, Управляемый экземпляр SQL Azure и Azure Synapse Analytics. Стратегия безопасности, описанная в этой статье, следует многоуровневому подходу к глубокой защите, как показано на следующей схеме, и продвигается снаружи внутрь.
Безопасность сети
База данных SQL 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. Дополнительные сведения о необходимой конфигурации сети см. в руководстве по подключению приложения к управляемому экземпляру.
Примечание.
Управление доступом с помощью правил брандмауэра не применяется к управляемому экземпляру SQL. Дополнительные сведения о необходимой конфигурации сети см. в руководстве по подключению приложения к управляемому экземпляру.
Периметр безопасности сети
Периметр безопасности сети Azure создает границы логической сети вокруг PaaS-ресурсов, которые развертываются за пределами ваших виртуальных сетей.
- Периметр безопасности сети Azure помогает управлять доступом к базе данных SQL Azure.
- Управление доступом с помощью периметра безопасности сети Azure не применяется к Управляемому экземпляру SQL Azure.
Внимание
База данных SQL Azure с периметром безопасности сети в настоящее время находится в предварительной версии. Предварительные версии программного обеспечения предоставляются без соглашения об уровне обслуживания и не рекомендуются для производственных нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.
Аутентификация
Аутентификацией называют процесс подтверждения личности пользователя. База данных SQL Azure и Управляемый экземпляр SQL поддерживают проверку подлинности с помощью идентификатора Microsoft Entra (ранее Azure Active Directory) и проверки подлинности SQL. Управляемый экземпляр SQL также поддерживает проверку подлинности Windows для учетных записей Microsoft Entra.
Проверка подлинности Microsoft Entra:
Проверка подлинности Microsoft Entra — это механизм подключения к Базе данных SQL Azure, Управляемому экземпляру SQL Azure и Azure Synapse Analytics с помощью удостоверений в идентификаторе Microsoft Entra. Проверка подлинности Microsoft Entra позволяет администраторам централизованно управлять удостоверениями и разрешениями пользователей базы данных вместе с другими службами Azure в одном центральном расположении. Эта функция может помочь устранить использование секретов и паролей.
Чтобы использовать проверку подлинности Microsoft Entra с базой данных SQL, создайте администратора сервера с именем администратора Microsoft Entra. Для получения дополнительной информации см. статью Подключение к SQL базе данных с аутентификацией Microsoft Entra. Проверка подлинности Microsoft Entra поддерживает как управляемые, так и федеративные учетные записи. Поддержка федеративных учетных записей охватывает пользователей и группы Windows для домена клиента, интегрированного с Microsoft Entra ID.
Microsoft Entra поддерживает несколько различных вариантов проверки подлинности, включая многофакторную проверку подлинности, встроенную проверка подлинности Windows и условный доступ.
Аутентификация Windows для принципалов Microsoft Entra:
Аутентификация Kerberos для субъектов Microsoft Entra включает аутентификацию Windows для управляемого экземпляра Azure SQL. проверка подлинности Windows для управляемых экземпляров позволяет клиентам перемещать существующие службы в облако, сохраняя простой пользовательский интерфейс и предоставляя основу для модернизации инфраструктуры.
Чтобы включить проверку подлинности Windows для субъектов Microsoft Entra, превратите клиент Microsoft Entra в независимую область Kerberos и создайте входящее доверие в домене клиента. Узнайте, как аутентификация Windows для Azure SQL Управляемый экземпляр реализована с помощью Microsoft Entra ID и Kerberos.
Аутентификация SQL.
Проверка подлинности SQL ссылается на проверку подлинности пользователя при подключении к Базе данных SQL Azure или Управляемому экземпляру SQL Azure с помощью имени пользователя и пароля. При создании сервера необходимо указать имя входа администратора сервера с именем пользователя и паролем. Используя эти учетные данные, администратор сервера сможет аутентифицироваться в любой базе данных на этом сервере или экземпляре с правами владельца базы данных. После этого администратор сервера может создать другие имена входа и пользователи SQL, которые позволяют пользователям подключаться с помощью имени пользователя и пароля.
Управление авторизацией и доступом
Авторизация относится к управлению серверами и базами данных, а также к данным, ресурсам и командам в базе данных. Вы назначаете пользователю разрешения в базе данных в Базе данных SQL Azure или Управляемом экземпляре SQL Azure. Ролевые назначения учетной записи пользователя вашего портала определяют управляющие функции базами данных и серверами в Azure. Дополнительные сведения см. в статье Управление доступа на основе ролей на портале Azure.
Управление разрешениями путем добавления учетных записей пользователей в роли базы данных и назначения разрешений на уровне базы данных этим ролям. Кроме того, предоставьте отдельным пользователям определенные разрешения на уровне объектов . См. дополнительные сведения об операциях входа и пользователях.
Кроме того, Управляемый экземпляр SQL Azure предоставляет роли уровня сервера (фиксированные или настраиваемые) для управления разрешениями для экземпляра. Роли уровня сервера имеют область разрешений на уровне сервера. Принципы уровня сервера можно добавить в роли уровня сервера.
Лучшая методика — создавать при необходимости пользовательские роли. Назначьте пользователям роль с минимальными разрешениями, необходимыми для выполнения должностных функций. Не назначайте разрешения пользователям напрямую. Учетная запись администратора сервера является членом встроенной роли db_owner, которая имеет обширные разрешения и должна предоставляться только нескольким пользователям с административными обязанностями. Чтобы дополнительно ограничить область действия, которую может сделать пользователь, используйте EXECUTE AS , чтобы указать контекст выполнения вызываемого модуля. Следуя этим рекомендациям, также является основным шагом в направлении разделения обязанностей.
Безопасность на уровне строк
Безопасность на уровне строк позволяет контролировать доступ к строкам в таблице базы данных на основе характеристик пользователя, который выполняет запрос (например, членство в группах или контекст выполнения). Используйте Row-Level Security для реализации пользовательских концепций безопасности на основе меток. Дополнительные сведения см. в Безопасность на уровне строк.
Защита от угроз
База данных SQL Azure и Управляемый экземпляр SQL защищают данные клиента, предоставляя возможности аудита и обнаружения угроз.
Аудит SQL в журналах Azure Monitor и концентраторах событий
Аудит Базы данных SQL и Управляемого экземпляра SQL отслеживает действия в базе данных и помогает поддерживать соответствие стандартам безопасности, сохраняя события базы данных в журнал аудита, сохраненный в учетной записи хранения Azure. Аудит позволяет отслеживать текущие действия базы данных, а также анализировать и исследовать исторические действия для выявления потенциальных угроз или предполагаемых нарушений безопасности. Чтобы узнать больше, см. Аудит баз данных SQL.
Расширенная защита от угроз
Расширенная защита от угроз анализирует журналы для обнаружения необычного поведения и потенциально опасных попыток доступа к базам данных или эксплойтирования. Он создает оповещения о подозрительных действиях, таких как SQL-инъекция, потенциальная утечка данных и атаки методом перебора, или аномалии в шаблонах доступа, чтобы выявить эскалации привилегий и использование скомпрометированных учетных данных. Вы можете просмотреть оповещения из Microsoft Defender для Облака, где приведены сведения о подозрительных действиях и рекомендации для дальнейшего изучения, предоставленные вместе с действиями по устранению угрозы. Вы можете включить Расширенную защиту от угроз на сервер за дополнительную плату. Дополнительные сведения см. в статье Начало работы с Расширенной защитой от угроз SQL Database.
Защита и шифрование информации
Безопасность транспортного уровня (шифрование во время передачи)
База данных SQL, Управляемый экземпляр SQL и Azure Synapse Analytics защищают данные клиентов путем шифрования данных в движении с помощью протокола TLS. Эти службы всегда применяют зашифрованные подключения TLS, чтобы гарантировать, что все данные шифруются между клиентом и сервером.
В частности, база данных SQL, Управляемый экземпляр SQL и Azure Synapse Analytics задают флаг ForceEncryptionYesконфигурации. Клиенты и драйверы должны поддерживать зашифрованные подключения для подключения к этим службам. Самая низкая версия протокола TDS, который может подключаться, — TDS 7.1.
Если у вас есть драйверы SQL с поддержкой TDS 8.0, используйте строгое шифрование подключений.
Если драйверы не поддерживают TDS 8.0, используйте обязательное шифрование и не доверяйте сертификату сервера. Например, при использовании драйвера ADO.NET используйте Encrypt=True и TrustServerCertificate=False в строке подключения для этого. Строка подключения, полученная на портале Azure, уже настроена с этими значениями.
Избегайте настройки параметра TrustServerCertificateTrue в рабочей среде.
TrustServerCertificate=True слишком разрешительный и не защищает от атак человека в середине. Вместо этого, если клиент ожидает другое доменное имя в сертификате сервера, используйте HostNameInCertificate параметр, чтобы указать правильное доменное имя для проверки.
Например, при использовании драйвера ADO.NET для подключения к управляемому экземпляру contoso-instance.123456.database.windows.net с помощью имени contoso-instance.contoso.comличного домена задайте параметры Encrypt=True подключения и задайте его HostNameInCertificate=contoso-instance.123456.database.windows.net. Эта конфигурация позволяет драйверу проверить сертификат сервера на основе ожидаемого доменного имени локальной конечной точки виртуальной сети.
Внимание
Некоторые драйверы, отличные от Майкрософт, могут не использовать TLS по умолчанию или использовать более раннюю версию TLS (более ранней версии 1.2) для работы. В этом случае сервер по-прежнему позволяет подключаться к базе данных. Однако оцените риски безопасности, позволяющие таким драйверам и приложениям подключаться к базе данных SQL, особенно при хранении конфиденциальных данных.
Дополнительные сведения о TLS и подключении см. в рекомендациях по протоколу TLS.
Прозрачное шифрование данных (шифрование неактивных данных) с помощью ключей, управляемых службой
Прозрачное шифрование данных (TDE) для Базы данных SQL, Управляемого экземпляра SQL и Azure Synapse Analytics добавляет дополнительный уровень безопасности, помогая защищать неактивные данные от несанкционированного или автономного доступа к необработанным файлам или резервным копиям данных. Это актуально для таких сценариев, как кража оборудования из центра обработки данных или небезопасная утилизация оборудования или носителей, например дисковых накопителей и лент с резервными копиями. TDE шифрует всю базу данных с помощью алгоритма шифрования AES, который не требует от разработчиков приложений вносить изменения в существующие приложения.
Все создаваемые в Azure базы данных SQL по умолчанию шифруются, а ключ шифрования базы данных защищается встроенным сертификатом сервера. Служба управляет обслуживанием и ротацией сертификатов и не требует участия пользователя. Если вы предпочитаете управлять ключами шифрования, вы можете управлять ключами в Azure Key Vault.
Прозрачное шифрование данных (шифрование данных в состоянии покоя) с помощью ключей, управляемых клиентом
Если вам нужен более широкий контроль над ключами шифрования, прозрачное шифрование данных (TDE) поддерживает ключи, управляемые клиентом (CMK). Этот CMK связан с логическим сервером и упаковывает ключи шифрования базы данных для всех баз данных на этом сервере. Кроме того, можно настроить CMK на отдельном уровне базы данных. Управляя CMK, вы можете управлять поворотом ключей, отзывом и аудитом, что часто необходимо для соответствия или строгих политик безопасности.
Always Encrypted и Always Encrypted с безопасными анклавами (шифрование в использовании)
Always Encrypted и Always Encrypted с безопасными анклавами — это функции, предназначенные для защиты конфиденциальных данных, хранящихся в определённых столбцах базы данных от доступа (например, номера кредитных карт, национальных или региональных идентификационных номеров, или данных, доступных на основе необходимости знать). Эта защита включает администраторов баз данных или других привилегированных пользователей, которым разрешен доступ к базе данных для выполнения задач управления, но не требуется доступ к определенным данным в зашифрованных столбцах. Данные всегда зашифрованы и расшифровываются только для обработки в клиентских приложениях, которые имеют доступ к ключу шифрования. Ключ шифрования никогда не передается в базу данных или управляемый экземпляр SQL. Его можно хранить в Windows Certificate Store или в Azure Key Vault.
Динамическое маскирование данных
Динамическое маскирование данных ограничивает возможность раскрытия конфиденциальных данных, маскируя их для обычных пользователей. Служба динамического маскирования данных автоматически обнаруживает потенциально конфиденциальные данные в Базе данных SQL Microsoft Azure и Управляемом экземпляре SQL и предоставляет практические рекомендации по маскированию этих полей с минимальным влиянием на прикладной уровень. Он работает путем маскировки конфиденциальных данных в результирующем наборе запроса по указанным полям базы данных, а данные в базе данных не изменяются. Дополнительную информацию см. в статье Начало работы с динамическим маскированием данных в Базе данных SQL Microsoft Azure и Управляемом экземпляре SQL.
Ledger
Реестр в Базе данных SQL Azure и Управляемом экземпляре SQL — это функция, которая обеспечивает криптографическое подтверждение целостности данных. Благодаря механизму реестра у вас есть возможность обнаруживать несанкционированные изменения в ваших данных. Вы можете осуществлять криптографическую аттестацию для других сторон, таких как аудиторы или другие деловые партнеры, в том, что данные не были изменены.
Книга учёта использует технологию для защиты от несанкционированных изменений, чтобы фиксировать изменения в базе данных в неизменяемом журнале, гарантируя, что любые несанкционированные изменения могут быть обнаружены. Эта функция особенно полезна для сценариев, требующих соответствия нормативным требованиям, удобства аудита и доверия между несколькими сторонами. Включив реестр, вы можете проверить целостность данных, уменьшая риск мошенничества или манипуляции данными.
Управление безопасностью
Оценка уязвимостей
Оценка уязвимостей — это легко настраиваемая служба, которая помогает обнаруживать, отслеживать и устранять потенциальные уязвимости, что позволяет предварительно повышать общую защиту базы данных. Оценка уязвимостей входит в состав Microsoft Defender для SQL — единого пакета расширенных средств обеспечения безопасности SQL. Вы можете получить доступ к оценке уязвимостей и управлять ими с помощью центрального портала Microsoft Defender для SQL.
Обнаружение и классификация данных
Обнаружение и классификация данных предоставляют базовые возможности, встроенные в Базу данных SQL Azure и Управляемый экземпляр SQL для обнаружения, классификации и маркировки конфиденциальных данных в базах данных. Обнаружение и классификация наиболее конфиденциальных данных (например, данные бизнеса, финансов, здравоохранения, личные данные и другие) играют ключевую роль в обеспечении защиты информации вашей организации. Она служит инфраструктурой для:
- Различные сценарии безопасности, такие как мониторинг (аудит) и оповещение об аномальном доступе к конфиденциальным данным.
- Управление доступом к базам данных, содержащим конфиденциальные данные, и усиление их защиты.
- Помощь в соблюдении стандартов конфиденциальности данных и нормативных требований.
Дополнительные сведения см. в статье Начало работы с обнаружением и классификацией данных.
Соответствие нормативным требованиям
Помимо функций и функций, которые помогают приложению соответствовать различным требованиям безопасности, база данных SQL Azure также участвует в регулярных аудитах. Оно сертифицировано в соответствии с рядом стандартов соответствия. Дополнительные сведения см. в центре управления безопасностью Microsoft Azure, где представлен актуальный список сертификатов соответствия Базы данных SQL.