Шпаргалка по хранилищу HashiCorp: методы, примеры и лучшие практики

Вот несколько методов, связанных с HashiCorp Vault, а также примеры кода:

  1. Инициализация и распечатка хранилища:

    • Инициализировать хранилище:

      vault operator init
    • Распечатать хранилище:

      vault operator unseal <unseal_key>
  2. Секреты письма и чтения:

    • Напишите секрет:

      vault kv put secret/my-secret password=secretpassword
    • Читать секрет:

      vault kv get secret/my-secret
  3. Динамические секреты:

    • Сгенерировать динамические учетные данные для базы данных:
      vault read database/creds/readonly
  4. Политики и аутентификация:

    • Создать политику:

      vault policy write my-policy - <<EOF
      path "secret/data/*" {
      capabilities = ["read"]
      }
      EOF
    • Включить аутентификацию GitHub:

      vault auth enable github
    • Свяжите политику с пользователем или командой GitHub:

      vault write auth/github/map/teams/my-team value=my-policy
  5. Управление токенами:

    • Создайте токен с прикрепленной политикой:

      vault token create -policy=my-policy
    • Отзыв токена:

      vault token revoke <token>
    • Обновить токен:

      vault token renew <token>
  6. Монтаж и настройка секретных обработчиков:

    • Установить секретный двигатель:

      vault secrets enable -path=my-secrets kv
    • Настройте механизм секретов MySQL:

      vault write database/config/my-mysql-database \
      plugin_name=mysql-database-plugin \
      connection_url="{{username}}:{{password}}@tcp(localhost:3306)/" \
      allowed_roles="readonly"