Spring Boot - application.properties의 민감 정보 분리하기

반응형

개요

보통 application.properties에 환경 설정 기재하여 개발을 진행하고는 하는데,

문제는 깃허브 같은 공개된 리파지토리에 프로젝트 파일을 올릴 때 문제가 발생한다.

만약, 서버 정보나 데이터베이스 접속 정보가 포함될 경우에는 매우 위험하기 때문이다.

 

기본 설정 파일의 민감 정보 분리하기

추가 설정 파일 만들기

기본 설정 파일인 application.properties가 존재하는 같은 경로에

민감 정보를 따로 저장할 설정 파일(*.properties)을 하나 새로 추가한다.

필자는 데이터베이스의 접속 정보를 분리할 예정이기에 데이터베이스의 접속 정보를 분리하려 한다.

파일명의 주어진 작명 형식은 따로 없다.

포스팅에서는 application-database.properties라고 하겠다.

프로젝트 내 속성 파일을 추가한 예시 화면
프로젝트 내 속성 파일을 추가한 예시 화면

 

추가 설정 파일 내용 입력하기

새로 만든 설정 파일(application-database.properties)에 데이터베이스 접속 정보를 입력한다.

# application-database.properties #
spring.datasource.url = jdbc:mysql://~
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.datasource.username = ~
spring.datasource.password = ~

데이터베이스 접속 설정 예시 화면
데이터베이스 접속 설정 예시 화면

 

기본 설정 파일에서 다른 설정 파일 가져오기

이제 기본 설정 파일(application.properties)에 추가 설정 파일(application-database.properties)을 포함시켜 보자.

추가 설정 파일을 가져오는 구문은 아래와 같다.

spring.config.import = 추가 설정 파일명 입력

 

예시

# application.properties #

# 기본 설정
server.port=8080
logging.level.root=DEBUG

# 데이터베이스 설정
spring.config.import=application-database.properties

 

반응형