Corca Medium 아카이브

Vault의 민감 데이터 문단속. 민감 데이터 관리에 필요한 Vault 도입

2023-03-31전석환 (Full-Stack Engineer)

4년 전, 전 직장에서 알고리듬 트레이딩 업무를 하면서 수많은 API Key 관련 정보를 관리하려고 Vault를 검토 한 적이 있습니다. 간단하게 테스트만 해보고 도입을 못 했던 기억이 납니다. 그리고 세월이 흘러 코르카에 민감한 데이터가 플레인 텍스트로 쉽게 접근이 되는 게 불편 합류하고 프로젝트에 참여하다보니 여전히 하게 느껴졌습니다.

Vault란?

HashiCorp는 Terraform으로는 널리 알려져있는데 Vault라는 제품은 생소할 수 있습니다.

이라고통칭하는민감데이터를암호화해보관하고관리하는소프트웨어 쉽게 설명하면 Secret 입니다. 간단 라고불리는 데이터를암호화해서보관 접속에필요한원타임패스 하게는 KV key-value 합니다. 그리고 SSH 워드나 를통한접속방식과 를위한 도지원 CA MFA TOTP 합니다.

Vault의 민감 데이터 문단속. 민감 데이터 관리에 필요한 Vault 도입 본문 이미지

그 외에 아래에 보이는 것들이 Vault를 통해 관리 가능한 데이터 형식입니다.

Vault를 통해 관리 가능한 데이터 형식 리스트 도입 배경 코르카에서는 프로젝트가 MSA로 구성되어 다양한 곳에서 환경변수를 사용하고 있습니다. 이것을 dotenv로 같은 민감 데이터가 쉽게 노출 설정해서 쓰고 있는데 개발자마다 테스트 환경에 따라 사용하는 ID, Password 될 수 있다는 점 개발이 진행되면서 추가되는 환경변수가 제때 업데이트 되 이 우려되었습니다. 뿐만 아니라, 지 않아

낭패를 겪을 수도 있어서 dotenv 관리에 Vault 사용을 적극 고려하게 되었습니다.

Vault의 장점 Vault는 우선 key-value로 환경변수 설정이 용이하고 디렉토리별로 권한 설정을 세세하게 할 수 있는 점이 좋 았습니다. 배포 버전(Development/Production)에 따라 접근을 제한할 수 있습니다.

그리고 docker 이미지가 제공되어 설치가 간단한 동시에 Web UI가 제공되고 있습니다. 터미널 사용을 위해 CLI가 기본으로 제공되고 튜토리얼이나 문서는 대부분 CLI 기준으로 쓰여져있습니다. 그리고 CLI에 준하는 REST API가 지원돼서 각종 프로젝트에도 쉽게 연결이 가능합니다.

Vault의 민감 데이터 문단속. 민감 데이터 관리에 필요한 Vault 도입 본문 이미지

코르카 Vault는 인증 방식을 아래처럼 다양하게 지원하는데 Username & Password 같은 기본 방식도 있지만 는 계정을 인증 GitHub 에 사용했습니다. Vault를 접근하는 사람들이 GitHub을 사용하는 개발자여서 코르카 의 계정 설정에서 개인 토큰을 발급 받아서 접속하면 에 소속된 계정이면 인증이 가능합니다. GitHub Vault 인증을 통과 설정에 따라 권한이 부여된 데이터에만 접근

합니다. 그리고 받은 토큰으로 Policy 하게 됩니다.

를 세세하게 정의할 수 있는 게 가 강력하면서 불편한 그래서 보안에 강한 Policy Vault ( ) 점입니다.

Vault의 인증 방식 환경변수를 전부 이관하고 사용하면서 편리함을 느끼고 Vault에서 지원하는 다른 것도 사용하려고 찾아보니 눈에 띄는 게 SSH였습니다. SSH도 개발자들이 많이 사용하고 있는데 Vault를 활용해보기로 했습니다. 아래 그림을 보면 이해가 쉽습니다.

Vault의 민감 데이터 문단속. 민감 데이터 관리에 필요한 Vault 도입 본문 이미지
Vault의 민감 데이터 문단속. 민감 데이터 관리에 필요한 Vault 도입 본문 이미지

니다.

계정을 인증 수단 코르카에서는 환경변수와 마찬가지로 GitHub 으로 사용했습니다. Vault의 SSH 시크릿 엔 진에서 만든 퍼블릭 키를 호스트의 sshd 설정 파일에 등록합니다. 그리고 인증으로 받은 Vault 토큰과 SSH 시 크릿 엔진에 인증서 발급을 받아 ssh에 연결하면 접속이 됩니다. Vault의 강력한 Policy 설정으로 다양한 유 저에게 권한 부여가 가능합니다.

다음에는 데이터베이스 접근도 Vault 통해 관리해보려고 합니다. 민감 데이터 관리를 철저하게 하기 위한 코 르카의 노력은 계속됩니다!

참조:

Vault의 민감 데이터 문단속. 민감 데이터 관리에 필요한 Vault 도입 본문 이미지

우리가 살아가는 세상을 AI 기술로 변화시키는 팀 Corca는 고도화된 기술력과 기획력을 토대로 새로운 가치 를 창출하고 있습니다.

Corca의 여정에 함께하실 분들은 코르카 채용페이지를 확인해주세요!

기술 발전의 혜택을 모두가 누리게 하여 인류 문명의 발전에 기여하는 코르카