【问题标题】:Spring Cloud Config server authenticationSpring Cloud Config 服务器认证
【发布时间】:2018-11-10 11:25:08
【问题描述】:

将配置服务器用户名和密码存储为环境变量(在客户端和服务器中)还是使用密钥库更好?密钥库密码无论如何都存储为环境变量,那么为什么要实际使用密钥库呢?或者有没有更好的方式在 Spring Cloud Config 服务器中实现认证?

【问题讨论】:

  • 使用哪种身份验证主要是基于意见的。无论您采用哪种方法,除非您有另一种明确的方式来掩盖您的秘密(密钥、密码),否则它将以纯文本形式显示。
  • @IndraneelBende 所以即使我将用户名和密码作为环境变量存储在客户端和配置服务器上也没问题?
  • 我不会说这完全是“安全的”。取决于这是否是企业部署。如果他们允许您使用明文密码进行生产,我会感到惊讶。
  • @IndraneelBende 你说的最好的方法是使用keytool...并在属性文件中指定加密密码?
  • 就像我说的那样主观。不同的人会有不同的看法。

标签: spring-security environment-variables spring-cloud keytool spring-cloud-config


【解决方案1】:

在我们的例子中,配置服务器仅用于后端服务,而不用于客户端。我们有多个客户端,例如 iOS、Android 和 Web 应用程序。每种客户端都将管理自己的配置。

此外,我们只是在配置服务器上使用 HTTP 基本身份验证,并将用户名和密码存储为实例变量。所以用户名和密码不会在源代码级别暴露。另一方面,我们的配置服务器没有暴露在公共网络中。

希望这会给你一些提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多