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

部署于本地服务器的控制台应用能否使用Azure Managed Identity?

结论先行

原生Azure托管标识(Managed Identities)本身仅支持绑定到Azure云上的资源,不能直接给非Azure托管的本地服务器上的应用使用,但有两种成熟的可落地方案可以实现完全一致的效果,完全满足你从本地应用访问Key Vault机密的需求。


方案1:通过Azure Arc启用本地服务器的托管标识(最接近原生托管标识的体验)

该方案将本地服务器接入Azure Arc成为受Azure管理的Arc资源,直接支持绑定托管标识,使用体验和云内托管标识完全一致:

  • 第一步:将你的本地服务器接入Azure Arc,按照流程完成Arc Agent安装和资源注册,注册完成后本地服务器会在Azure Portal中作为Azure Arc 服务器资源存在
  • 第二步:给该Arc服务器分配用户分配托管标识(或系统分配托管标识,可按需选择)
  • 第三步:在Key Vault的访问策略(或RBAC权限配置)中,给该托管标识授予密钥保管库机密用户权限,确保其拥有机密读取权限
  • 第四步:你的控制台应用直接使用Azure SDK内置的托管标识相关方法获取令牌访问Key Vault即可,和云内应用的写法完全一致,C#示例代码如下:
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

var client = new SecretClient(
    new Uri("https://<你的密钥保管库名称>.vault.azure.cn/"),
    new ManagedIdentityCredential("<用户分配托管标识的客户端ID>")
);
KeyVaultSecret secret = client.GetSecret("<待读取的机密名称>");
  • 方案优势:不需要在本地维护任何应用凭据,和云内托管标识的安全模型、使用逻辑完全对齐,适合有多台本地服务器需要访问Azure资源的场景。

方案2:使用Azure AD应用服务主体(轻量方案,无需接入Azure Arc)

如果不想改动本地服务器的注册配置,可以直接使用Azure AD服务主体身份访问Key Vault,安全级别同样满足生产要求:

  • 第一步:在Azure Portal中注册一个Azure AD应用,生成该应用的客户端密钥(优先配置证书认证,安全性更高)
  • 第二步:在Key Vault的访问策略中给该Azure AD应用授予密钥保管库机密用户权限
  • 第三步:把应用的客户端ID、租户ID、凭据(密钥/证书)安全存储在本地服务器的加密存储中(比如Windows凭据管理器、Linux密钥环),禁止硬编码在代码或配置文件里
  • 第四步:使用Azure SDK的对应凭据类获取令牌访问Key Vault,客户端密钥认证的C#示例代码如下:
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;

var credential = new ClientSecretCredential(
    tenantId: "<你的AAD租户ID>",
    clientId: "<注册的AAD应用客户端ID>",
    clientSecret: "<本地存储的客户端密钥>"
);
var client = new SecretClient(
    new Uri("https://<你的密钥保管库名称>.vault.azure.cn/"),
    credential
);
KeyVaultSecret secret = client.GetSecret("<待读取的机密名称>");
  • 方案优势:无需改动本地服务器配置,部署快速灵活,适合单台服务器或者少量应用的场景。

注意事项
  • 两种方案都需要确保本地服务器可以正常访问Azure对应端点,如果有网络限制可以配置Key Vault的防火墙规则,放行本地服务器的公网出口IP
  • 生产环境优先选择证书认证而非密钥认证,降低凭据泄露风险
  • 禁止将任何凭据硬编码在代码、配置文件或代码仓库中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:39:00