해시 볼트를 검색할 수 있는 방법이 있나요?

해시 볼트를 검색할 수 있는 방법이 있나요?

vault list <vault-path>지정된 경로의 모든 비밀과 하위 디렉터리가 표시됩니다.

지정된 경로에서 비밀을 재귀적으로 검색해야 하지만 Vault 명령만으로는 이 작업을 수행할 수 있는 방법이 없습니다.

이를 위해 bash 스크립트를 작성하려고 생각 중입니다. 하지만 중첩된 배열이 필요한 것 같아서 항상 골치 아픈 일입니다.

검색 도구가 있나요? 아니면 bash 스크립트나 ansible 플레이북을 작성한 사람이 있나요?

답변1

해결되었습니다! 자기 호출 기능:

#!/bin/bash

function walk
{
local PTH="$1"; shift
local ENTRIES=($@)

for ENTRY in ${ENTRIES[@]}; do
    if [ $(echo "$ENTRY" | grep -c "$SEARCH") -ne 0 ]; then
        echo ${PTH}${ENTRY}
    fi

    if [ "$(echo $ENTRY | grep "\/$")" != "" ]; then
        NEWPTH=${PTH}${ENTRY}
        NEWENTRIES=$(vault list ${NEWPTH} 2>/dev/null | tail -n +3)
        walk ${NEWPTH} ${NEWENTRIES}
    fi
done
}


SEARCH="$2"
PTH="$1"

echo -----------------------------

ENTRIES=$(vault list ${PTH} 2>/dev/null | tail -n +3)
walk ${PTH} ${ENTRIES}

관련 정보