Dropwizard 配置文件安全
Dropwizard configuration file security
一个配置文件 (.yml) 被用于休息 api 使用 Dropwizard(0.9.2 - 最新版本)开发。 api 所需的大部分凭据(例如数据库密码密钥等)都存储在配置文件中。
我们已经根据在 dropwizard configuration reference 找到的参考中提到的项目实现了大部分内容。
问题很清楚了。它有多安全(将这些信息以纯文本形式存储在配置文件中。)?如果不是,这样做的正确方法是什么?
是的,它确实不安全。如果配置文件提交到 public 存储库或任何存储库(版本控制),则更糟。我遵循的一种方法是维护配置 (.yml) 文件的本地副本(不提交到任何存储库),其中包含所有敏感键和详细信息等,并维护另一个示例配置文件,其中屏蔽了敏感细节(一些虚拟字符串而不是实际值)。此示例配置可以提交到您的存储库,因为它屏蔽了敏感细节。
出于 运行 的所有目的,您的代码在本地或其他地方使用本地配置文件。这样您就不会冒险暴露存储库中的敏感数据。但是,无论何时进行任何修改,都需要使示例配置与本地副本保持同步。
我只是在寻找类似问题的解决方案。我想找到一个不在配置文件中包含密钥库密码的解决方案。最后我得到了解决方案。
刚刚在配置文件中存储了凭据密钥。然后使用替换器将键替换为其相关值。但这需要一个安全的键值服务来获取键的值。
Overriding server connector config with env variables with dropwizard
一个配置文件 (.yml) 被用于休息 api 使用 Dropwizard(0.9.2 - 最新版本)开发。 api 所需的大部分凭据(例如数据库密码密钥等)都存储在配置文件中。
我们已经根据在 dropwizard configuration reference 找到的参考中提到的项目实现了大部分内容。
问题很清楚了。它有多安全(将这些信息以纯文本形式存储在配置文件中。)?如果不是,这样做的正确方法是什么?
是的,它确实不安全。如果配置文件提交到 public 存储库或任何存储库(版本控制),则更糟。我遵循的一种方法是维护配置 (.yml) 文件的本地副本(不提交到任何存储库),其中包含所有敏感键和详细信息等,并维护另一个示例配置文件,其中屏蔽了敏感细节(一些虚拟字符串而不是实际值)。此示例配置可以提交到您的存储库,因为它屏蔽了敏感细节。
出于 运行 的所有目的,您的代码在本地或其他地方使用本地配置文件。这样您就不会冒险暴露存储库中的敏感数据。但是,无论何时进行任何修改,都需要使示例配置与本地副本保持同步。
我只是在寻找类似问题的解决方案。我想找到一个不在配置文件中包含密钥库密码的解决方案。最后我得到了解决方案。
刚刚在配置文件中存储了凭据密钥。然后使用替换器将键替换为其相关值。但这需要一个安全的键值服务来获取键的值。
Overriding server connector config with env variables with dropwizard