我无法使用用户分配的托管标识连接到 Azure SQL 数据库。可以使用专用终结点从运行 SQL Server 2017 的 SQL VM 访问 SQL,并且能够使用服务主体和具有 MFA 的 Entra ID 帐户进行连接。
以及图形 API 角色:
User.Read.All
GroupMember.Read.All
Application.Read.ALL
我还使用以下查询在数据库中创建了角色:
CREATE USER "sql-managed-identity" FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER "sql-managed-identity";
ALTER ROLE db_datawriter ADD MEMBER "sql-managed-identity";
GO
SQL Management Studio 和 Powershell 不断给我以下错误:
Cannot connect to different-vnet-sql.database.windows.net.
-
ADDITIONAL INFORMATION:
ManagedIdentityCredential authentication is unavailable. The requested identity has not been assigned to this resource.
Status: 400 (Bad Request)
Content:
{"error":"invalid_request","error_description":"Identity not found"}
Headers:
Content-Length: 68
Content-Type: application/json; charset=utf-8
Date: Tue, 16 Jan 2024 14:56:05 GMT
Server: IMDS/150.870.65.1103
(Azure.Identity)
我已经尝试了 SSMS 中的所有不同身份验证方法并尝试使用登录
用户分配的托管标识名称(如在 Azure 门户中)
用户分配的托管身份客户端 ID
用户分配的托管身份对象(主体)ID
都给出相同的错误。