🔐 Как “Сбросить” Vault HashiCorp обратно в нулевое состояние, используя Consul |

🔐 Как “Сбросить” Vault HashiCorp обратно в нулевое состояние, используя Consul

Мануал

Существует два разных способа очистки кластера Vault в чрезвычайной ситуации.

Предполагается, что ваш Vault Cluster уже использует Consul в качестве хранилища и бэкэнда HA.

Во всяком случае, вот несколько сценариев, где вы можете использовать это:

  1. Вы хотите очистить все данные в кластере HashiCorp Vault без необходимости повторного развертывания его инфраструктуры. Это полезно для тестирования.
  2. Для пользователей, выполняющих обновление до Enterprise, для этого существует меньше вариантов использования, но это может пригодиться, если вы хотите убедиться, что в целевом кластере нет данных до их добавления в replicaset.

Сброс Vault с помощью Consul – это короткий метод аварийного восстановления / резервного копирования.

Об этом стоит прочитать, потому что этот метод аварийного восстановления отсутствует в общедоступной документации.

По крайней мере, я еще не нашел

Просто удалите данные в Consul, и вуаля, Vault сброшен, готов к инициализации.

Сброс Vault Метод 1: Удалите состояние Consul, удалив содержимое «data».

В вашем конфигурационном файле Consul вы должны найти строку, подобную следующей:
  "data_dir": "/opt/consul/data",

Часть после «data_dir»: это папка, содержимое которой вы хотите удалить, чтобы «очистить» данный узел Consul.

Пример (в строке 11): https://github.com/v6/super-duper-vault-train/blob/develop/configureconsul.sh#L11
Эта строка в файле конфигурации Consul соответствует флагу командной строки -data-dir при использовании CLI.
https://www.consul.io/docs/agent/options.html#_data_dir
Если вы хотите сбросить сохраненное состояние всего кластера, просто удалите содержимое этой папки на всех ваших узлах.

Прежде чем сделать это, убедитесь, что закрыли Vault, а затем выключили Consul.

После того, как вы удалили содержимое этой папки, вы можете запустить Консул, затем Vault.

Сброс Vault Cluster Метод 2: Удалить состояние Consul, удалив каталог Vault в KV API.

Посмотрите в своем файле конфигурации Vault (его расположение по умолчанию – /etc/vault/vault.hcl для внутреннего раздела. Там, где вы используете Consul в качестве внутреннего интерфейса, вы должны увидеть строку, определяющую путь. Это путь в хранилище Consul KV для удаления, если вы хотите сбросить данные Vault с помощью API Consul KV.

  path    = "vault/"
Пример: https://github.com/v6/super-duper-vault-train/blob/develop/configurevault.sh#L6
Для вышесказанного я бы запустил следующую команду для сброса Consul:
consul kv delete -recurse vault/
Если вы получили ошибку 403, вы можете проверить, нужен ли токен Consul ACL.
Error deleting key vault/: Unexpected response code: 403 (rpc error making call: Permission denied)
Вот пример удаления хранилища / раздела хранилища KV в Vault Cluster с использованием токена ACL:
[vagrant@instance5 vagrant]$ export CONSUL_HTTP_TOKEN=a4c878e5-a0eb-48ef-b6b4-00e18a146bf2; consul kv delete vault/

Сброс Vault Метод 3: Удалите состояние Консула, удалив каталог Vault в интерфейсе Consul.

Технически, это очень похоже на метод 2, но заслуживает некоторого упоминания для тех из нас, кто не так знаком с CLI и API Consul.

Во-первых, вам нужно перейти в консул GUI.

Добавьте IP-адрес вашего Consul в адресную строку браузера, затем поставьте после него 8500, как в следующем примере:

Как только вы нажмете Enter, чтобы перейти на этот IP-адрес и порт, вы увидите веб-интерфейс Consul:

Если вы затем перейдете на страницу «Key/Value », предполагая, что ваш путь по умолчанию в хранилище Consul KV определен как хранилище /, вы увидите что-то вроде следующего:

Удалите эти данные, щелкнув … в разделе Action и выбрав Delete.

Вот пример некоторых шагов, которые вы можете выполнить, используя локальный кластер:
  1. Создать кластер
  2. Инициализировать кластер
  3. Резервное копирование Consul (снэпшот Consul сохранить mysnapshot.dat)
  4. Выключите кластер и его бэкэнд
  5. Удалите папку Consul /opt/consul/data/raft
  6. Перезапустите Consul
  7. Перезапустите Vault
  8. Убедитесь, что Vault был «стерт», проверив, что пользовательский интерфейс Vault снова запрашивает инициализацию
  9. Восстановление хранилища из снэпшота Consul (восстановление снэпшота из mysnapshot.dat)
Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий