sql-server - 如何使用托管标识(连接字符串中没有凭据)从 Azure 函数连接到 Azure SQL?
问题描述
我有一个 Azure Function 应用程序,用 C# 编写并使用在 Linux 上运行的 .NET Core (3.x)。我希望这组函数能够连接到 Azure SQL 数据库。我遵循了这个过程:
- 我确保函数应用启用了系统分配的托管标识:
- 我使用在我的数据库中创建了一个用户
CREATE USER ... FROM EXTERNAL PROVIDER
并将该用户添加到适当的角色(db_datareader
在db_datawriter
我的情况下)。在我的情况下,我必须创建一个 Azure AD 组并将托管标识添加到该组,然后为该组创建用户(由于某种原因,有两个带有函数应用名称的 AD 标识......) . - 我在函数应用的设置中设置了连接字符串。这就是我认为我出错的地方。我不清楚如何指定正确的连接字符串。我试过的连接字符串:
Data Source=my-database-server.database.windows.net;Initial Catalog=my-database
不工作。我看到了这样的错误:Login failed for user ''.
Data Source=my-database-server.database.windows.net;Initial Catalog=my-database;Authentication=Active Directory Integrated
(使用System.Data.SqlClient
)没有用。我看到了这样的错误:Keyword not supported: 'authentication'.
Data Source=my-database-server.database.windows.net;Initial Catalog=my-database;Authentication=Active Directory Integrated
(使用Microsoft.Data.SqlClient
)我看到了这样的错误:MSAL cannot determine the username (UPN) of the currently logged in user.
什么是魔术连接字符串咒语或我缺少的步骤?
解决方案
推荐阅读
- c# - 如何在 google DialogFlow Webhook 中添加 localhost URL?
- python - Flask - RuntimeError:未找到应用程序。在视图函数中工作或推送应用程序上下文
- ios - 为什么 Swift Firebase auth() 响应较晚?
- docker - Docker 容器网络 --format
- powerbi - 如何在按钮单击时从 mvc 应用程序将 power bi 报告导出为 pdf
- java - 我想使用 NCDC(国家气候数据中心)气候数据 API 根据邮政编码获取美国过去的最高和最低温度
- react-native - React Native 地图在旋转时不会改变宽度
- php - CI 框架中的 Zend_Barcode::render() - 如何在渲染图像前后添加文本和其他信息
- .net-core - 如何将 hibernate.cfg 移动到 appsettings.json
- python - Python 3:关于在函数中使用变量的理论问题