asp.net-core - 我们可以像使用 asp.net app.config 一样使用 ASPNET_REGIIS 命令来加密 appsettings.json 的部分吗
问题描述
使用 asp.net 时,我们可以按照以下步骤加密 asp.net 控制台应用程序的 app.config 文件的一部分:-
1- 将 app.config 重命名为 web.config >> 运行此命令 >>
ASPNET_REGIIS -pef "<<customAppSettingsGroup>>/<<customAppSettings>>" "C:\projects\MSE\MSE\MSE"
2- 将 web.config 重命名回 app.config....
现在在 asp.net 核心中我们没有app.config
,而是有.. 所以我的问题是我们是否可以使用上述方法appsettings.json
加密部分内容?appsettings.json
如果答案是否定的,那么加密部分的方法是appsettings.json
什么?
谢谢
解决方案
简短的回答是不,你不应该再使用 ASPNET_REGIIS。除非你想手动解密。
对于开发环境,您应该使用此处描述的 Secret Manager 工具
初始化
dotnet user-secrets init
设置一个秘密
dotnet user-secrets set "Movies:ServiceApiKey" "12345"
对于生产环境 ,推荐的方法是 Azure Vault
假设您已准备好 Azure 保管库
设置你的秘密
az keyvault secret set --vault-name {KEY VAULT NAME} --name "SecretName" --value "secret_value_1_prod"
az keyvault secret set --vault-name {KEY VAULT NAME} --name "Section--SecretName" --value "secret_value_2_prod"
Azure 托管的应用使用此说明
如果您在 azure 之外托管您的应用程序,则必须遵循此说明
PS:如果您的应用程序不会在运行时加载密钥,则仅在启动时免费层就足够了。
您可以在此处查看第三个选项来创建自定义提供程序。
或者
这篇来自 Visual Studio 杂志的文章是关于使用 AES 加密的自定义配置提供程序
第四种选择:
如果你愿意使用 docker,你可以依赖 Docker Swarm 的秘密,如本文所示
推荐阅读
- google-nearby - ConnectionsClient.sendPayload() 是否加密有效负载?
- python - 如何在 AWS Glue 中使用外部 Python 库?
- python - 在python中获取组内的总数和个人的总和
- linux - “Memory is below 1MB, or missing a M/G at the end of the memory specification?”的原因是什么?当我使用 start-all.sh 启动 spark 集群时
- c# - 如何重新设计此代码以避免 goto?
- python - 如何使用 python 制作 voip 客户端 - 树莓派
- javascript - 我无法解决“未捕获的语法错误:无法在模块外使用导入语句”的问题
- azure-lab-services - 查看预定实验室的时区?
- sql-server - 如何从 SQL Server 数据库填写现有的 Acrobat 可填写表单
- nuget - 如何使用 Visual Studio for Mac 将图标 url 添加到我的 Nuget 包