Отключить проверку подлинности SQL для SQL Server с поддержкой Azure Arc

Применимо к: SQL Server 2025 (17.x)

В этой статье описывается, как отключить проверку подлинности SQL для SQL Server с поддержкой Azure Arc, работающего под управлением Windows и SQL Server 2025 (17.x). Когда вы отключаете SQL-аутентификацию, экземпляр принимает только аутентификацию Microsoft Entra и проверка подлинности Windows. Вы легко можете изменить эту настройку, и она действует без перезагрузки экземпляра SQL Server. Эта настройка является эквивалентом в SQL Server аутентификации только через Microsoft Entra для База данных SQL Azure и Управляемый экземпляр SQL Azure.

Как работает отключение SQL-аутентификации

Когда вы отключаете аутентификацию SQL на SQL Server:

  • Движок блокирует все новые попытки входа в SQL-аутентификацию и поддерживает только Microsoft Entra и проверка подлинности Windows.
  • Заблокированные SQL-входы получают ошибку 18456 (вход не выполнен).
  • Ваши существующие логины и пользователи остаются на своих местах. Пользователи SQL-входа и содержащихся баз данных, использующих SQL-аутентификацию, сохраняют свои определения и права. Они просто не могут войти, пока вы не включите SQL-аутентификацию заново.
  • Существующие активные сессии аутентификации SQL не затронут. Настройка блокирует только новые соединения.
  • Эта настройка применяется на уровне экземпляра (сервера) ко всем базам данных на экземпляре.
  • Настройка вступает в силу без перезапуска после того, как расширение Azure для SQL Server завершит применение изменений. Как и другие настройки на странице Microsoft Entra ID, расширение занимает несколько минут на применение конфигурации. Портал Azure показывает сообщение об обработке, пока расширение работает, и подтверждает с помощью Saved successfully, когда изменение применено. Чтобы узнать, как расширение применяет свойства сервера к экземпляру, см. раздел «Configure SQL Server enabled by Azure Arc».

Необходимые условия

  • SQL Server, поддерживаемый инстансом Azure Arc с управлением SQL Server 2025 (17.x) на Windows. Ранние версии SQL Server не поддерживали отключение SQL-аутентификации.
  • Расширение Azure для SQL Server версии 1.1.3394.392 или выше. Дополнительные сведения см. в заметках о выпуске.
  • Первичная управляемая идентичность, настроенная для экземпляра SQL Server. SQL Server использует управляемую идентичность для проверки токенов Microsoft Entra. Дополнительные сведения см. в разделе проверки подлинности Microsoft Entra для SQL Server.

Permissions

Чтобы включить или отключить SQL-аутентификацию, нужны права на управление расширением Azure для SQL Server на ресурсе SQL Server в портале Azure. Роли Azure с высокими привилегиями, такие как Владелец и Участник на ресурсе, могут управлять настройками. Те же права, которые позволяют задать администратора Microsoft Entra для экземпляра, позволяют настроить этот параметр.

Подготовьте вашу среду

Отключение SQL-аутентификации блокирует все SQL-соединения для входа, включая сам sa вход.

Прежде чем отключить SQL-аутентификацию:

  • Убедитесь, что хотя бы одна учетная запись Microsoft Entra может выполнять необходимые вам административные задачи в этом экземпляре.
  • Обновите свои приложения для использования Microsoft Entra или проверка подлинности Windows.

Следуйте принципу наименьших привилегий при предоставлении разрешений на вход в административный Microsoft Entra, предоставляя только необходимые разрешения. Например, предоставить конкретному ALTER ANY LOGIN и ALTER ANY USER разрешения или членство в серверной роли, вместо полных прав системного администратора , если не требуется более широкое администрирование.

Если вы потеряете доступ на уровне плоскости данных, снова включите аутентификацию SQL в портале Azure. Управление доступом на основе ролей Azure, а не соединение с SQL Server, управляет этой настройкой.

Мигрируйте входы, прежде чем отключать SQL-аутентификацию

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

Для миграции аутентификации входа следуйте следующей последовательности шагов:

  1. Определите, какие принципы действительно связаны между собой. Метаданные показывают, что существует; Аудит показывает, что используется. Включите аудит SQL Server с помощью группы действий SUCCESSFUL_LOGIN_GROUP, чтобы увидеть, какие учетные записи для входа и автономные пользователи по-прежнему проходят проверку подлинности с использованием SQL-аутентификации. Чтобы перечислить существующие SQL-логины на экземпляре, выполните следующий запрос:

    SELECT name, type_desc, is_disabled, create_date
    FROM sys.server_principals
    WHERE type_desc = 'SQL_LOGIN'
    ORDER BY name;
    

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

    SELECT name, type_desc
    FROM sys.database_principals
    WHERE type = 'S' AND authentication_type_desc = 'DATABASE'
    ORDER BY name;
    
  2. Создайте эквиваленты Microsoft Entra и предоставляйте соответствующие права. Для каждого SQL-входа или сдерживаемого пользователя, который всё ещё необходим, создайте соответствующий логин Microsoft Entra или пользователя и предоставьте соответствующие права. Дополнительные сведения см. в разделе проверки подлинности Microsoft Entra для SQL Server.

  3. Обновляйте всё, что связано с SQL-аутентификацией. Перенастройте приложения, задачи агент SQL Server, связанные серверы, скрипты репликации и обслуживания для использования аутентификации Microsoft Entra или проверка подлинности Windows, а также обновите до клиентской версии драйвера с поддержкой аутентификации Microsoft Entra. Все эти функции поддерживают аутентификацию Microsoft Entra, поэтому перемещайте их, а не оставляйте на SQL-аутентификации.

  4. Проверьте, не осталось ли SQL-аутентификационного трафика. Перепроверьте данные аудита и убедитесь, что все соединения были перенесены в Microsoft Entra или проверка подлинности Windows, прежде чем отключать SQL-аутентификацию.

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

Отключить аутентификацию SQL

Отключите SQL-аутентификацию для вашего экземпляра SQL Server 2025 (17.x) на Windows напрямую из портала Azure, следуя следующим шагам:

  1. Перейдите к ресурсу экземпляра SQL Server на портале Azure.

  2. В разделе «Настройки» выберите Microsoft Entra ID, чтобы открыть панель Microsoft Entra ID.

    1. Выберите поле «Использовать основную управляемую личность», если она ещё не выбрана.
    2. Выберите галочку «Отключить SQL-аутентификацию », чтобы отключить SQL-аутентификацию.
    3. Выберите Сохранить, чтобы сохранить новую настройку:

    Скриншот панели Microsoft Entra ID в портале Azure с отмеченной галочкой «Отключить SQL Authentication» и выделенной кнопкой «Сохранить».

После сохранения расширение Azure для SQL Server применяет эту настановку к экземпляру. Это занимает несколько минут: портал показывает сообщение об обработке, пока расширение выполняет операцию, и подтверждает с помощью Saved successfully, когда изменение будет применено. Перезапуск не требуется. Если вы видите, что продленный звонок не удался, подождите несколько минут и снова выберите «Сохранить ».

Чтобы повторно включить SQL-аутентификацию, уберите галочку «Отключить SQL-аутентификацию » и выберите «Сохранить».

Чтобы подтвердить, что изменения вступили в силу, см. раздел «Проверить статус аутентификации».

Проверка статуса аутентификации

Используйте функциюIsExternalAuthenticationOnly SERVERPROPERTY, чтобы проверить, отключена ли аутентификация SQL на экземпляре. Значение 1 означает, что аутентификация SQL отключена (доступна только аутентификация Microsoft Entra и Windows); 0 означает, что аутентификация SQL включена.

SELECT SERVERPROPERTY('IsExternalAuthenticationOnly');

Remarks

Рассмотрим следующие замечания:

  • Настройка Disable SQL Authentication требует основного управляемого идентификатора на экземпляре.
  • Вы не можете удалить основную управляемую личность, пока аутентификация SQL отключена. Сначала снова включите SQL-аутентификацию.
  • Отключить SQL-аутентификацию по умолчанию не установлен, поэтому SQL-аутентификация разрешена.

Ограничения

Вы можете отключить SQL аутентификацию только для экземпляров SQL Server 2025 (17.x), поддерживаемых Azure Arc на Windows.