Today
-
Yesterday
-
Total
-
  • vault : 프로젝트 key 관리
    프로젝트 관련 2023. 12. 15. 00:01

    vault 를 사용하면 프로젝트에 사용하는 인증키 , 비밀번호 같은 정보를 관리할 수 있다.

    정리가 잘 되어있는 블로그




    windows 로컬 환경에서 사용 실습

    vault 다운로드

    64비트 운영체제 -> amd 64

    _> 386 , amd64 관련 정보


    압축 해제 후 터미널에서 실행

    1. 다운로드 후 압축을 해제하고, 압축을 해제한 위치에 가서

    마우스 우클릭 - 터미널에서 열기를 눌러서 실행한다. 우클릭 시 터미널에서 열기가 바로 안나타날땐, 두세번 더 시도하면 나타남

    2. 실행 명령어 입력

    .\vault  server -dev
    

    마지막 부분에 Unseal Key, Root Token 정보가 나오는데 중요하다고 하니 잊어버리지 않게 잘 저장해두어야 겠다! 나의 경우 클립보드에 나사 박아두는 편 ㅋㅋ

    📍 클립보드에 나사 박아두는 방법

    1. 기억하고싶은 텍스트 및 이미지를 복사
    2. 윈도우키 + . 입력 후 나타나는 창에서 맨 오른쪽 아이콘 클릭 후 , 고정하고 싶은 정보는 우측 하단의 압정 아이콘을 눌러준다

    압정 아이콘이 하얗게 되면 고정 된 것임. 이렇게 되면 고정을 풀어줄 때 까지 이곳에 남아있게 된다.


    3. 실행에 필요한 값 환경 변수 등록

    아래 이미지에서 보이는 1 에서 우클릭 후 2 의 탭 복제를 누르면 현재 위치로 새 터미널이 열린다.

    powershell 기준 새 터미널에서 아래 정보를 입력하여 환경변수 등록!

    $env:VAULT_ADDR="http://127.0.0.1:8200"
    


    4. vault 서버 실행 상태 확인

    ./vault status
    


    5. 비밀정보 작성

    등록 명령어 형태

    ./vault kv put secret/{KEY} {field}={value}
    

    음..
    key 를 alias 로 , field 를 key 로, value 를 value 로 생각해본다면 좀 더 쉽게 와닿을것 같다!

    만약 오타를 입력했거나 키 이름을 다시 작성해주기 위해 등록된 키의 삭제가 필요하다면

    ./vault kv delete secret/{KEY}
    

    6. 등록 된 키 확인

    ./vault kv get secret/{KEY}
    


    spring boot 에서 사용하기

    1. build.gradle 의존성 및 spring cloud 설정 추가

    spring initializr 에서 vault 검색 후 등록

    ext {
        set('springCloudVersion', "2022.0.4")
    }
    
    dependencies {
    	implementation 'org.springframework.cloud:spring-cloud-starter-vault-config'
    }
    
    dependencyManagement {
        imports {
            mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
        }
    }

    2. applicaion.yml 추가

    spring:
      config:
        import: vault://
    
      cloud:
        vault:
          uri: http://localhost:8200
          token: ${VAULT_TOKEN}
          kv:
            default-context: study-redis

    default-context 값은 windows 터미널에서 비밀정보 입력할 때 secret/다음에 넣어준 {KEY} 를 입력하면 된다.


    3. 환경변수 읽어오듯이 사용!

    @Configuration
    public class RedisConfiguration {
    	...
        
        @Value("${REDIS-PASSWORD}")
        private String password;
        ...
    }

    '프로젝트 관련' 카테고리의 다른 글

    온라인 포토샵 : photopea.com  (0) 2023.12.16
    (링크) 디렉터리 패키지 구조의 선택  (0) 2023.12.15
    Confluence App 기록  (0) 2023.12.11
    (링크) API 문서 톺아보기  (0) 2023.12.10
    https://www.mermaidchart.com/  (0) 2023.12.10

Designed by Tistory / Custom by 얼거스