Назад к вопросам
Middle+
101
questionbank
Что произойдет, если я обновлю секрет в Vault и воспользуюсь функцией wrap?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
При обновлении секрета в Vault и использовании функции Wrap произойдет следующее:
- Создастся новый секрет с обновленным значением внутри Vault.
- Будет сгенерирован новый одноразовый токен (Wrapping Token). Этот токен инкапсулирует в себе новый секрет.
- Исходный секрет (до обновления) останется неизменным до тех пор, пока не будет деактивирован или удален в соответствии с политиками Vault или явным действием.
- При попытке "развернуть" (unwrap) генерированный Wrapping Token с помощью другого Vault клиента, этот клиент получит доступ к новому, обновленному значению секрета.
- После успешного "развертывания", Wrapping Token станет недействительным и не сможет быть использован повторно. Это гарантия того, что Wrapped секрет может быть получен только один раз через этот токен.
- Wrapped секрет хранится в отдельном хранилище внутри Vault, изолированно от основного хранилища секретов, до момента его развертывания.
Таким образом, функция wrap не меняет процесс обновления секрета, а лишь предоставляет безопасный, одноразовый метод доставки этого обновленного секрета к получателю с помощью Wrapping Token.
Пример команды для обновления секрета с использованием wrap:
# Предполагается, что у вас уже был секрет по пути secret/myapp/config
# Обновляем данные секрета и оборачиваем их в wrapping токен
vault write -wrap-ttl=5m secret/myapp/config \
username="new_user" \
password="new_password"
Результат выполнения этой команды будет содержать Wrapping Token, который нужно передать получателю:
// Пример вывода команды выше
{
"request_id": "...",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": null,
"wrap_info": {
"token": "hvs.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // Этот токен содержит обновленный секрет
"accessor": "...",
"ttl": 300, // Время жизни wrapping токена (5 минут)
"creation_time": "...",
"wrapped_accessor": "..."
},
"auth": null
}
Получатель затем использует этот токен для получения обновленного секрета (unwrap):
# Использование Wrapping Token для получения обновленного секрета
vault unwrap hvs.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Результат unwrap покажет новые данные секрета:
// Пример вывода команды unwrap
{
"request_id": "...",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"username": "new_user",
"password": "new_password"
},
"wrap_info": null,
"auth": null
}