azure - 是否需要注册应用程序才能使用 Key Vault 存储 secret ?

标签 azure azure-active-directory azure-keyvault

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

最佳答案

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

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

此功能全部随您作为免费订阅的一部分获得的 Azure Active Directory 租户一起提供。 这有一个限制 - 您只能将10 个 Web 应用程序与 Azure AD 免费层集成,超出此范围,您需要升级到付费层。

编辑:自从我上次遇到此限制以来,10 个应用程序的限制可能已被取消,但如果您需要实现 10 个以上的应用程序,最好验证一下。

关于azure - 是否需要注册应用程序才能使用 Key Vault 存储 secret ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70034279/

相关文章:

Azure 云服务 - 访问被拒绝(端口绑定(bind))

c# - Azure Durable Function - 在 Orchestrator 中执行操作

azure - 如何将 Azure 资源注册为 Azure Active Directory 中的应用程序?

azure - 如何从本地运行的docker容器访问Azure Keyvault?

c# - 如何从 Function App 指定 Azure Key Vault Secret 的属性?

azure - DocumentDB 和 Azure 搜索 : Document removed from documentDB isn't updated in Azure Search index

azure - 有免费的Sandbox for Azure App服务吗?

c# - Azure Active Directory 身份验证损坏 - 没有已知的根本原因

azure-active-directory - 使用 MSAL 实现 AAD 身份验证时,我将使用 navigateToLoginRequestUrl 选项做什么?

c# - 如何从Azure Key Vault读取值