繁体   English   中英

使用托管标识将 Django 与 Azure MS SQL 服务器数据库连接起来

[英]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',
    )

参考 - 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>替换为系统分配的托管标识中的 VM 名称或名称用户分配的托管标识中的托管标识。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM