亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 HashiCorp 保險庫中搜索值

在 HashiCorp 保險庫中搜索值

Go
慕田峪9158850 2022-06-27 14:57:20
有沒有辦法在 Hashicorp Vault 中搜索值?我正在嘗試編寫 Golang 代碼來搜索并列出值出現在保險庫中的所有位置。它類似于 golang 在目錄上的 walk 函數。有沒有人有一個好的方法?我正在考慮使用并發來搜索保險庫中的值。謝謝下面是我想出的代碼示例。我正在研究如何通過使用并發來加快速度。有沒有辦法同時遍歷一個目錄?func walkDir(client *api.Client, path string) {    var value *api.Secret    var err error    if path != "" {        value, err = client.Logical().List(path)    } else {        path = vault_path        value, err = client.Logical().List(path)    }    if err != nil {        fmt.Println(err)    }    var datamap map[string]interface{}    datamap = value.Data    data := datamap["keys"].([]interface{})    for _, item := range data {        itemString := item.(string)        if strings.HasSuffix(itemString, "/") {            walkDir(client, path+itemString)        } else {            //its a secret            data := read(client, path+itemString)            if *searchKey!="" && searchForKey(data,*searchKey){                fmt.Println(path + itemString)            }            if *searchValue!="" && searchForValue(data,*searchValue){                fmt.Println(path + itemString)            }        }    }}func read(client *api.Client, path string) map[string]interface{} {    value, err := client.Logical().Read(path)    if err != nil {        fmt.Println(err)    }    values := value.Data    return values}func searchForValue(mapp map[string]interface{}, searchValue string) bool {    for _, value := range mapp {        if searchValue == value {            return true        }    }    return false}func searchForKey(mapp map[string]interface{}, searchKey string) bool {    for key := range mapp {        if searchKey == key {            return true        }    }    return false}
查看完整描述

1 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

您可以LIST在 Vault 中“目錄”(我假設您只是在查看kv引擎)。所以把它當作一個普通的文件系統來對待:從根開始,列出條目,檢查每個條目的內容是否有那個值,然后遍歷每個條目,列出它的內容,等等。

https://www.vaultproject.io/api-docs/secret/kv/kv-v1#list-secrets


查看完整回答
反對 回復 2022-06-27
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號