You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure虚拟机中Windows Service对接SQL Server的托管身份配置咨询

问题解答

1. Azure VM上的Windows Service对接另一VM上的SQL Server使用托管标识的相关问题

能否使用Azure Managed Identity?

可以,但前提是你的Azure VM上的SQL Server已经配置了Azure AD身份验证(托管标识本质是Azure AD中的身份,需要SQL Server支持AD认证才能识别),若未配置需先完成这一步。

Windows Service应运行于哪个账户?

推荐以Local System账户运行。给Windows Service所在的Azure VM启用系统分配托管标识后,Local System账户运行的服务会自动继承该VM的托管标识权限,无需额外配置服务登录账户;若使用用户分配托管标识,保持Local System即可,代码中指定使用该用户分配标识就行。

连接字符串是否需替换为Managed Identity而非Integrated Security?

不能直接替换,需调整连接方式:

  • 移除连接字符串中的Integrated Security=True
  • .NET应用可使用示例连接字符串:Server=your-sql-vm-ip;Database=your-db;,代码中通过托管标识获取访问令牌,或直接在连接字符串中添加Authentication=Active Directory Managed Identity(需使用最新SqlClient驱动)
  • 非.NET应用需通过Azure SDK获取托管标识令牌,连接SQL Server时传入该令牌

如何为Managed Identity授予SQL Server访问权限?

  1. 确认Azure AD中托管标识(系统/用户分配)的名称
  2. 在SQL Server上执行以下T-SQL:
    -- 创建AD登录
    CREATE LOGIN [你的托管标识名称] FROM EXTERNAL PROVIDER;
    -- 切换到目标数据库
    USE 你的数据库名;
    -- 创建数据库用户
    CREATE USER [你的托管标识名称] FOR LOGIN [你的托管标识名称];
    -- 授予读写权限(示例)
    ALTER ROLE db_datareader ADD MEMBER [你的托管标识名称];
    ALTER ROLE db_datawriter ADD MEMBER [你的托管标识名称];
    

是否需为Windows Service所在虚拟机配置RBAC以实现对SQL Server虚拟机的访问?

不需要。RBAC用于管理Azure资源(如VM、存储)的权限,而SQL Server的访问由SQL权限+网络连通性控制:

  • 确保两台VM在同一虚拟网络,或通过VPN/ExpressRoute连通
  • 在SQL Server防火墙(或VM的NSG)中允许Windows Service所在VM的IP访问SQL Server默认端口1433
  • 完成前面的AD身份验证和SQL权限配置后即可正常访问

2. 迁移至Azure SQL Managed Instance或Azure SQL Database的优势

若没有必须保留SQL Server虚拟机的硬性需求(如依赖特定SQL Server功能、自定义OS配置),迁移到Azure SQL DB或MI有这些明显优势:

  • 运维成本更低:无需维护VM的OS补丁、SQL Server版本升级、备份策略等,Azure自动处理这些任务
  • 托管标识支持更原生:Azure SQL DB/MI直接支持托管身份验证,连接字符串可直接指定Authentication=Active Directory Managed Identity,无需额外配置SQL Server的AD集成,实现更简单
  • 弹性伸缩更灵活:可按需调整计算资源(vCore/DTU)和存储,比VM伸缩更高效,成本更可控
  • 内置高可用:默认提供99.99%的可用性,自动故障转移,无需自行配置集群或镜像
  • 安全特性更完善:内置静态/传输数据加密、威胁检测、高级防火墙规则,安全配置更简便
  • 灾难恢复更简化:支持跨区域复制、Geo-redundant备份,恢复流程自动化程度更高

内容的提问来源于stack exchange,提问作者Poppert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:17:21