안녕하세욥~! Spring Boot 프로젝트들에서 API키 값을 사용하다 보니 보안이 중요한 설정 값들을 안전하게 관리할 필요성을 알게되었는데요. 특히, 외부에 노출되면 안 되는 중요한 정보들을 암호화하여 관리할 필요가 있습니다. 이번에는 애플리케이션에서 @Value
어노테이션을 사용하여 암호화된 설정 값을 어떻게 관리할 수 있는지 살펴보겠습니다.
암호화 파일 설정
먼저, 애플리케이션의 설정 파일에 암호화된 설정 값을 추가해야 합니다. 여기서는 secret.yml
파일을 예로 들어 설명하겠습니다. 이 파일은 중요한 설정 값들을 보관하는 곳으로, 암호화된 JavaScript키
를 저장하는 예시를 들어보겠습니다.
spring:
datasource:
url: jdbc:mariadb://localhost:3306/어쩌궁
driver-class-name: org.mariadb.jdbc.Driver
username: 사용자명
password: 비밀번호
app:
security:
jsKey: dff324231231231231231231236430 # 예시로 사용된 암호화된 키 값
위의 설정 파일에서 app.security.jsKey
속성에 암호화된 JavaScript 키 값을 저장하고 있습니다.
@Value 어노테이션을 활용한 설정 값 주입
아래 코드는 @Value
어노테이션을 사용하여 secret.yml
파일 내의 app.security.jsKey
속성 값을 jsKey
필드에 주입
하고 있습니다. 이렇게 주입된 값
은 애플리케이션 코드 내에서 안전하게 사용할 수 있습니다.
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class YourService {
@Value("${app.security.jsKey}")
private String jsKey;
public void useJsKey() {
// jsKey를 사용하는 로직
System.out.println("Using jsKey: " + jsKey);
}
}
결론
Spring Boot에서 @Value
어노테이션을 사용하면 암호화된 설정 값을 쉽고 안전하게 관리할 수 있습니다. 이 방법을 통해 중요한 정보를 보호하면서도 필요한 곳에서 쉽게 사용할 수 있어 애플리케이션의 보안성
을 강화할 수 있습니다. 감사합니다!
'Backend > 🌿Spring' 카테고리의 다른 글
[SpringBoot] 협업을 위한 Swagger 사용법 (0) | 2024.03.11 |
---|---|
[SpringBoot] AWS S3 Bucket을 이용한 이미지 업로드 + CloudFront설정 (0) | 2024.03.06 |
[Spring Boot] 사진 업로드 기능 구현하기 Back-end , 1편 (1) | 2024.01.23 |
[JPA/Error] 무한 참조 문제 해결하기 @JsonIgnoreProperties 활용 (0) | 2024.01.21 |
[JPA] 의존 관계에 있는 연관된 데이터 삭제 처리: Spring과 JPA 및 Query (0) | 2024.01.20 |