Аренда, обновление и отзыв
С каждым токеном аутентификации типа dynamic secret и service StarVault создает метаданные, содержащие такую информацию, как срок действия, возможность продления и т.д. StarVault обещает, что данные будут действительны в течение заданного срока, или срока службы (TTL). Как только срок аренды истекает, StarVault может автоматически отозвать данные, и пользователь секрета больше не может быть уверен в том, что они действительны.
Выгода очевидна: пользователям секрета необходимо регулярно обращаться в StarVault, чтобы либо продлить аренду (если это разрешено), либо запросить замену секрета. Это повышает ценность журналов аудита StarVault, а также значительно упрощает передачу ключей.
Для всех динамических секретов в StarVault требуется аренда. Даже если предполагается, что данные будут действительны вечно, требуется аренда, чтобы заставить пользователя регулярно регистрироваться.
Помимо продления, аренда может быть отозвана. При аннулировании договора аренды этот секрет немедленно становится недействительным и предотвращает любые дальнейшие продления.
Аннулирование может быть произведено вручную через API, с помощью команды starvault lease revoke, пользовательского интерфейса (UI) на вкладке Access или автоматически с помощью StarVault. Когда срок действия договора аренды истечет, StarVault автоматически аннулирует этот договор аренды. Когда токен аннулируется, StarVault аннулирует все договоры аренды, которые были созданы с использованием этого токена.
|
Серверная часть Key/Value, которая хранит произвольные секреты, не выдает договоры аренды, хотя иногда возвращает информацию о продолжительности аренды; дополнительную информацию смотрите в документации. |
1. Идентификаторы аренды
При чтении динамического файла секретов, например, с использованием команды starvault read, StarVault всегда возвращает lease_id. Этот идентификатор используется в таких командах, как продление срока аренды хранилища и отмена аренды хранилища, для управления арендой файла секретов.
2. Сроки аренды и ее продление
Вместе с идентификатором аренды можно прочитать срок аренды. Срок действия аренды - это время в секундах, в течение которого действует аренда. Пользователь должен продлить срок аренды секрета в течение этого времени.
При продлении срока аренды пользователь может запросить определенное количество времени, в течение которого аренда будет действительна. Это время называется приращением (increment).
|
Время приращения - это не дополнительное время, прибавляемое к сроку аренды, а новый срок от текущего момента времени. |
Например, starvault lease renew -increment=3600 my-lease-id запросит, чтобы срок действия аренды был изменен на 1 час (3600 секунд).
Ориентация приращения на текущее время, а не на момент окончания срока аренды, упрощает пользователям сокращение срока аренды, если им на самом деле не нужны учетные данные на весь возможный период аренды, что позволяет быстрее истечь сроку действия этих учетных данных и раньше очистить ресурсы.
Запрашиваемое увеличение является исключительно рекомендуемым. Серверная часть, ответственная за секрет, может полностью проигнорировать его. Для большинства секретов серверная часть делает все возможное, чтобы соблюдать это увеличение, но часто ограничивает его, чтобы обеспечить периодическое обновление.
В результате следует тщательно изучить возвращаемое значение продления аренды, чтобы определить, что представляет собой новая аренда.
|
Чтобы реализовать логику обновления токена в коде вашего приложения, обратитесь к примеру кода в документе Authentication doc. |
3. Аннулирование на основе префикса
В дополнение к отмене одного файла секретов, операторы с надлежащим контролем доступа могут отозвать несколько секретов на основе префикса идентификатора аренды.
Идентификаторы аренды структурированы таким образом, что их префиксом всегда является путь, по которому был запрошен секрет. Это позволяет отзывать деревья секретов.
Для получения дополнительной информации о команде аннулирования, пожалуйста, ознакомьтесь с документацией по команде отзыва аренды.
Это очень полезно, если происходит вторжение в конкретную систему: все секреты определенного серверного интерфейса или определенной настроенной серверной части могут быть быстро и легко отозваны.