Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

Начало работы с Hashicorp Vault и создание первого секрета

В этой статье мы рассмотрим первые шаги пользования Hashicorp Vault: запустим сервер, научимся авторизовываться и создадим свой первый секрет. Рассмотрим, как это можно делать в веб-интерфейсе, а, также, и в терминале

2К открытий8К показов
Начало работы с Hashicorp Vault и создание первого секрета

Содержание

·        Введение

·        Что такое Hashicorp Vault

·        Запуск сервера

·        Авторизация на сервере

·        Авторизация с помощью терминала

·        Создание первого секрета

·        Создание секрета с помощью терминала

·        Заключение

Введение

Привет, я - Анастасия, java-разработчик, хочу вам рассказать про hashicorp vault. Сама я с ним столкнулась на рабочем проекте, моей задачей было внедрить hashicorp vault в проект, и, так как, для меня это была новая технология, то, конечно, я столкнулась с трудностями. Хочу вам тоже рассказать об этой технологии. Эта статья будет вводная, чтобы ввести плавно вас в эту тему.

Что такое Hashicorp Vault

Vault — это продукт компании Hashicorp, созданный для хранения секретов и безопасного доступа к ним. Секрет — это данные, которые вы хотите обезопасить, доступ к которым вы хотите контролировать. Этими данными могут быть ключи API, пароли, сертификаты и другое. 

Запуск сервера

Для начала нам нужно запустить сервер Vault. Для этого мы воспользуемся Docker Desktop.

Найдем в поиске образов "hashicorp/vault", скачаем и запустим. При запуске в дополнительных настройках укажем "0", чтобы назначить случайный порт хоста(можно ввести определенный).

Начало работы с Hashicorp Vault и создание первого секрета 1

После запуска мы должны увидеть такое окно:

Начало работы с Hashicorp Vault и создание первого секрета 2

Авторизация на сервере

Для того, чтобы зайти на сервер hashicorp vault, нажимаем на ссылку вверху

Начало работы с Hashicorp Vault и создание первого секрета 3

Нас встречает окно авторизации.

Начало работы с Hashicorp Vault и создание первого секрета 4

Vault поддерживает большое множество способов авторизации (в спойлере), которые, также, можно настроить. Добавление способов авторизации рассмотрим в следующей статье. Подробнее про способы авторизации можно прочитать в документации.

  • AppRole
  • JWT
  • OIDC
  • TLS Certificates
  • Username & Password
  • AliCloud
  • AWS
  • Azure
  • Google Cloud
  • GitHub
  • Kubernetes
  • LDAP
  • Okta
  • RADIUS

Мы же при первом заходе используем способ авторизации по токену. Вводим токен, который можно найти в самом низу логов, в поле авторизации. Способ авторизации по токену выбран автоматически.

Начало работы с Hashicorp Vault и создание первого секрета 5

Авторизация с помощью терминала

Также, мы можем авторизоваться через терминал (в Docker Desctop ). Для этого сначала нам нужно определить переменную окружения, команда указана в логах, ее нужно прописать в терминале

Начало работы с Hashicorp Vault и создание первого секрета 6
			export VAULT_ADDR='http://0.0.0.0:8200'
		

Далее, с помощью команды

			vault login token=<token>
		

авторизуемся. Для других способов авторизации, соответственно, другие команды, которые можно посмотреть в документации, указанной выше.

Создание первого секрета

После авторизации нас встречает такой интерфейс:

Начало работы с Hashicorp Vault и создание первого секрета 7

Слева присутствуют вкладки:

  • Secrets engines - управление секретами
  • Access - управление доступами
  • Policies - управление политиками
  • Tools

Соответственно, чтобы добавить секрет, нужно находиться на вкладке Secrets engines.

Механизмы секретов (Secrets engines) — это компоненты, которые хранят, генерируют или шифруют данные. Механизмы секретов невероятно гибки, поэтому их проще всего рассматривать с точки зрения их функций. Механизмам секретов предоставляется некоторый набор данных, они выполняют с этими данными определенные действия и возвращают результат.
&nbsp;&nbsp;

Подробнее про механизмы секретов можно почитать в документации.

  • 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 и создадим механизм. Сюда уже можно добавлять секреты.

Перейдем в создание секрета.

Начало работы с Hashicorp Vault и создание первого секрета 8

Можно создавать секреты в JSON формате.

В поле Path for this secret прописываем путь для секрета.

В поле Secret data пишем имя для обращения к секрету и сами данные, которые хотим спрятать.

Заполнив все поля, наконец-то, можем сохранить секрет.

Создание секрета с помощью терминала

Рассмотрим то же самое создание секрета, но с помощью терминала.

1) Чтобы включить механизм секретов KV, введем в терминал следующую команду :

			vault secrets enable -version=1 kv 
		

2) Теперь можем создать сам секрет:

			vault kv put kv/<путь до секретов> <название секрета>=<секрет>
		

Пример:

			vault kv put kv/my-secret my-value=secret
		

Также, можно прописать сразу несколько секретов. Например:

			vault kv put kv/my-secret my-value=secret my-value-2=secret2
		

3) Теперь мы можем прочитать наши секреты следующей командой:

			vault kv get kv/<путь до секретов>
		

4) Просмотреть список секретов:

			vault kv list kv/
		

5) Удалить секреты:

			vault kv delete kv/my-secret
		

Заключение

Итак, мы рассмотрели первые шаги пользования Hashicorp Vault: запустили сервер, научились авторизовываться и создали свой первый секрет. Рассмотрели, как это можно делать в веб-интерфейсе, а, также, и в терминале.

В дальнейшей статье мы рассмотрим, как создавать роли и политики доступа. Это нужно, чтобы разграничить доступ к секретам. Плохая практика использовать для авторизации рутовый токен, поэтому нужно создавать другие роли.

Следите за новыми постами
Следите за новыми постами по любимым темам
2К открытий8К показов