【问题标题】:Azure VMSS Managed Identity for internal custom C# library用于内部自定义 C# 库的 Azure VMSS 托管标识
【发布时间】:2021-04-27 15:43:24
【问题描述】:

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

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

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

【问题讨论】:

标签: azure azure-active-directory azure-service-fabric azure-managed-identity azure-vm-scale-set


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 我们正在使用我们自己的自定义 c# 库,它使用 AAD 应用程序和部署在 SF 节点上的安全证书封装了针对 AAD 的身份验证。但展望未来,我们希望使用为 VMSS 颁发的现代托管身份而不是 AAD 应用程序和安全证书来进行 AAD 身份验证。
    猜你喜欢
    • 1970-01-01
    • 2022-01-09
    • 2020-04-12
    • 2020-11-18
    • 2022-11-11
    • 1970-01-01
    • 2020-11-10
    • 2020-12-30
    • 2020-10-04
    相关资源
    最近更新 更多