从保管库导出命名空间数据并出现错误

问题描述 投票:0回答:1

我需要将数据从一个保管库实例迁移到另一个保管库实例。数据存储在 kv 引擎中,这些引擎存储在非根命名空间下的子命名空间中。我想保留命名空间路径和 kv 秘密,但不确定是否可能

我尝试像下面这样列出秘密,但它似乎不起作用

vault kv list secret/ -namespace=productname/envname/application-namespace/service-name

productname 是父命名空间,其余的是我的应用程序动态创建的子命名空间。 在子命名空间service-name下有一个名为“secret”的kv引擎,它有很多秘密。

最坏的情况是我可以手动重新创建每个产品的所有子命名空间,但我至少需要导出和导入“秘密”kv 引擎的内容。

但是,当我运行该命令时,我得到了

Too many arguments (expected 1, got 2)
migration hashicorp-vault
1个回答
1
投票

我不知道这是否对您有帮助,因为我见过这样做的工具,但几年前我找到了解决方案。

再说一次,我不知道这对你在这种情况下是否有帮助。

但是我的方法对于将一个保管库迁移到另一个保管库非常有效。

工具安装

在具有旧保管库的机器上(可以是与新保管库相同的机器):

  1. 下载安全工具:
wget https://github.com/starkandwayne/safe/releases/download/v1.6.1/safe-linux-amd64
  1. 定位旧的保管库网址:

safe target http://vault.old.lan vaultold

  1. 对旧保管库进行身份验证:

safe auth token

  1. 导出令牌:

safe export -T http://adress.oldvault.lan > export.json

将你的秘密导入到新的金库中:

  1. 定位旧的保管库网址:

safe target http://address.of.the.new.vault vaultnew

  1. 对旧保管库进行身份验证:

safe auth token

  1. 导出令牌:

Safe import < export.json

© www.soinside.com 2019 - 2024. All rights reserved.