🔒 Учебник по Vault. Часть 2 — Information Security Squad
🔒 Учебник по Vault. Часть 2

В первой части мы показали, как запускать экземпляр Vault локально, уделяя особое внимание использованию Docker и контейнеров:

🔒 Учебник по Vault. Часть 1

Теперь, когда у вас установлен vault, давайте посмотрим, что он может сделать.

Основные команды:

  1.  Используйте kv put, чтобы положить секреты
  2.  Используйте kv get, чтобы получить их

В Vault каждый ключ имеет версии (так что вы можете обновлять и получать прежние версии).

Вы также можете установить несколько пар ключ-значение (ключ = значение, другой ключ = значение…).

$ export VAULT_ADDR='http://vault.local:8200'
$ export VAULT_DEV_ROOT_TOKEN_ID=5l8v34FMhOVBozD9IAAkHREj
$ vault status
Key             Value
---             -----
Seal Type       shamir

$ vault kv put secret/funky cold=medina
Key              Value
---              -----
created_time     2018-12-28T17:52:22.217336Z
deletion_time    n/a
destroyed        false
version          1

$ vault kv get secret/funky
====== Metadata ======
Key              Value
---              -----
created_time     2018-12-28T17:52:22.217336Z
deletion_time    n/a
destroyed        false
version          1

==== Data ====
Key     Value
---     -----
cold    medina

При получении значений можно использовать jquery для анализа содержимого или более новую опцию «-field», чтобы просто получить значение.

Если вы хотите удалить значения, используйте «delete», чтобы удалить секрет.

Хотя удаление «удаляет», это больше похоже на перемещение чего-либо в папку «Корзина».

Все может быть легко восстановлено с undelete.

$ brew install jq
$ vault kv get -format=json secret/funcky | jq -r .data.data.cold
medina


$ vault kv get -field=cold secret/funky
medina


$ vault kv delete secret/funky
Success! Data deleted (if it existed) at: secret/funky
$ vault kv get -field=cold secret/funky
No data found at secret/data/funky

Delete Undelete и Destroy

При настройке значений каждое обновление имеет версию.

Если значение не было уничтожено, можно использовать undelete с версией, чтобы восстановить ее.

Однако можно использовать «destroy», чтобы безвозвратно уничтожить нежелательные данные (например, пароль или ключ, который был ошибочно раскрыт).

$ vault kv get -field=cold secret/funky
No data found at secret/data/funky

#  о нет, я хочу вернуть это значение!
$ vault kv get -version=1 secret/funky
====== Metadata ======
Key              Value
---              -----
created_time     2018-12-28T17:52:22.217336Z
deletion_time    2018-12-28T18:23:05.2746784Z
destroyed        false
version          1

$ vault kv undelete -versions=1 secret/funky
Success! Data written to: secret/undelete/funky

$ vault kv get -field=cold secret/funky
medina

Теперь мы хотим навсегда удалить значение:

$ vault kv delete secret/funky
Success! Data deleted (if it existed) at: secret/funky

$ vault kv destroy -versions=1 secret/funky
Success! Data written to: secret/destroy/funky

$ vault kv get -field=cold secret/funky
No data found at secret/data/funky

$ vault kv undelete -versions=1 secret/funky
Success! Data written to: secret/undelete/funky

# proof it’s not available
$ vault kv get -field=cold secret/funky
No data found at secret/data/funky

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40