[Spring] Secret Key 환경설정

Jisu_M·2024년 11월 19일

JWT 토큰 키와 Google API 키와 같은 민감한 정보를 보호하는 것은 보안 상 중요합니다.

이때 로컬 개발 환경에서는 .bashrc 파일을 활용하여 키를 숨길수 있습니다.

.bashrc란?

.bashrc는 Bash 셸을 사용할 때 실행되는 환경 설정 파일입니다.
이 파일에 환경 변수를 설정하면 로컬 개발 환경에서 민감한 정보를 안전하게 관리할 수 있습니다.

📝 주요 특징:
로그인 세션마다 자동으로 로드되며,
환경 변수 값을 쉘에서 사용 가능하고 애플리케이션에서도 참조할 수 있습니다.

JWT 토큰 키와 Google API 키 설정 방법

✅ .bashrc에 환경 변수 추가

  • 터미널에서 .bashrc 파일을 열기
nano ~/.bashrc
  • 민감한 정보를 환경 변수로 추가
export JWT_SECRET_KEY="your_jwt_secret_key"
export GOOGLE_API_KEY="your_google_api_key"
  • 저장 후 .bashrc를 다시 로드
source ~/.bashrc
  • 확인
echo $JWT_SECRET_KEY
echo $GOOGLE_API_KEY

2️⃣ Spring Boot에서 환경 변수 사용

.bashrc에 설정한 환경 변수를 Spring Boot 애플리케이션에서 가져옵니다.

  • application.yml 파일 설정
jwt:
  secret: ${JWT_SECRET_KEY}
google:
  api-key: ${GOOGLE_API_KEY}
  • 코드에서 값 사용
@Value("${jwt.secret}")
private String jwtSecret;

@Value("${google.api-key}")
private String googleApiKey;

@RestController
public class ApiController {
    @GetMapping("/api/keys")
    public String getKeys() {
        return "JWT Secret: " + jwtSecret + ", Google API Key: " + googleApiKey;
    }
}

❗️다만, .bashrc를 활용한 키 관리 방법은 로컬 개발 환경에서 간단하고 효과적으로 민감한 정보를 숨길 수 있는 방법이다. AWS 배포 환경에서는 보다 강력한 보안 방식을 활용하는 것이 더 좋다.

다음에는 AWS에서 Secrets Manage와 Lambda를 통해 더 보완성 높은 키 관리를 해봐야겠다!

profile
개발 여정을 기록하며 성장하는 매일

0개의 댓글