관리 메뉴

CASSIE'S BLOG

슈퍼코딩 가이드 9강 Server 필수 보안지식 살펴보기 v.1 본문

PROGRAMMING/슈퍼코딩 강의 정리

슈퍼코딩 가이드 9강 Server 필수 보안지식 살펴보기 v.1

ITSCASSIE1107 2024. 4. 30. 23:07

서버 코드의 보안문제 환경변수로 설정하기

바로 실습
1. DataSource 부분 @ConfigurationProperties로 데이터 받게 정의하기

2. Application.yaml에서 값을 전달 받도록 하고 환경변수 설정하기 (여기에 datasource: 이런 식으로 적어서 설정하기)
datasource:
   username: root
   password: 12341234

이런 식으로 설정하면 됨

이걸 불러오려면 종속성을 추가해야함

build.gradle에 spring-boot-configuration-processor 이거 추가해줘야함 (그래야 자바에서는 인식을 한다고함 datasource 값)

properties 패키지 만들고 그 하위에 DataSourceProperties 클래스 만들어준다.

매핑되는 값을 처리하는 클래스를 만들어주는 거임
클래스 옆에 (prefix = “datasource”)

@ConfigurationProperties @Getter @Setter 이런 식으로

그리고 필드들 도 다 매핑되게끔 만들어준다.
private String username;
private String password;

이런 식으로

그리고 JdbcConfig하는 클래스에도 가서
@EnableConfigurationProperties(DataSourceProperties.class) 이런 식으로 처리

그리고 JdbcConfig클래스에서

private final DataSourceProperties datasourceproperties 이것도 필드로 추가해주기

JdbcConfig에 글자로 password 되어있는 부분을 그러면 바꿀 수 있음

dataSourceProperties.getPassword() 이렇게

application.yaml도 숨길 수 있음 달러 표시 써서

${DATABASE_USERNAME} 이런식으로

그리고 실행하는 부분에 edit configuration들어가서 modify options들어가서 Environment Variables 거기에 수기로 적는다.
DATABASE_USERNAME=root; DATABASE_PASSWORD=12341234
세미콜론 적으면서 쭉 적으면 됨




3. JWT Provider 의 secret key “@Value”로 주입받아서 환경변수 설정한다

반응형