vault : 프로젝트 key 관리

김아무개·2023년 8월 18일
0

프로젝트 관련

목록 보기
5/13

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;
    ...
}
profile
Hello velog! 

0개의 댓글