Как мы можем подключить приложение Django с локального ноутбука к экземпляру SQL Managed, который имеет аутентификацию azure AD?
Я пытаюсь подключить приложение Django с локального ноутбука к Azure SQL Managed Instance с установленной аутентификацией AD. У меня есть необходимые разрешения для SQL, поскольку я был настроен на подключение к нему из SSMS с теми же учетными данными.
Я пытаюсь использовать ActiveDirectoryPassword, как упомянуто здесь. django-pyodbc-azure 2.1.0.0 docs и microsoft/mssql-django docs. Microsoft docs для подключения к Azure MI. Мои настройки db в settings.py следующие:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': 'XXXX/db name',
'USER': 'xxxx.xxxx@xxxx.com',
'PASSWORD': 'XXXXXX',
'HOST': 'tcp:XXX.public.XXXX.database.windows.net',
'PORT': '3342',
'OPTIONS': {'driver':'ODBC Driver 17 for SQL Server',
'extra_params': 'Authentication=ActiveDirectoryPassword',
},},}
Получаем следующую ошибку:
django.db.utils.Error: ('FA004', "[FA004] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Failed to authenticate the user 'XXXX.XXXX@XXXXXXXX.com' in Active Directory (Authentication option is 'ActiveDirectoryPassword').\r\nError code 0xCAA2000C; state 10\r\nAADSTS50076: Из-за изменения конфигурации, внесенного вашим администратором, или из-за переезда на новое место, вы должны использовать многофакторную аутентификацию для доступа к
.
Подобный вопрос обсуждался здесь.
AADSTS50076: Из-за изменения конфигурации, внесенного вашим администратором, или из-за переезда на новое место, вы должны использовать многофакторную аутентификацию для доступа к
.
Это может быть связано с тем, что у вашего арендатора активирована функция Security Defaults
. Вы можете отключить его, перейдя в раздел
Azure Portal >> Azure Active Directory >> Свойства >> Выберите Manage Security Defaults >> Измените значение кнопки Enable Security Defaults на NO.
Обратитесь к этому официальному документу Microsofts для получения дополнительной информации о настройках безопасности по умолчанию