• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

데이터베이스 정보 같은 보안에 중요한 값들은 어떻게 처리해야 하나요>?

18.07.30 21:03 작성 조회수 288

1

질문이 있습니다. local, dev, prod

이렇게 서버를 구성하는 경우가 많은데

properties 구성도

properties.local, properties.dev, properties.prod

이렇게 3 개를 구성해서 사용하고 있는데요. 그런데 데이터베이스 접속 정보, 각종 시크릿키 들 같은 경우에는 properties 파일에서 구성을 하면 굉장히 안좋을 거같은데요

저런 민감한 소스코드에서 다루면 안좋을거 같은데 저런 정보들은 어떻게 properties 에서 관리하나요?

만약 properties에서 관리 대상이 아니면 어디서 어떻게 관리해야 할까요 ?

답변 2

·

답변을 작성해보세요.

3

좋은 질문 주셔서 감사합니다. 여러 방법이 있을 수 있는데, 그런 정보를 지금처럼 properties에 넣어서 쓰시지만, prod 용 프로퍼티 파일은 버전관리에서 빼고, prod 서버에서 만들어 제공하는 방법도 있을 수 있겠구요.

또는 아에 프로퍼티 파일에서 해당 정보는 빼고, prod에서 서버를 띄울 때 해당 서버의 환경 변수에 그 값들을 넣어두면 스프링 부트는 그걸 더 높은 우선 순위로 여겨 그 값을 사용할테니 그것도 역시 또 다른 방법이 될 수 이습니다.

또는 spring cloud config라는 걸 이용해서 설정값들을 원격으로 관리하는 방법이 있고요.

이상적으로는 spring (cloud) vault라고 시크릿 저장소를 이용하는 방법이 있습니다. spring config랑 spring vault는 대신 좀 더 학습이 필요하겠죠.

감사합니다.

1

java_oop님의 프로필

java_oop

질문자

2018.07.31

많은 대안을 알려주신 점 감사합니다.

가장 쉽게 적용할 수 있는 부분이 서버 환경변수 설정이겠네요.

그래도 cloud config 라는 키워드도 한번 알아보겠습니다. 친절한 답변 감사합니다.