Azure Sql Server 的用户分配托管标识

Ear*_*ird 3 azure azure-sql-server azure-functions azure-managed-identity

我是 Azure 云的新手。我正在尝试将用户分配的托管标识分配给 Azure Sql Server 以获取 Function App 资源。我添加了可以访问 Azure Sql Server 的用户。同时我尝试打开系统身份。

到底发生了什么:

  1. 当我打开系统身份时,它显示“用户登录”错误。
  2. 当我关闭系统身份时,它显示无法加载正确的托管身份。
  3. 我实际上需要用户分配的身份。因此,为此我在 SQL Server 中尝试了以下命令,我创建了一个名为 UMI1 的用户,并将该用户添加到用户分配的托管标识中。
从外部提供商创建用户 [UMI1];
去
更改角色 db_datareader 添加成员 [UMI1];
更改角色 db_datawriter 添加成员 [UMI1];
去

连接字符串包含用户 ID=UM1

所以,我认为我在 sql 中创建用户时遇到问题。有关此问题的任何参考或回复都会有所帮助。先感谢您

Tho*_*mas 5

如果您正在使用该Microsoft.Data.SqlClient库(请参阅nuget),您可以配置连接字符串以使用托管标识:

连接字符串将如下所示:

Server=demo.database.windows.net;
Database=testdb;
Authentication=Active Directory Managed Identity;
Encrypt=True;
Run Code Online (Sandbox Code Playgroud)

使用用户分配的身份时,您可以通过添加额外的连接属性来指定 client_id:

User ID=<Client/App Id of the managed identity>
Run Code Online (Sandbox Code Playgroud)