Начало работы с Hashicorp Vault и создание первого секрета
В этой статье мы рассмотрим первые шаги пользования Hashicorp Vault: запустим сервер, научимся авторизовываться и создадим свой первый секрет. Рассмотрим, как это можно делать в веб-интерфейсе, а, также, и в терминале
2К открытий8К показов
Содержание
· Введение
· Авторизация с помощью терминала
· Создание секрета с помощью терминала
Введение
Привет, я - Анастасия, java-разработчик, хочу вам рассказать про hashicorp vault. Сама я с ним столкнулась на рабочем проекте, моей задачей было внедрить hashicorp vault в проект, и, так как, для меня это была новая технология, то, конечно, я столкнулась с трудностями. Хочу вам тоже рассказать об этой технологии. Эта статья будет вводная, чтобы ввести плавно вас в эту тему.
Что такое Hashicorp Vault
Vault — это продукт компании Hashicorp, созданный для хранения секретов и безопасного доступа к ним. Секрет — это данные, которые вы хотите обезопасить, доступ к которым вы хотите контролировать. Этими данными могут быть ключи API, пароли, сертификаты и другое.
Запуск сервера
Для начала нам нужно запустить сервер Vault. Для этого мы воспользуемся Docker Desktop.
Найдем в поиске образов "hashicorp/vault", скачаем и запустим. При запуске в дополнительных настройках укажем "0", чтобы назначить случайный порт хоста(можно ввести определенный).
После запуска мы должны увидеть такое окно:
Авторизация на сервере
Для того, чтобы зайти на сервер hashicorp vault, нажимаем на ссылку вверху
Нас встречает окно авторизации.
Vault поддерживает большое множество способов авторизации (в спойлере), которые, также, можно настроить. Добавление способов авторизации рассмотрим в следующей статье. Подробнее про способы авторизации можно прочитать в документации.
- AppRole
- JWT
- OIDC
- TLS Certificates
- Username & Password
- AliCloud
- AWS
- Azure
- Google Cloud
- GitHub
- Kubernetes
- LDAP
- Okta
- RADIUS
Мы же при первом заходе используем способ авторизации по токену. Вводим токен, который можно найти в самом низу логов, в поле авторизации. Способ авторизации по токену выбран автоматически.
Авторизация с помощью терминала
Также, мы можем авторизоваться через терминал (в Docker Desctop ). Для этого сначала нам нужно определить переменную окружения, команда указана в логах, ее нужно прописать в терминале
Далее, с помощью команды
авторизуемся. Для других способов авторизации, соответственно, другие команды, которые можно посмотреть в документации, указанной выше.
Создание первого секрета
После авторизации нас встречает такой интерфейс:
Слева присутствуют вкладки:
- Secrets engines - управление секретами
- Access - управление доступами
- Policies - управление политиками
- Tools
Соответственно, чтобы добавить секрет, нужно находиться на вкладке Secrets engines.
Механизмы секретов (Secrets engines) — это компоненты, которые хранят, генерируют или шифруют данные. Механизмы секретов невероятно гибки, поэтому их проще всего рассматривать с точки зрения их функций. Механизмам секретов предоставляется некоторый набор данных, они выполняют с этими данными определенные действия и возвращают результат.
Подробнее про механизмы секретов можно почитать в документации.
- KV
- PKI Certificates
- SSH
- Transit
- TOTP
- Kubernetes
- Active Directory
- AliCloud
- AWS
- Azure
- Google Cloud
- Google Cloud KMS
- Consul
- Databases
- Nomad
- RabbitMQ
Чтобы добавить наш первый секрет, нажмем "Enable new engine", затем выберем KV и создадим механизм. Сюда уже можно добавлять секреты.
Перейдем в создание секрета.
Можно создавать секреты в JSON формате.
В поле Path for this secret прописываем путь для секрета.
В поле Secret data пишем имя для обращения к секрету и сами данные, которые хотим спрятать.
Заполнив все поля, наконец-то, можем сохранить секрет.
Создание секрета с помощью терминала
Рассмотрим то же самое создание секрета, но с помощью терминала.
1) Чтобы включить механизм секретов KV, введем в терминал следующую команду :
2) Теперь можем создать сам секрет:
Пример:
Также, можно прописать сразу несколько секретов. Например:
3) Теперь мы можем прочитать наши секреты следующей командой:
4) Просмотреть список секретов:
5) Удалить секреты:
Заключение
Итак, мы рассмотрели первые шаги пользования Hashicorp Vault: запустили сервер, научились авторизовываться и создали свой первый секрет. Рассмотрели, как это можно делать в веб-интерфейсе, а, также, и в терминале.
В дальнейшей статье мы рассмотрим, как создавать роли и политики доступа. Это нужно, чтобы разграничить доступ к секретам. Плохая практика использовать для авторизации рутовый токен, поэтому нужно создавать другие роли.
2К открытий8К показов