- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发一个 ASP.NET Core Web API,该 API 设置为在 Azure 应用服务上运行,并且我正在寻求管理 secret 的最佳实践。
我有以前项目的配置指南,我很好奇这种方法是否仍然被认为是最佳实践。在该指南中,配置设置包括各种源的组合,这些源被分层在一起以在运行时构建最终配置。它使用了 launchSettings.json
、appsettings.json
、appsettings.{ENVIRONMENT}.json
和 secrets.json
code> 文件,以及环境变量以及 Azure AppConfiguration 和 KeyVault 服务。
以下是指南建议的组织配置方式的摘要:
密码、连接字符串或 API key 等 secret 配置值应添加到 Azure KeyVault。对这些值的引用应放置在 Azure AppConfiguration 实例中。
特定于单个服务的配置值应放置在该服务的 appsettings.json
或 appsettings.{ENVIRONMENT}.json
文件中。
服务之间共享的配置值应添加到 Azure AppConfiguration。
例如,在我当前的设置中,我设置了 Application Insights,并且在本地运行时其连接字符串位于 secrets.json
中。我需要将此 secret 移至 Azure,并且根据上面的指南,似乎我应该使用 Azure KeyVault。我见过人们创建 Key Vault 引用,然后从 AppConfiguration 引用它,这似乎与上面提到的方法一致。
鉴于概述的做法,我想知道现在情况是否仍然如此?
如果您有在 Azure 环境中管理 ASP.NET Core Web API secret 的经验,我们将不胜感激。
最佳答案
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
注意:
最重要的是,我们在管理应用程序凭据时始终考虑以下几个方面来确保安全:
appsettings.json 文件和任何本地配置都不应保留凭据信息。
配置值或 secret 应特定于环境
保管库 secret 不应让所有人都能访问。必须根据基于角色的访问控制或托管身份来决定
除此之外,我已经检查了您的共享文档,但是您可以查看 new official document for secret management.
关于azure - 在 Azure 应用服务中管理 ASP.NET Core Web API secret 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76695454/
我正在尝试在我的 minikube 上启动并运行 keycloak。 我正在安装keycloak helm upgrade -i -f kubernetes/keycloak/values.yaml
我将我的数据库密码存储到AWS密钥管理器的Secret Value字段中。如果我使用以下代码,如何检索密码值?。在密钥管理器中定义的密钥:密钥在密钥管理器中定义的值:DBPwd。当我写入日志文件时,上
I am storing my database password into the Secret value field in the aws secret manager. How do I
我正在尝试在 AWS CDK 上组合一个相对简单的堆栈,其中涉及来自 aws-ecs-patterns 的 ApplicationLoadBalancedFargateService。 我的问题涉及
今天我在悠闲地阅读时偶然发现了 Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryp
不是一个真正的编程问题,但很想知道 Kubernetes 或 Minikube 如何管理 secret 并在多个节点/pod 上使用它? 假设我创建了一个 secret 来使用 kubectl 提取图
我需要从 AWS dynamoDB 和第三方 https 服务中获取元素并将这些结果合并到 AWS appSyn 中并将结果作为 graphQL 响应发回 我正在使用的第三方服务需要客户端证书。我没有
我收到一个错误: gpg: no default secret key: No secret key gpg: [stdin]: clearsign failed: No secret key GPG
我正在尝试为 kubernetes 集群设置私有(private) docker 镜像注册表。我正在关注 link $ cat ~/.docker/config.json | base64 ew
当我开发一个API服务器时,我需要给API服务器一些账户信息,这些信息不应该给任何人看。K8s对这种情况推荐secret,所以我用了。 但我想知道这个 secret 是否真的是 secret 。 se
在大多数有关在 Kubernetes 中使用 secret 的示例中,您都可以找到类似的示例: apiVersion: v1 kind: Secret metadata: name: mysecr
我正在与 terraform 合作,在 azure 中启动不同的资源。其中一些资源包含敏感数据,我希望将其安全地存储在 aws Secret Manager 中。这在 Terraform 中是可行的过
我有带有有效 key 的 Azure 应用程序注册。 我正在尝试使用 v1.0 获取 token ,如下所示(clientId 是上述应用程序注册的 ID) $body = @{ grant_
本文讨论如何安装 secret 卷。 https://learn.microsoft.com/en-us/azure/container-instances/container-instances-v
我正在使用 kubernetes 将 Rails 应用程序部署到谷歌容器引擎。 遵循 kubernetes secret 文档:http://kubernetes.io/v1.1/docs/user-
我正在与 terraform 合作,在 azure 中启动不同的资源。其中一些资源包含敏感数据,我希望将其安全地存储在 aws Secret Manager 中。这在 Terraform 中是可行的过
我有带有有效 key 的 Azure 应用程序注册。 我正在尝试使用 v1.0 获取 token ,如下所示(clientId 是上述应用程序注册的 ID) $body = @{ grant_
本文讨论如何安装 secret 卷。 https://learn.microsoft.com/en-us/azure/container-instances/container-instances-v
我有一个 python 脚本,它在 AWS 中创建一些访问 key 并将它们存储在 secret 管理器中。 但是,当我存储 key 时,我收到一条错误消息: The secret value can
我在 Secrets Manager 控制台上创建了一个 key 。然后我尝试使用 Go 代码 quickstart guide喜欢 ctx := context.Background() clien
我是一名优秀的程序员,十分优秀!