Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- docker-compose
- 서비스 디스커버리
- ZuulFilter
- 유레카
- 백트래킹
- Java
- Gradle
- 구현
- 메모이제이션
- 비트마스킹
- 스택
- 스프링 시큐리티
- 다익스트라
- 구간 트리
- Spring Cloud Config
- 트리
- 완전 탐색
- 게이트웨이
- 도커
- BFS
- Zuul
- Logback
- 플로이드 와샬
- spring cloud
- 달팽이
- 이분 탐색
- 주울
- dp
- spring boot
- 이분 매칭
Archives
- Today
- Total
Hello, Freakin world!
[Spring Cloud Config] 대칭키로 구성 정보 암호화하기 - 2 본문
1편에서는 Spring Cloud Config에서 제공하는 방법을 이용해 구성정보를 암호화했습니다.
이제 구성 정보를 저장하는 저장소는 패스워드같은 민감한 정보를 암호화해서 저장합니다. 그리고 컨피그 서버는 민감한 정보를 암호화한 상태로 클라이언트에게 전달합니다.
이제 클라이언트는 암호화된 정보를 복호화하고 사용하는 일만 남았네요.
사실 따로 클라이언트에 추가해야할 코드는 없습니다. 클라이언트 서비스를 부트스트래핑하는 시점에 대칭키 암호만 ENCRYPT_KEY라는 환경 변수에 전달해주면 됩니다.
그리고 클라이언트 서비스에서 /password라는 엔드포인트를 통해서 암호화됐던 패스워드가 복호화됐는지 확인해보겠습니다.
ClientApplication.class
@SpringBootApplication
public class ClientApplication {
public static void main(String[] args) {
SpringApplication.run(ClientApplication.class, args);
}
}
HelloRestController.class
@RestController
public class HelloRestController {
@Autowired
ServerConfig serverConfig;
@GetMapping("/hello")
public String hello() {
return serverConfig.getValue();
}
@GetMapping("/password")
public String password() {
return serverConfig.getPassword();
}
}
ServerConfig.class
@Component
public class ServerConfig {
@Value("${msg:default}")
private String value;
@Value("${password:invalid}")
private String password;
public String getValue() {
return value;
}
public String getPassword() {
return password;
}
}
이전 글들에서의 webclient 프로젝트의 코드에 @Value를 이용해 password 프로퍼티를 가져오는 코드가 추가됐습니다.
인텔리제이 Edit configurations... 옵션을 이용해 시작 시에 대칭키로 지정했던 값이 환경 변수로 추가될 수 있게 합시다.
이제 클라이언트 서버와 컨피그 서버를 띄우고 /password를 호출해 복호화된 hello가 나오면 성공입니다.
최종 코드는 아래에서 확인하실 수 있습니다.
'Spring Cloud > Config' 카테고리의 다른 글
[Spring Cloud Config] 대칭키로 구성 정보 암호화하기 - 1 (0) | 2021.02.14 |
---|---|
[Spring Cloud Config] 2.서비스 연결하기 (0) | 2021.02.10 |
[Spring Cloud Config] 1.컨피그 서버 만들기 (0) | 2021.02.10 |
Comments