Как подключиться к Azure SQL Server с помощью Managed Service Identity из приложения Django на моем локальном ноутбуке
У меня есть приложение Django, которое подключается к Azure SQL Server через традиционную комбинацию имени пользователя и пароля, и все работает нормально.
Библиотека, которую я использую для этого - mssql-django. Вот ссылка на нее. https://github.com/microsoft/mssql-django
Это выдержка из settings.py
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "db_name",
"USER": "foo",
"PASSWORD": "password",
"HOST": "foo.database.windows.net",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 17 for SQL Server",
},
},
}
Однако я хочу подключиться к Azure SQL Server, используя управляемые идентификаторы. Библиотека, которую я использую, рассказывает об этом в этой ссылке: https://github.com/microsoft/mssql-django/wiki/Azure-AD-Authentication
Внизу вышеуказанной ссылки они предлагают использовать эту настройку:
DATABASES = {
"default": {
"ENGINE": "mssql",
"NAME": "db_name",
"HOST": "foo.windows.net",
"PORT": "1433",
"OPTIONS": {
"driver": "ODBC Driver 17 for SQL Server",
"extra_params": "Authentication=ActiveDirectoryMsi",
},
},
}
Но как мне настроить управляемую идентификацию на моем локальном ноутбуке, чтобы он мог аутентифицироваться в Azure? Я понимаю, что это будет работать для App Service или Azure VM, но как настроить это для локального ноутбука?
Управляемая идентификация службы может использоваться только для ресурсов, размещенных на Azure
Поскольку ваше приложение размещено на локальном ноутбуке, вы не можете использовать Managed Service Identity
В вашем случае вы можете использовать аутентификацию принципала службы вместо Managed Service Identity
Если ваше приложение размещено в Azure (либо служба Azure App, либо Azure VM), то вы можете создать управляемую идентификацию для вашего ресурса Azure и предоставить необходимые разрешения для управляемой идентификации на сервере Azure SQL
Тогда вы сможете использовать Managed Service Identity для вашего приложения