배포 환경 민감 정보(시크릿 키, DB 비밀번호 등)를 숨기는 방법 #240
Replies: 2 comments
-
1. application-prod.yml을 .gitignore에 넣고 배포 시 직접 넣어준다.2. 설정 값들을 환경변수로 지정한다. 배포 시 환경변수를 넣어준다.export DB_PASSWORD=your_database_password spring.datasource.password=${DB_PASSWORD}
3. 설정 파일 암호화application.* 파일의 설정 값들을 암호화하여 사용한다. 외부 노출되어도 암호화되어있기 때문에 보안 문제를 방지할 수 있다. 4. 외부 서비스 연동(별도 Config Server 사용)별도의 Config를 관리하는 Server를 사용하여 배포 시 Config Server와 통신하여 설정 파일들을 가져온다. Spring Cloud Config 또는 Aws System Manager, AppConfig를 사용할 수 있다. |
Beta Was this translation helpful? Give feedback.
-
환경 변수 사용 운영 체제의 환경 변수를 사용하여 민감한 정보를 저장하고 애플리케이션에서 이를 참조합니다. 관련 속성을 // 환경 변수 설정 (Linux/MacOS)
export DB_PASSWORD=your_database_password
// application.properties
spring.datasource.password=${DB_PASSWORD} Spring Cloud Config Spring Cloud Config 서버를 사용하여 중앙 집중식으로 설정 파일을 관리하고 암호화된 값을 저장할 수 있습니다. 여러 클라이언트 서버는 Config 서버에서 설정 파일을 가져갈 수 있습니다. Jasypt Jasypt를 사용하여 구성 파일의 민감한 정보를 암호화할 수 있습니다. 외부 구성 파일 사용 민감한 정보를 포함하는 별도의 구성 파일을 만들어 배포 환경에서만 참조하도록 설정합니다. // application-prod.properties
spring.datasource.password=your_database_password
// application.properties
spring.profiles.active=prod |
Beta Was this translation helpful? Give feedback.
-
.
Beta Was this translation helpful? Give feedback.
All reactions