/sys/generate-recovery-token
Конечная точка /sys/generate-recovery-token используется для создания нового токена восстановления для StarVault.
1. Прочитать ход генерации токена восстановления
Эта конечная точка считывает конфигурацию и процесс текущей попытки генерации root токена.
Метод |
Путь |
|
|
curl \
http://127.0.0.1:8200/v1/sys/generate-recovery-token/attempt
{
"started": true,
"nonce": "2dbd10f1-8528-6246-09e7-82b25b8aba63",
"progress": 1,
"required": 3,
"encoded_token": "",
"pgp_fingerprint": "",
"otp_length": 24,
"complete": false
}
Если запущена генерация токена восстановления, progress указывает количество ключей распечатывания, предоставленных для этой попытки. required указывает количество ключей распечатывания, которое необходимо достичь для завершения. nonce отображает текущую попытку и завершена ли она.
Если для шифрования конечного корневого токена используется ключ PGP, будет возвращен его отпечаток.
Если для кодирования конечного корневого токена используется одноразовый пароль (OTP), он будет возвращен только один раз в ответе на запрос запуска.
Одноразовый пароль (OTP) представляет собой строку в кодировке base62 длиной otp_length. Необработанные байты (коды символов) токена будут подвергнуты операции XOR с этим значением, прежде чем будут возвращены в качестве ответа на последний ключ распечатки, закодированный в формате base64.
2. Начало генерации токенов восстановления
Эта конечная точка инициирует попытку генерации нового токена восстановления. Одновременно может быть выполнена только одна попытка генерации токена восстановления.
Метод |
Путь |
|
|
2.1. Параметры
-
pgp_key(string: <optional>)– Задаёт открытый ключ PGP, закодированный в формате Base64. Необработанные байты токена будут зашифрованы этим значением перед возвратом поставщику окончательного распечатанного ключа.
curl \
--request POST \
http://127.0.0.1:8200/v1/sys/generate-recovery-token/attempt
{
"started": true,
"nonce": "2dbd10f1-8528-6246-09e7-82b25b8aba63",
"progress": 1,
"required": 3,
"encoded_token": "",
"otp": "2vPFYG8gUSW9npwzyvxXMug0",
"otp_length": 24,
"complete": false
}
3. Отмена генерации токена восстановления
Эта конечная точка отменяет любую текущую попытку генерации токена восстановления. Это сбрасывает весь достигнутый прогресс. Эту точку необходимо вызвать для смены используемого одноразового пароля (OTP) или ключа PGP.
Метод |
Путь |
|
|
curl \
--request DELETE \
http://127.0.0.1:8200/v1/sys/generate-recovery-token/attempt
4. Предоставление общего ключа для генерации токена восстановления
Данная конечная точка используется для ввода одного общего корневого ключа для продолжения попытки генерации токена восстановления. Если достигнуто пороговое количество общих корневых ключей, StarVault завершит генерацию токена восстановления и выпустит новый токен. В противном случае этот API необходимо вызывать несколько раз, пока не будет достигнуто это пороговое значение. Одноразовый код попытки должен предоставляться при каждом вызове.
Обратите внимание, что после выпуска токена StarVault распечатывается. Токен хранится только в памяти и, следовательно, будет действителен только до следующего перезапуска.
Метод |
Путь |
|
|
4.1. Параметры
-
key(string: <required>)– Указывает единый общий корневой ключ. -
nonce(string: <required>)– Указывает одноразовый номер попытки.
{
"key": "acbd1234",
"nonce": "ad235"
}
curl \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/generate-recovery-token/update
Возвращается закодированный в формате JSON объект, указывающий одноразовый номер попытки, статус завершения и закодированный токен восстановления, если попытка завершена.
{
"started": true,
"nonce": "2dbd10f1-8528-6246-09e7-82b25b8aba63",
"progress": 3,
"required": 3,
"pgp_fingerprint": "",
"complete": true,
"encoded_token": "FPzkNBvwNDeFh4SmGA8c+w=="
}