如何保护Spring云配置服务器

如何保护Spring云配置服务器,spring,spring-cloud,Spring,Spring Cloud,我知道SpringCloudConfig服务器可以使用用户名和密码进行保护,这必须由访问客户端提供 如何防止客户端存储这些用户名和密码 在客户端的bootstrap.yml文件中以明文形式输入密码 应用程序/服务 加密文本可以放在bootstrap.yml中 检查->非常基本的“基本身份验证”(从这里开始) 您可以通过包含对Spring安全性的额外依赖项(例如,通过Spring引导启动器安全性)来添加HTTP基本身份验证。用户名是“user”,密码在启动时打印在控制台上(标准的Spring引导方

我知道SpringCloudConfig服务器可以使用用户名和密码进行保护,这必须由访问客户端提供

如何防止客户端存储这些用户名和密码 在客户端的bootstrap.yml文件中以明文形式输入密码 应用程序/服务


加密文本可以放在bootstrap.yml中

检查->

非常基本的“基本身份验证”(从这里开始)

您可以通过包含对Spring安全性的额外依赖项(例如,通过Spring引导启动器安全性)来添加HTTP基本身份验证。用户名是“user”,密码在启动时打印在控制台上(标准的Spring引导方法)。如果使用maven(
pom.xml
):

并在代码中添加这个最小类(
BasicSecurityConfiguration.java
):

@值(“#{${qa.admin.password:admin}}”)允许在属性配置文件、环境变量或命令行中定义密码

例如(
application.yml
):

这对我有用

编辑:您可以直接在
应用程序中放置基本用户配置,而不是类。yaml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
server:
  port: 8888

security:
    basic:
        enabled: false

qa:
  admin:
    password: adminadmin
  user:
    password: useruser

management:
  port: 8888
  context-path: /admin

logging:
  level:
    org.springframework.cloud: 'DEBUG'

spring:
  cloud:
    config:
      server:
        git:
          ignoreLocalSshSettings: true
          uri: ssh://git@gitlab.server.corp/repo/configuration.git
security:
  basic:
    enabled: true
    path: /**
  ignored: /health**,/info**,/metrics**,/trace**
  user:
    name: admin
    password: tupassword
对于Spring Boot 2,application.yml中的配置现在处于Spring.security.*()


适用于我的基本身份验证配置

服务器端:

所需依赖性:
org.springframework.boot:springbootstartersecurity

bootstrap.yml

客户端:

bootstrap.yml


资料来源:,

他不是这样问的。你可以尝试在bootstrap.yml中为密码设置一个占位符,并将密码作为一个环境变量。yathirigan你找到这个朋友了吗?怎么用?谢谢客户端应如何请求此配置?谢谢。出于安全原因,我认为问题在于根本没有将密码和用户名存储为明文,我现在也发现了这一点。您可以使用org.springframework.security.crypto.factory.PasswordEncoderFactorys.createDelegatingPasswordEncoder();和org.springframework.security.crypto.password.PasswordEncoder.encode(密码);为了确保密码不会以普通测试形式存储在内存中。嗨,我添加了以下内容:客户端不解析属性。有什么想法吗?您好,不确定,可能只是无效的.yml格式(有时可能有点烦人)?你能发送一些详细信息吗?
server:
  port: 8888

security:
    basic:
        enabled: false

qa:
  admin:
    password: adminadmin
  user:
    password: useruser

management:
  port: 8888
  context-path: /admin

logging:
  level:
    org.springframework.cloud: 'DEBUG'

spring:
  cloud:
    config:
      server:
        git:
          ignoreLocalSshSettings: true
          uri: ssh://git@gitlab.server.corp/repo/configuration.git
security:
  basic:
    enabled: true
    path: /**
  ignored: /health**,/info**,/metrics**,/trace**
  user:
    name: admin
    password: tupassword
spring.security:
  basic:
    enabled: true
    path: /**
  ignored: /health**,/info**,/metrics**,/trace**
  user:
    name: admin
    password: tupassword
server:
  port: 8888

spring:
  cloud:
    config:
      server:
        git:
          uri: git@bitbucket.org:someRepo/repoName.git
          hostKeyAlgorithm: ssh-rsa
          hostKey: "general hostKey for bitbucket.org"

  security:
    user:
      name: yourUser
      password: yourPassword
spring:
  application:
    name: config
  profiles:
    active: dev
  cloud:
    config:
      uri: http://localhost:8888
      username: yourUser
      password: yourPassword

management:
  security:
    enabled: false