[Spring Boot] application.yml 내용 secret으로 관리하기

2023. 9. 2. 23:42· Backend/🌿Spring
목차
  1. 왜 application.yml에서 민감한 정보를 보호해야 할까?
  2. 민감한 정보의 예시
  3. Secret으로 관리

안녕하세요 오늘은 JAVA언어를 사용하는 Spring Boot 웹프레임워크를 사용하면서 application.yml을 사용하게 되는데요.

여기서 git-hub에 올리면 안 될 민감한 정보를 관리하는 방법을 소개드리도록 하겠습니다.

 

왜 application.yml에서 민감한 정보를 보호해야 할까?

애플리케이션을 개발하다 보면 데이터베이스 비밀번호, API키, 인증 토큰 등과 같은 민감한 정보를 구성파일에 저장해야 할 때가 있습니다. 이러한 정보를 무단으로 액세스 하면 보안 위험에 노출될 수 있으므로, 이러한 정보는 안전하게 관리해야 합니다. 

{예를 들어 GPT api는 git-hub에 올라갔을 때 자체적으로 파기됩니다}

 

민감한 정보의 예시

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: mydb
    password: system
    
chatgpt: //GPT API를 예시로 들겠습니다.
  api-key: abcdefghijklmnopqrstuvwxyz

와 같이 노출이되면 안 되는 정보를 관리하는 여러 방법 중. gitignore를 활용한 방법을 알려드리겠습니다.

 

 

Secret으로 관리

먼저 노출되면 안되는 정보를 관리할 application-secret.yml 파일을 만들어줍니다. 파일이름은 개발자 마음대로 만드시면 됩니다.

이후. gitgnore 페이지에서 application-secret.yml을 등록해 줍니다.

# .gitignore

# application-secret.yml 파일을 무시하도록 설정
/application-secret.yml

혹은

src/main/resources/*.yml
!application.yml

 

이후 application.yml 파일에서 application-secret.yml을 import 해줍니다.

 

application.yml 파일을 사용하면서 민감한 정보를 안전하게 관리하는 방법으로 application-secret.yml 파일을 활용하고, Git을 통해 이 파일이 노출되지 않도록. gitignore 파일을 설정했습니다. 이렇게 함으로써 민감한 정보가 보호되고, 애플리케이션 보안을 강화할 수 있습니다.

 

감사합니다~!😊

'Backend > 🌿Spring' 카테고리의 다른 글

[JPA] 의존 관계에 있는 연관된 데이터 삭제 처리: Spring과 JPA 및 Query  (0) 2024.01.20
[SpringBoot/Error] Required URI template variable 'id' for method parameter type int is not present 해결  (0) 2024.01.19
[Spring] 좋은 객체 지향 설계의 5가지 원칙 (SOLID)  (2) 2023.10.11
[SpringBoot] mysql 연동하는 방법  (1) 2023.05.25
[SpringBoot/Error] version 3.0 OAuth2.0 카카오 로그인 오류  (2) 2023.05.24
  1. 왜 application.yml에서 민감한 정보를 보호해야 할까?
  2. 민감한 정보의 예시
  3. Secret으로 관리
'Backend/🌿Spring' 카테고리의 다른 글
  • [SpringBoot/Error] Required URI template variable 'id' for method parameter type int is not present 해결
  • [Spring] 좋은 객체 지향 설계의 5가지 원칙 (SOLID)
  • [SpringBoot] mysql 연동하는 방법
  • [SpringBoot/Error] version 3.0 OAuth2.0 카카오 로그인 오류
발달중인 망고
발달중인 망고
Kangwon uni. Department of Computer Engineering
발달중인 망고
망고의 개발일기
발달중인 망고
전체
오늘
어제
  • ROOT (85)
    • 🥭Mango Odyssey (3)
    • Backend (1)
      • 🌿Spring (16)
    • Frontend (3)
      • React (1)
      • Thymeleaf (1)
      • Flutter (1)
    • DevOps (7)
      • AWS (5)
      • Docker (2)
    • Git (5)
    • Knowledge (18)
      • Java (12)
      • Python (6)
    • Activities (10)
      • 우아한 테크 프리코스 (7)
      • itwill (1)
      • 프리온보딩 백엔드 챌린지 12월 (0)
      • 스위프(SWYP) 3기 (1)
      • 팀 맥플러리 (1)
    • SQL (5)
    • IoT (4)
      • 아두이노 (4)
    • AI (1)
    • OS (1)
    • 일상 (8)
      • 일기 (6)
      • 독서 (0)
      • 잡생각 (1)
    • 언젠가 분류될 카테고리 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • MVC
  • 우테코
  • Spring
  • EC2
  • JPA
  • 소스코드
  • 알고리즘
  • 회고록
  • springboot
  • GIT
  • 코드소스
  • AWS
  • 코드
  • 백준
  • Model
  • 스프링부트
  • 백엔드
  • SQL
  • 문제풀이
  • baekjoon
  • 코딩테스트
  • Java
  • python
  • 파이썬
  • 깃허브
  • DB
  • spring boot
  • 아두이노
  • 자바
  • 코드트리

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
발달중인 망고
[Spring Boot] application.yml 내용 secret으로 관리하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.