Node 환경변수(env)를 HashiCorp Vault에서 안전하게 관리하기 #2

Jeongsk
4 min readApr 6, 2020

--

이 장에서는 Vault-UI를 이용하여 인증 권한 및 Policy를 설정하고 Secrets 값을 등록하는 방법을 설명합니다.

Vault-UI 접속 초기 어드민(admin) 계정은 webui / webui 입니다. 참고로 이 어드민 계정은 setup.sh 스크립트를 실행할 때 셋팅된 계정입니다.

Secret Backends 등록하기

먼저 Secret Backends 에 secrets 값을 등록합니다. 여기에 등록한 Secret 들은 나중에 Node에서 App을 실행할 때 사용할 예정입니다.

Secret Backeds에서 + 버튼을 클릭합니다.

그다음 Backend Type는 kv를 선택합니다. 그리고 Mount path를 입력합니다. 저는 Mount path 에 app 이름을 입력하였습니다.

Mount path 가 등록되었습니다. 그리고 다시 [NEW SECRET] 버튼을 클릭합니다.

이제 여기에 필요한 secrets 값들을 등록합니다.

Policies 등록하기

System > Policies 메뉴에서 [ADD POLICY] 버튼을 클릭합니다.

방금 등록한 Secret Backends Path를 등록합니다. 여기에서는 path에 sample_app/*를 입력하였습니다. 그리고 값을 읽기만 할 것이므로, capabilities에는 read 기능만 부여했습니다.

Policy 관련하여 자세한 내용은 Vault Policies 문서를 참고하세요.

Auth Backends 등록하기

이제 마지막으로 Vault에 로그인하여 Secret에 접근할 수 있는 계정을 생성하는 단계입니다.

일반적인 아이디/패스워드로 로그인하는 userpass을 사용해도 됩니다. 하지만 여기서는 Github Login을 사용하겠습니다.

Auth Backends에서 + 버튼을 클릭합니다.

그리고 Backend Type은 github를 선택합니다.

그다음 [Configure backend] 탭으로 이동합니다. Organization과 api url을 입력하고 저장합니다. Github Organization에는 본인이 속한 Organization을 입력하세요.

그리고나서 [Manage Teams] 탭으로 이동합니다. [New Team] 버튼을 클릭합니다.

프론트엔드팀이 Giihub 인증으로 Vault에 로그인 할 수 있게 하기 위해서, frontend-developer를 등록하였습니다. team name에는 본인이 속한 팀명을 입력하세요.

만약 Github Team에 속해 있지 않은 사용자라면, [Manage Users] 탭에서 사용자 아이디를 등록하면 됩니다.

Node App에서 Vault Secrets 값을 가져오는 방법은 다음 장에서 설명하겠습니다.

--

--

Jeongsk

원티드랩에서 프론트엔드 개발자로 일하고 있습니다.