【问题标题】:How to use MSI for development in visual studio?如何在 Visual Studio 中使用 MSI 进行开发?
【发布时间】:2018-05-25 04:07:53
【问题描述】:

我需要在开发和调试期间访问我的 Key Vault。 是否可以通过使用托管服务身份? 我看到我的代码可以get this credentials when the app is deployed on VM,但是如果我在本地工作站上开发过程中需要它们怎么办?

【问题讨论】:

    标签: azure azure-keyvault azure-managed-identity


    【解决方案1】:

    从 Visual Studio 2017 15.8.something 开始,juunas 提到的扩展已内置在 Visual Studio 中。

    工具 -> 选项 -> Azure 服务身份验证 -> 帐户选择

    【讨论】:

    • 请注意,如果您还安装了 az cli 并通过了身份验证,它将使用这些凭据而不是 UI 中指定的凭据。
    • 有时您需要取消设置并重新设置它,但我遇到了身份验证错误,只需删除并恢复它就可以开始工作了。
    【解决方案2】:

    查看DefaultAzureCredential (.NET) 的文档,其中解释了如何为开发和托管身份进行设置。

    以下是其他一些受支持语言的链接。

    Java

    JavaScript

    Python

    【讨论】:

      【解决方案3】:

      一种方法是安装2.0 Azure CLI,然后使用az login 登录。然后确保使用az account set -s "My Azure Subscription name or id" 选择了正确的订阅。

      然后,您需要确保您登录的用户帐户有权访问 Key Vault。

      现在重新启动 Visual Studio,然后运行应用程序。它应该会成功验证。

      另一种方法是使用新的Visual Studio extension 而不是 CLI。

      【讨论】:

      • 我不明白哪些代码可以从 Key Vault 中获取值?你能添加一个简短的样本吗?注意:我在 Visual Studio 和 Azure 中有不同的帐户
      【解决方案4】:

      Here is a Microsoft sample app (Github project) 在自述文件中提供了有关如何使用 MSI 和 Key Vault 启动和运行本地开发人员的相当详细的说明

      关键是当您在本地进行调试时,您不是作为 MSI 注册的应用程序的服务主体运行,而是作为您自己运行。 Azure CLI az loginaz account set 命令设置调试会话的默认上下文。你将运行这些命令,然后使用你的 Azure 身份登录到门户,并授予你对密钥保管库的 azure 身份访问权限。

      【讨论】:

        猜你喜欢
        • 2019-05-18
        • 1970-01-01
        • 2010-11-25
        • 2013-11-01
        • 1970-01-01
        • 2012-05-18
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        相关资源
        最近更新 更多