【问题标题】:Connecting to Azure SQL database from desktop app in Python: authorization with Azure AD在 Python 中从桌面应用程序连接到 Azure SQL 数据库:使用 Azure AD 进行授权
【发布时间】:2022-06-24 13:14:22
【问题描述】:
我有一个用 Python 编写的桌面应用程序,它将一些数据上传到托管在 Azure 上的 SQL 数据库 (SQL Server)。使用 Azure AD MFA 对访问进行身份验证。该应用程序使用 pyodbc。这有点麻烦,因为我每次使用应用程序时都需要输入密码和授权码。我希望应用程序自动获得身份验证。我不想使用一些简单的解决方法,例如让应用程序直接访问数据库以绕过 AD 授权。
第二个问题是应用程序继承了我所有的访问权限,它不需要这些权限,因为它将数据加载到临时表中。我了解我可以使用 Azure AD 注册应用程序并获取访问令牌。但是,我不知道下一步该怎么做。
【问题讨论】:
标签:
python
sql
azure
pyodbc
multi-factor-authentication
【解决方案1】:
每次使用该应用程序时,我都需要输入密码和授权码。我希望应用程序自动获得身份验证。
- 您可以使用 Active Directory 集成身份验证方法自动登录到您的应用程序。
- 为此,您需要将本地 Active Directory 实例与 Azure AD 联合。
- 如果您要登录到已加入域的计算机,请使用此选项。在此模式下,您可以访问 Azure SQL 数据源,而不会提示您输入凭据。
- 但是你不能设置sqlconnection的credential属性。
- 更多信息可以参考Microsoft Document.
- 此外,正如您所指的访问令牌,这里是 link,其中包含完整的信息。