我有一个当前正在本地运行的 .NET 应用程序,该应用程序访问数据库。数据库 secret 存储在 appsettings.json 文件中。我的问题是,无需在 Azure 上注册应用程序即可使用 keyvault。如果我应该注册一个应用程序,它是免费还是每月费用。请注意,我目前正在使用 AZURE 免费订阅,但将来也必须使用 KeyVault。将数据存储到 KeyVault 并将其再次加载到程序中的过程成本高昂吗?
最佳答案
一开始这可能会有点令人困惑 - 最终,您需要的是服务主体。您可以通过以下几种方式获得:
- 创建企业应用程序或应用程序注册。这有点复杂,因为您必须创建它,然后必须管理与其关联的 secret ,并且您的应用服务需要该注册的应用程序/客户端 ID 以及注入(inject)到其环境中的当前 secret 。
- 在应用服务配置中启用系统分配的托管身份。这是最简单的方法,因为 Azure 会处理一切 - 注册和 secret 管理,自动将当前凭据注入(inject)到您的应用环境中。
- 在 Azure 门户中创建托管标识,然后将应用配置为将其用作用户分配的托管标识。这与 #2 类似,但额外的步骤允许您创建一个可以在多个应用之间共享的身份(如果您愿意的话)。
此功能全部随您作为免费订阅的一部分获得的 Azure Active Directory 租户一起提供。 这有一个限制 - 您只能将10 个 Web 应用程序与 Azure AD 免费层集成,超出此范围,您需要升级到付费层。
编辑:自从我上次遇到此限制以来,10 个应用程序的限制可能已被取消,但如果您需要实现 10 个以上的应用程序,最好验证一下。
关于azure - 是否需要注册应用程序才能使用 Key Vault 存储 secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70034279/