gpt4 book ai didi

azure - 在 Azure 应用服务中管理 ASP.NET Core Web API secret 的最佳实践

转载 作者:行者123 更新时间:2023-12-02 08:11:19 25 4
gpt4 key购买 nike

我目前正在开发一个 ASP.NET Core Web API,该 API 设置为在 Azure 应用服务上运行,并且我正在寻求管理 secret 的最佳实践。

我有以前项目的配置指南,我很好奇这种方法是否仍然被认为是最佳实践。在该指南中,配置设置包括各种源的组合,这些源被分层在一起以在运行时构建最终配置。它使用了 launchSettings.jsonappsettings.jsonappsettings.{ENVIRONMENT}.jsonsecrets.json code> 文件,以及环境变量以及 Azure AppConfiguration 和 KeyVault 服务。

以下是指南建议的组织配置方式的摘要:

  1. 密码、连接字符串或 API key 等 secret 配置值应添加到 Azure KeyVault。对这些值的引用应放置在 Azure AppConfiguration 实例中。

  2. 特定于单个服务的配置值应放置在该服务的 appsettings.jsonappsettings.{ENVIRONMENT}.json 文件中。

  3. 服务之间共享的配置值应添加到 Azure AppConfiguration。

例如,在我当前的设置中,我设置了 Application Insights,并且在本地运行时其连接字符串位于 secrets.json 中。我需要将此 secret 移至 Azure,并且根据上面的指南,似乎我应该使用 Azure KeyVault。我见过人们创建 Key Vault 引用,然后从 AppConfiguration 引用它,这似乎与上面提到的方法一致。

鉴于概述的做法,我想知道现在情况是否仍然如此?

如果您有在 Azure 环境中管理 ASP.NET Core Web API secret 的经验,我们将不胜感激。

https://learn.microsoft.com/en-us/azure/azure-app-configuration/use-key-vault-references-dotnet-core?tabs=core6x

最佳答案

Given the practices outlined, I am wondering if that's still the casenowadays?

嗯,根据您的场景和描述,似乎为了管理您的应用程序凭据,您正在使用 azure key vault而且,你还有你的配置文件。此外,您还有一个环境变量来确定您的开发和生产环境的配置值。

到目前为止,这是最合适的做法。我认为您可以通过读取应用程序配置中的关键引用并从 Azure key 保管库获取值来提取应用程序凭据。

更多:

除了上述步骤和方法外,您还可以使用Managed identities for Azure resources 。您可以利用 Azure 资源的托管标识,而不是直接通过 key 值的 key 引用读取凭据,这允许应用程序使用 Azure AD 身份验证通过 Azure Key Vault 进行身份验证,而无需在应用程序的代码或配置中存储凭据。这肯定会为您的 secret 管理增加另一层安全性。请refer this official document how to use Azure Managed identities

注意:

最重要的是,我们在管理应用程序凭据时始终考虑以下几个方面来确保安全:

  1. appsettings.json 文件和任何本地配置都不应保留凭据信息。

  2. 配置值或 secret 应特定于环境

  3. 保管库 secret 不应让所有人都能访问。必须根据基于角色的访问控制或托管身份来决定

除此之外,我已经检查了您的共享文档,但是您可以查看 new official document for secret management.

关于azure - 在 Azure 应用服务中管理 ASP.NET Core Web API secret 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76695454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com