cloud:
aws:
credentials:
access-key: ${S3_ACCESS}
secret-key: ${S3_SECRET}
region:
static: ap-northeast-2
s3:
bucket: auctify
stack:
auto: false
프로젝트를 하다보면 중요한 DB정보나 AWS관련 정보를 사용하는 경우가 있다. 이때 따로 yml파일에 민감한 정보를 환경변수에서 가져와
사용할 수 있다. 오늘 이 방법에 대해서 간략하게 정리하고자 한다.
스프링 버전에 맞는 dotenv의존성을 가져와야한다.
build.gradle
.env파일을 그냥 읽어 들을 수 없으므로 dotenv의존성 추가 버전에 유의할 것
// .env파일 로드
implementation 'me.paulschwarz:spring-dotenv:4.0.0'
.env파일 작성
이때 .env파일은 gitignore에 설정되어 있어야함. (참고로 설정하고 캐시를 제거해서 바로 적용되도록 하자.)
key=value 형식으로 작성
rds_mysql_secret=
rds_mysql_name=
rds_mysql_url=
jwt_secret=vmf
google_client=
google_secret=
google_uri=
naver_client=
naver_secret=
s3_access=
s3_secret=
s3_bucket=
AWS_ACCESS_KEY_ID=7+Z
AWS_SECRET_ACCESS_KEY=AKIAYQYUA
S3_ACCESS=7+Zi1XOOICyU7jjY6S7
S3_SECRET=ㅁㄴㅇㅁㄴ123
application.yml에서 가져다 쓰기
아래는 간단한 예시다 ${key값}
cloud:
aws:
credentials:
access-key: ${S3_ACCESS}
secret-key: ${S3_SECRET}
region:
static: ap-northeast-2
s3:
bucket: auctify
stack:
auto: false
정리
원격에 올리기 싫은 환경변수들을 안전하게 .env에 저장하는 법에 대해서 알아봤다.
'SPRING' 카테고리의 다른 글
Controller에서 JSON데이터와 MultipartFile받기 (0) | 2025.02.01 |
---|