Cubbyhole — механизм секретов, который включён всегда и монтируется в cubbyhole/. У каждого токена в нём собственное изолированное хранилище: другие токены, включая root, его не видят. Когда токен истекает или отзывается, его хранилище удаляется. На этом построено обёртывание ответов.
Цель
Убедиться, что данные в cubbyhole доступны только создавшему их токену и исчезают вместе с ним.
Предварительные требования
Для выполнения примера нужны:
- Токен Stronghold с правом создавать токены.
- Политика
defaultу создаваемых токенов: она разрешает работу сcubbyhole/*.
Шаг 1. Запишите данные своим токеном
Запишите заметку в cubbyhole своим токеном и прочитайте её:
d8 stronghold write cubbyhole/notes text="личная заметка"
d8 stronghold read cubbyhole/notesШаг 2. Создайте второй токен и проверьте изоляцию
Создайте второй токен и сравните, что видит каждый токен по одному и тому же пути:
Создайте токен с политикой
default:TOKEN2=$(d8 stronghold token create -policy=default -ttl=10m -field=token)Второй токен не видит заметку первого, хотя путь тот же:
# Прочитайте заметку вторым токеном. STRONGHOLD_TOKEN="$TOKEN2" d8 stronghold read cubbyhole/notesКоманда возвращает
No value found at cubbyhole/notes.У второго токена своё хранилище:
STRONGHOLD_TOKEN="$TOKEN2" d8 stronghold write cubbyhole/notes text="заметка второго токена" STRONGHOLD_TOKEN="$TOKEN2" d8 stronghold read cubbyhole/notes d8 stronghold read cubbyhole/notesПервая команда чтения возвращает заметку второго токена, вторая — заметку первого.
Шаг 3. Проверьте удаление данных вместе с токеном
Отзовите второй токен. Его хранилище удаляется вместе с ним, и вернуть данные нельзя:
d8 stronghold token revoke "$TOKEN2"Проверка
Заметка первого токена осталась на месте:
d8 stronghold read -field=text cubbyhole/notesПрименение
Cubbyhole подходит для временного хранения данных, которые не должны быть доступны никому, кроме одного токена: промежуточных результатов скриптов, одноразовых значений при передаче секретов. Для долгого хранения данных и для общего доступа используйте KV.
Очистка
Удалите заметку первого токена:
d8 stronghold delete cubbyhole/notes