微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于内部自定义 C# 库的 Azure VMSS 托管标识

如何解决用于内部自定义 C# 库的 Azure VMSS 托管标识

我们使用自定义 c# 库连接到 Azure Key Vault 并对库中可用的机密进行一些自定义处理。反过来,这个 c# 库被部署在 Azure 服务结构上的 .net 核心 Web API 应用程序使用。

到目前为止,我们的 c# 库(用于连接到 Azure Key Vault)使用安全证书和 AAD 应用程序连接到 Key Vault,但想要升级库以使用 Azure VMSS(其中 VMSS 由 Azure Service Fabric 管理)系统分配了托管标识以访问密钥保管库。这行得通吗?

VMSS 的系统分配的托管标识是否可用于类库,而后者又由 Azure VMSS 上托管的 Web api 使用?问这个问题的原因是,VMSS 的托管标识不被托管在 VMSS 上的 web api 使用,但 VMSS 的托管标识应该由我的 web api 项目中使用的 c# 类库使用。请确认。

解决方法

它应该可以工作,MSI 可以在 VMSS 内的任何地方使用。只要您的代码在 VMSS 中运行,它就可以使用 MSI。

为了确认这一点,您也可以尝试在您的自定义代码中make an http request to the Azure Instance Metadata Service (IMDS) endpoint,如注释所述,如果您能够成功获取令牌,则表示您可以访问MSI。

,

我不确定您使用的是哪个库,但是如果该库封装了针对 AAD 的身份验证,那么这取决于它公开的功能。

无论如何,Microsoft 发布了一个库,用于使用系统分配的身份/托管身份/任何类型的身份验证方法对 AAD 进行身份验证并获取 KeyVault(以及其他资源)的令牌。

看这里https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/identity/Azure.Identity

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。