是否需要注册应用才能使用 Key Vault 存储机密?

Is it required to register an app to use Key Vault to store secrets?

我有一个 .NET 应用程序,当前 运行 在本地访问数据库。数据库机密存储在 appsettings.json 文件中。我的问题是可以使用 keyvault 而无需 在 Azure 上注册应用程序。如果我应该注册一个应用程序,它是免费还是有每月费用。请注意,我目前使用的是 AZURE 免费订阅,但将来也必须使用 KeyVault。将数据存储到 KeyVault 并将它们再次加载到程序中的过程是否成本高昂?

起初这可能有点令人困惑 - 最终,您需要的是服务主体。您可以通过以下几种方式获得:

  1. 创建企业应用程序或应用程序注册。这有点复杂,因为您必须创建它,然后您必须管理与其关联的秘密,并且您的应用程序服务需要该注册的 application/client ID 和注入其环境的当前秘密。
  2. 在应用服务配置中开启系统分配的托管标识。这是最简单的方法,因为 Azure 会自动处理所有事情 - 注册和秘密管理,将当前凭据注入你的应用程序环境。
  3. 在 Azure 门户中创建托管标识,然后配置您的应用以将其用作用户分配的托管标识。这与 #2 类似,但额外的步骤允许您创建一个可以在多个应用程序之间共享的身份,如果您需要的话。

作为免费订阅的一部分,您获得的 Azure Active Directory 租户都附带此功能。 对此有限制 - 您只能将 10 个 Web 应用程序 与 Azure AD 的免费层集成,超出此限制您需要升级到付费等级。

编辑:自从我上次遇到这个 10 个应用程序的限制可能已经解除了,但是验证一下是否需要实施更多应用程序将是一件好事超过 10 个应用程序。

您可以配置 Visual Studio 以使用本地环境中的密钥保管库。有不同的方法可以做到这一点,但是 link 这里 https://docs.microsoft.com/en-us/azure/key-vault/general/vs-key-vault-add-connected-service.

给出了其中一种方法

您需要先订阅 Azure,然后才能将应用程序注册到 Azure。