Azure 密钥保管库和本地开发
Azure key vault and local development
我们目前使用 Azure 密钥保管库产品来保护 Azure 中托管的应用程序的数据库凭据。
对于本地开发,我们仍然使用 appsettings.json 文件来存储我们的数据库凭据,这导致我们的应用程序中有额外的逻辑来根据我们的环境(开发或生产)从不同的地方获取数据库凭据。
这是正确的方法还是我们应该只从密钥库中获取我们的测试凭据而不考虑环境?
由于访问 Key Vault 需要对 Azure 进行一些额外的 http 调用,我们认为我们会尽可能避免额外的成本。对此有什么想法吗?
既然你有开发非生产环境,我不会太在意,因为 keyvault 的主要思想是获取属性。
在我的开发中 Java 通常用于本地开发我在配置文件中有属性然后当我们部署到 azure 时我们打开 Key vault,这与成本无关,也与我想要的灵活性有关能够离线开发。
我个人使用 secrets.json 文件进行本地开发,因为它就像 appsettings.json 一样是配置环境的一部分,并且可以在 visual studio 中使用 Manage User Secrets
轻松访问,但与用户一起存储,因此默认情况下不在源代码管理中
我认为您至少应该切换到使用 secrets.json 作为数据库凭据,但使用 azure key vault 肯定更安全。与产品成本相比,在开发中使用 azure key vault 的额外成本也不重要
我们目前使用 Azure 密钥保管库产品来保护 Azure 中托管的应用程序的数据库凭据。 对于本地开发,我们仍然使用 appsettings.json 文件来存储我们的数据库凭据,这导致我们的应用程序中有额外的逻辑来根据我们的环境(开发或生产)从不同的地方获取数据库凭据。 这是正确的方法还是我们应该只从密钥库中获取我们的测试凭据而不考虑环境? 由于访问 Key Vault 需要对 Azure 进行一些额外的 http 调用,我们认为我们会尽可能避免额外的成本。对此有什么想法吗?
既然你有开发非生产环境,我不会太在意,因为 keyvault 的主要思想是获取属性。
在我的开发中 Java 通常用于本地开发我在配置文件中有属性然后当我们部署到 azure 时我们打开 Key vault,这与成本无关,也与我想要的灵活性有关能够离线开发。
我个人使用 secrets.json 文件进行本地开发,因为它就像 appsettings.json 一样是配置环境的一部分,并且可以在 visual studio 中使用 Manage User Secrets
轻松访问,但与用户一起存储,因此默认情况下不在源代码管理中
我认为您至少应该切换到使用 secrets.json 作为数据库凭据,但使用 azure key vault 肯定更安全。与产品成本相比,在开发中使用 azure key vault 的额外成本也不重要