vsh에서 HashiCorp Vault를 대화식으로 조작

5037 단어 Vaultcli

vsh란?



HashiCorp Vault에 저장된 비밀을 대화식으로 조작 할 수있는 Go CLI입니다.
htps : // 기주 b. 코 m/후시 0x01/vsh

시크릿 패스를 디렉토리와 같이 취급하는 것이 가능해 보완 기능도 충실하고 있어, 2019년 10월 10일(목)에 최초의 버젼v0.1.0이 릴리스 되었습니다. Vault KV v1, v2를 지원하며 Interactive modeNon-interactive mode의 두 가지 모드로 실행이 가능합니다.

설치 방법



버전은 아래를 참조하십시오.
htps : // 기주 b. 코 m / 푸시 0x01 / vsh / ぇあせ s

macOS의 경우
VERSION=v0.1.1
wget https://github.com/fishi0x01/vsh/releases/download/${VERSION}/vsh_darwin_amd64
mv vsh_darwin_amd64 /usr/local/bin/vsh
chmod a+x /usr/local/bin/vsh

Linux 기반 OS의 경우
VERSION=v0.1.1
wget https://github.com/fishi0x01/vsh/releases/download/${VERSION}/vsh_linux_amd64
chmod a+x vsh_linux_amd64
mv vsh_linux_amd64 /usr/local/bin/vsh
chmod a+x /usr/local/bin/vsh

지원되는 명령


v0.1.1는 다음 명령을 지원합니다.
mv <from-path> <to-path>
cp <from-path> <to-path>
rm <dir-path or filel-path>
ls <dir-path // optional>
cd <dir-path>
cat <file-path>

손으로 vsh를 사용하고 싶은 분은 여기



Root Token을 root로 설정하고 Vault를 "Dev" Server Mode에서 시작합니다.
$ docker run -d --name vault -p 8200:8200 --cap-add=IPC_LOCK -e 'VAULT_DEV_ROOT_TOKEN_ID=root' vault:1.2.3
ba773aa8c7a2fbd6014c7969c310191a16f12394e81c614df2a5d160bb94644f

시크릿이 없으면 조작감을 체감할 수 없다고 생각하므로 다음 명령으로 테스트 데이터를 추가합니다.
for env in dev stage prod; do
    for i in {1..5}; do
        docker exec \
            -e 'VAULT_ADDR=http://localhost:8200' \
            -e 'VAULT_TOKEN=root' vault \
            /bin/vault kv put secret/${env}/service${i}/password password=${RANDOM}
    done
done

vsh는 v0.1.1를 사용합니다.
$ vsh -version
v0.1.1
VAULT_ADDRVAULT_TOKEN를 지정하여 vsh를 실행하면 Interactive mode로 시작하므로 나머지는 손으로 조작감을 체험해보십시오.
$ export VAULT_ADDR=http://localhost:8200
$ export VAULT_TOKEN=root
$ vsh

vsh를 종료하려면 exit를 입력하십시오.
$ vsh
http://localhost:8200 /> exit

아래 Non-interactive mode에서 실행할 수도 있습니다.
$ vsh -c 'cat secret/prod/service1/password'
password = 2768
destroyed = false
version = 1
created_time = 2019-10-15T14:49:59.9722335Z
deletion_time =

컨테이너의 정리도 잊지 않고.
$ docker rm -f vault
vault

요약



HashiCorp Vault를 대화식으로 조작하는 vsh를 소개했습니다.
실제로 만져보고 편리했기 때문에 앞으로 사용해 가려고 생각합니다.

좋은 웹페이지 즐겨찾기