![](/img/trans.png)
[英]How to connect to Azure SQL Server using Managed Service Identity from Django application in my local laptop
[英]Connect Django with Azure MS SQL Server DB using managed identity
如何通过托管身份将我的 Azure MS SQL 服务器数据库连接到 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
中配置应用程序的数据库。 输入与 Windows Azure 网站关联的 MySQL 数据库信息。
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': '',
}
}
接下来,将您的应用程序添加到 settings.py 中的 INSTALLED_APPS 设置。
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'myblog',
)
从文档
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>
替换为系统分配的托管标识中的 VM 名称或名称用户分配的托管标识中的托管标识。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.