繁体   English   中英

如何在我的本地笔记本电脑中使用来自 Django 应用程序的托管服务标识连接到 Azure SQL 服务器

[英]How to connect to Azure SQL Server using Managed Service Identity from Django application in my local laptop

我有一个 Django 应用程序,它通过传统的用户名和密码组合连接到 Azure SQL 服务器,它工作正常。

我为此使用的库是 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 服务器。 我正在使用的库在此链接中讨论此问题: 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 进行身份验证? 我知道这适用于应用服务或 Azure VM,但是如何为本地笔记本电脑设置它?

托管服务标识只能用于托管在 Azure 上的资源

由于您的应用程序托管在本地笔记本电脑中,因此您无法使用托管服务身份

在您的情况下,您可以使用服务主体身份验证而不是托管服务身份

If your application is hosted in Azure (either Azure App service or Azure VM), then you can create Managed Identity for your Azure Resource and provide the required permissions for the managed identity in the Azure SQL server

然后您就可以为您的应用程序使用托管服务标识

暂无
暂无

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

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