대머리개발자

boot azure-key-vault 본문

개발이야기/자봐

boot azure-key-vault

대머리개발자 2023. 2. 21. 20:21
728x90

## azure vault 란?

 

비밀을 안전하게 저장하고 사용하기 위한 애저 서비스!!

보통의 경우 아래와 같이 리소스(프로퍼티)에 사용자 계정 / 비밀번호, 접속 주소 등이 그대로 노출이 된다.

따라서 Git이 털리게 되면 모든 것이 노출이 되는 것이다. 

 

프로퍼터를 안전하게 하는 방식들이 존재한다.

상황에 맞게 적용하면 된다.

 

1.  org.jasypt를 이용

https://ktko.tistory.com/entry/Spring-properties암호화

 

2. 애저 vault 이용

https://learn.microsoft.com/ko-kr/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-key-vault

 

Spring Boot 애플리케이션에서 Azure Key Vault 비밀 로드

이 자습서에서는 Azure Key Vault 값을 읽는 Spring Boot 앱을 만들고 Azure App Service 및 Azure Spring Apps에 앱을 배포합니다.

learn.microsoft.com

팔로우 하면서 오류가 발생했는데.. 콘솔창을 잘 확인하면 된다. ㅎ 늘 친절스 하다.

 

두 가지 오류가 발생했다.

 

1. 친절하게 의존성이 없다고 추가해 달라고 한다. !!무조건 그냥 추가하는 것이 아니고 어떤 내용을 추가하는 지는 알고 넘어가자!! 자세한 내용 블로그 

implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation'

 

2. 부트 버전에 따른 키 볼트 버전이 있다. 버전 명시를 안 했더니 최신 볼트 버전이  삽입되었다.

해당 오류도 친절하게 안내해준다.... 끝내 준다잉!!!!링크

implementation 'com.azure.spring:spring-cloud-azure-starter-keyvault'

난 부트 2.7 따라서 볼트를 4로 맞춰야 한다.

spring :
  profiles:
    active:
      on-profile: prod
  r2dbc:
    url: ${r2dbc-url}
    username: ${r2dbc-username}
    password: ${r2dbc-password}
  redis:
    host: ${redis-host}
    port: ${redis-port}
    password: ${redis-password}
  cloud:
    azure:
      keyvault:
        secret:
          property-sources[0]:
            endpoint: https://{vault.site}.azure.net/

 


부트 버전에 따라서 azure 디펜더시 달라진다. 참고

implementation 'com.azure.spring:spring-cloud-azure-starter-keyvault'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation'

dependencyManagement {
    imports  
        mavenBom "com.azure.spring:spring-cloud-azure-dependencies:4.6.0"
    }
}

 

 

애저볼트는 단순 비밀 뿐만 아니라 "인증서"등도 보관 가능하다. JWT 비밀키/공개키를 해당 인증서로 발급해도 될 듯 하다!

 

 

더럽게 많은 서췽을 했는데... 애저볼트를 통해서 인증서를 만들면 비밀번호를... 넣을 수가 없다.......그런 의미가 있노? ㅋㅋ 내하루!!!

 

 

당근 aws 볼트도 있겠제???

728x90

'개발이야기 > 자봐' 카테고리의 다른 글

R2DBC Page 처리..  (0) 2023.03.13
Armeria 프레임워크 - 리다이렉트  (1) 2023.03.09
r2dbc Mysql and Maria  (0) 2023.02.19
R2DBC Redis...  (0) 2023.02.14
JPA + queryDSL 적용기(?)  (0) 2022.04.08