Подключение Django к СУБД Azure MS SQL Server с использованием управляемой идентификации

Как я могу подключить мою базу данных Azure MS SQL Server к Django через управляемую идентификацию.

В настоящее время мой файл Django settings.py выглядит следующим образом :

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'HPI_SI_DB',
        'HOST': 'abcengine.database.windows.net',
        'USER': 'xyz',
        'PASSWORD': '*******',
        'OPTIONS': {'driver': 'ODBC Driver 17 for SQL Server', }
    },
    'DB2': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'HPI_SI_DB',
        'HOST': 'abcdengine.database.windows.net',
        'USER': 'xyz',
        'PASSWORD': '*******',
        'OPTIONS': {'driver': 'ODBC Driver 17 for SQL Server', }
    }
}

Для настройки базы данных приложения в settings.py. Введите информацию о базе данных MySQL, связанную с веб-сайтом Windows Azure.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'MYSQL-DATABASE-NAME',                     
        'USER': 'MYSQL-SERVER-USER-NAME',                     
        'PASSWORD': 'MYSQL-SERVER-USER-PASSWORD',                  
        'HOST': 'MySQL-SERVER-NAME',                     
        'PORT': '',
    }
}

Далее, добавьте ваше приложение в параметр INSTALLED_APPS в settings.py.

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',  
    'myblog',
    )

Ссылка - https://azure.microsoft.com/en-in/blog/using-django-python-and-mysql-on-windows-azure-web-sites-creating-a-blog-application/

Из документации

ActiveDirectoryMsi

.

Чтобы использовать управляемую идентификацию, добавьте Authentication=ActiveDirectoryMsi к extra_params.

DATABASES = {
  "default": {
      "ENGINE": "mssql",
      "NAME": "your_db",
      "HOST": "database.windows.net",
      "PORT": "1433",
      "OPTIONS": {
          "driver": "ODBC Driver 17 for SQL Server",
          "extra_params": "Authentication=ActiveDirectoryMsi",
      },
  },
}

Если вы хотите запускать модульные тесты, то тестовая база данных должна быть создана вручную и вам необходимо передать аргумент --keepdb.

Если вы получаете ошибку VIEW ANY COLUMN MASTER KEY DEFINITION permission denied in database, выполните EXEC sp_addrolemember N'db_owner', N'<Name>', заменив <Name> на имя виртуальной машины в system-assigned managed identity или на имя managed identity в user-assigned managed identity.

Вернуться на верх