반응형
앞으로 구현할 Configuration 서비스의 개요입니다.
요약
keystore 디렉토리 생성
publicKey와 privateKey 만들기
Config Server의 bootstrap.yml에 설정
Config Server에서 사용하는 설정 파일(yml) 변경
소스코드
키를 저장할 keystore 디렉토리를 생성합니다. 그리고 privateKey와 publicKey를 생성합니다.
디렉터리 생성 : mkdir keystore
디렉터리 이동 : cd keystore
privateKey 생성 : keytool -genkeypair -alias apiEncryptionKey -keyalg RSA -dname "CN=Kenneth Lee, OU=API Development, O=joneconsulting.co.kr, L=Seoul, C=KR" -keypass "1q2w3e4r" -keystore apiEncryptionKey.jks -storepass "1q2w3e4r"
생성된 키 확인 : keytool -list -keystore apiEncyptionKey.jks -v
비밀번호 : 1q2w3e4r
인증서 생성 : keytool -export -alias apiEncryptionKey -keystore apiEncryptionKey.jks -rfc -file trustServer.cer
publicKey 생성 : keytool -import -alias trustServer -file trustServer.cer -keystore pulbicKey.jks
Config Service의 bootstrap.yml에 설정을 추가합니다.
encrypt:
# key: abcdefghijklmnopqrstuvwxyz0123456789 # 대칭키
key-store:
location: file:///C:/Users/ASUS/IdeaProjects/keystore/apiEncryptionKey.jks
password: 1q2w3e4r
alias: apiEncryptionKey
Postman으로 확인해 보겠습니다. 대칭키 암호화에서 확인했던 방법과 동일합니다. 1234를 암호화하고 복호화했습니다.
Config Service에서 사용하는 설정파일에 암호화된 내용을 입력하겠습니다. 1234를 암호화해서 나온 값을 user-service.yml의 DB 접속 패스워드에 넣어줍니다.
Token의 secret 정보도 암호화할 수 있습니다.
먼저 Gateway 서비스와 User 서비스의 bootstrap.yml의 config 파일 이름을 동일하게 해줍니다.
# Config Service
spring:
cloud:
config:
uri: http://127.0.0.1:8888
name: config-service
Config service의 기본 설정 파일은 application.yml이므로 이곳의 secret를 암화화해서 넣어줍니다.
만들어 놓은 health_check 로 확인해보니 암호화된 내용이 평문으로 표현되었습니다.
끝.
반응형
'IT > Spring Cloud' 카테고리의 다른 글
Microservice간 통신 - FeignClient 방식 (0) | 2022.01.07 |
---|---|
Microservice간 통신 - RestTemplate 방식 (0) | 2022.01.06 |
대칭키 암호화 (0) | 2022.01.05 |
Spring Cloud Bus (0) | 2022.01.05 |
Configuration Service (0) | 2021.12.30 |