더북(TheBook)

3.4.4 클라이언트 측에서 암호화하도록 마이크로서비스 구성

클라이언트 측에서 복호화하려면 다음 세 단계를 수행해야 한다.

1. 서버 측에서 프로퍼티를 복호화하지 못하도록 스프링 클라우드 컨피그를 설정한다.

2. 라이선싱 서버에서 대칭 키를 설정한다.

3. 라이선싱 서비스의 pom.xml 파일에 spring-security-rsa JAR 파일을 추가한다.

가장 먼저 해야 할 일은 스프링 클라우드 컨피그의 서버 측 복호화 프로퍼티를 비활성화하는 것이다. 스프링 클라우드 컨피그의 confsvr/src/main/resources/bootstrap.yml 파일에 있는 spring.cloud.config.server.encrypt.enabled 프로퍼티를 false로 설정하면 비활성화할 수 있다.6 스프링 클라우드 컨피그 서버에서 이 설정만 하면 된다.

이제 암호화된 프로퍼티의 복호화는 애플리케이션에서 담당하므로 스프링 클라우드 컨피그 서버에 사용될 ENCRYPT_KEY 환경 변수가 동일한 대칭 키(예를 들어 IMSYMMETRIC)로 설정되어 있는지 확인하고 라이선싱 서비스에서 대칭 키를 먼저 설정해야 한다.

그다음 라이선싱 서비스에 spring-security-rsa JAR 의존성을 추가해야 한다.

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-rsa</artifactId>
</dependency>


6 역주 스프링 부트 1.5.x 버전부터 spring.cloud.config.server.encrypt.enabled 프로퍼티는 application.yml이 아닌 bootstrap.yml 파일에 설정해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.