ETC

vault 생성 및 정보 저장 및 읽기

curiousKidd 2024. 3. 27. 13:45
반응형
vault를 통해서 암호화 정보를 관리할 수 있다
Vault를 통해서 정보를 저장하고, 저장한 정보를 받아 볼 수 있기까지의 명령어를 정리

http://localhost:8200/ui/vault

⇒ 아래 설명은 cli명령어가 아닌 ui를 통해서도 동일하게 적용 가능하다

1. Vault서버에 Root 계정으로 로그인하기

  • vault 를 최초 실행 할 경우 root token을 확인 할 수 있다.
  • 해당 정보는 다시 발급 및 재확인이 불가능하므로, 고정된 token을 사용하지 않을 경우 필히 저장 해두는 것을 추천
vault login hvs.RootToken~~~~~

2. Vault 에서 사용할 path 활성화하기

vault secrets enable -path={사용할 path} -description="{저장소 설명}" {저장소 형태}
vault secrets enable -path=aaa -description="triple a" kv-v2
vault secrets enable -path=aaa -description="triple a" kv // 버전 설정 가능
  • kv 버전2
    • kv버전2에서는 version1에 비해서 메타정보, 버전관리, 값 패치 등의 더 많은 기능을 제공한다.

2-1 데이터 저장

vault kv put {path}/{저장소_명칭} {저장할 정보}
vault kv put aaa/test id="admin" pw="password"

3. vault 정책설정파일 생성 ⇒ HCL(HashiCorp Configuration Language) 파일

vi aaa_read_policy.hcl

path "aaa/*" {
    capabilities = ["read"]
}
  • create, read, update, delete, list 중에 원하는 기능을 선택한다. 어떤 path에 대해 허용할지에 관한 정책을 작성한다.

3-1. vault 정책 생성

vault policy write {policy_name} {3번에서 생성한 정책 설정 파일}
vault policy write aaa_oracle_read ./aaa_read_policy.hcl
  • aaa_read 라는 이름의 정책을 생성

3-2 정책 확인

vault policy read aaa_oracle_read
  • 해당 명령어를 통해서 확인 가능

4. 위에서 생성한 권한을 가진 Vault Token생성

vault token create -policy={적용할 정책 명}

vault token create -policy=aaa_read

================================================

Key                  Value
---                  -----
token                hvs.aaa_read_token~~~~~
token_accessor       5gxrJMFkHK6jtoVMsmBP6Ert
token_duration       768h
token_renewable      true
token_policies       ["aaa_read" "default"]
identity_policies    []
policies             ["aaa_read" "default"]
  • 이렇게 aaa_read의 policy를 가진 Token이 생성되었다.
  • 해당 토큰은 768시간동안 유효하며, 기본적으로 default policy를 가지고 있고, aaa_read policy도 갖게 된다.
  • 위에서 보았듯, 해당 토큰은 aaa라는 path에 대해 read권한만을 갖고 있을 것이다.

해당 토큰을 테스트 해보기 위해선 해당 토큰으로 로그인 후 테스트 가능

unset VAULT_TOKEN
  • 해당 명령어를 통해 기존 사용중인 token 로그아웃 가능

5. Vault 데이터 조회

vault kv get {path/secret_name}
vault kv get aaa/test
반응형