Vault 관리자 화면을 시작 및 간단한 테스트를 해보자!

Karim·2022년 4월 28일
3

vault 운영

목록 보기
2/4
post-thumbnail

1. Version

💬

  • vault : v1.10.0

2. Vault 구축 방법

💡 vault 개념 및 구축 방법 링크

📌 Vault를 Docker로 올려보자!

3. 관리자 화면 첫 페이지

💻 vault 개념 및 구축 방법 링크

비상 시 필요한 마스터 키의 초기 세트를 설정
Key shares : 총 key 수 설정
Key threshold : 몇 개 이상의 key를 보유해야 login이 가능한지 설정


저는 테스트를 위해 각 각 1개 씩 설정 했습니다.

4. Vault 초기화 및 접속

💻 vault 초기 키 설정

⭐ Download Keys를 꼭 먼저 선택해 다운받아주세요!!

💻 vault-cluster-vault-@@@.json

{
  "keys": [
    "b1f65a692c1a408c2338b7a9e939460ef13b247b552196524f20d071160380d2"
  ],
  "keys_base64": [
    "sfZaaSwaQIwjOLep6TlGDvE7JHtVIZZSTyDQcRYDgNI="
  ],
  "root_token": "hvs.vUnQy3rc9jCj57Dj8aDOaYlM"
}

💻 key로 잠금 풀기

💻 token으로 로그인

5. 접속

💻 초기 화면

6. 보호 비밀정보 생성

💻 새로운 엔진 생성

💻 kv-version2 엔진 생성



KV(Key/Value) Secrets Engine - KV Version 2
키당 유지할 버전 수입니다.
키 수가 여기에 설정된 최대 수를 초과하면 가장 오래된 버전이 영구적으로 삭제됩니다.
이 값은 모든 키에 적용되지만 키의 메타데이터 설정이 이 값을 덮어쓸 수 있습니다.
0을 사용하거나 값을 설정하지 않으면 Vault는 10개 버전을 유지합다.

💻 비밀정보 생성

💻 버전 생성

첫 생성 시 Version1로 생성 되는데 Version2로 올리고 싶으면 Create new versionsave 하면 된다.

7. ACL Policy 설정 및 접근 가능한 Token 발급

💻 acl policy 생성

상단 위 policies 선택 후 Create ACL policy

  • capabilities에는 "create", "read", "update", "delete", "list" 중에 여러 개 선택하여 리스트로 지정
  • path는 Secrets Engine 이름 / Secret 이름 형태로 지정
    path에 "kv/karim"를 capabilities에 ["권한"]를 입력하면 해당 값의 부여한 권한만 조작 가능

✒️ token 발급

상단 위 오른쪽 console 아이콘 선택


해당 정책에 대한 토큰 발급

vault write auth/token/create policies="karim_all_policy"

💡 client_token 값을 별도로 복사
client_token은 만료 되거나 삭제하기 전까지 유효
또한 동일 정책에 대해 Token을 신규 발급하더라도 기 발급한 client_token는 유효
RBAC(Role-Based Access Contorl)원칙으로 Role에 따라 부여된 최소한의 권한으로 접근해야 한다.

8. 다른 서버에서 vault 비밀정보 조회

✒️ curl 명령어를 이용해서 HTTP API를 호출하여 값을 가져오기

curl --header "X-Vault-Token: hvs.CAESIASjEwmqAfAJu_hAHnzCTdCpklKyBbhuHFlaEK9fcqiYGh4KHGh2cy5CbDBYMUM5T2hVODVRMFE0SFJnZEtnMHY" http://vaultIP:8200/v1/kv/karim

{
  "request_id": "29de4883-bcb2-5a3b-f596-d5287740813a",
  "lease_id": "",
  "renewable": false,
  "lease_duration": 3153600000,
  "data": { "password": "1234567890", "username": "karim" },
  "wrap_info": null,
  "warnings": null,
  "auth": null
}

📌 여담

  • 다음엔 role_id/secret_id 발급 부분을 정리해야겠당 🔌

📚 참고

profile
나도 보기 위해 정리해 놓은 벨로그

0개의 댓글