Управление Keystore через API
API позволяет получать информацию о ключах внутри keystore, добавлять, обновлять и удалять их. В случае, если на keystore установлен пароль, его необходимо передать в теле запроса. Пример:
GET _core/keystore
{
"keystore_password": "MyP@ssw0rd"
}
При необходимости фильтрации серверов, на которых должен выполниться запрос, можно использовать дополнительные фильтры.
Параметр для указания фильтра - nodeid
.
В значении можно использовать название сервера, IP-адрес, атрибут и т.д. Присутствует поддержка wildcard (см. подробнее). Пример:
POST _core/keystore/uba.sme.pass?nodeid=smos-m*
{
"value" : "UbaPASS"
}
Операции
Для взаимодействия с ключами внутри keystore, необходимо выдать разрешения кластера. Название разрешения указано в каждой операции.
Получение списка ключей
Запрос возвращает информацию о размещении ключей на серверах.
Пример:
GET _core/keystore
Разрешение:
cluster:admin/sm/keystore/list
Пример ответа:
{
"HIPMpNAmSuC7JUpBm1T33w": [
"jobscheduler.email.pass",
"jobscheduler.sme.pass",
"keystore.seed",
"uba.sme.pass"
],
"Pd779Sf9RrSYiLrpA4wyxA": ["keystore.seed", "uba.sme.pass"]
}
Добавление ключа
Запрос позволяет добавить новый ключ.
Доступны названия ключей, которые определены внутри SM Data Storage или в модулях системы Smart Monitor. При добавлении сторонних будет выведена ошибка.
Значение клю ча необходимо передать в теле запроса, используя поле value
.
Пример:
POST _core/keystore/jobscheduler.email.pass?nodeid=172.16.0.3*
{
"value" : "emailPass"
}
Разрешение:
cluster:admin/sm/keystore/add
Обновление ключа
Запрос позволяет обновить существующий ключ.
Значение нового ключа, аналогично запросу на добавление, передается в теле запроса, внутри поля value
.
Пример:
PUT _core/keystore/jobscheduler.sme.pass
{
"value": "SMEpass"
}
Разрешение:
cluster:admin/sm/keystore/update
Удаление ключа
Запрос позволяет удалить существующий ключ.
Пример:
DELETE _core/keystore/uba.sme.pass
Разрешение:
cluster:admin/sm/keystore/delete