Лицензионный ключ, установленный на инстансе, задаёт его редакцию, Standard Edition (SE) или Enterprise Edition (EE), и вместе с ней набор возможностей. Администратор управляет ключом на странице «Admin» → «Лицензия».

Что определяет лицензия

Редакция, указанная в ключе, определяет доступность сканирования и отчётности по безопасности и аналитических отчётов: в EE они работают, в SE недоступны. Остальные возможности работают в обеих редакциях. Таблица по возможностям приведена на странице «Редакции».

Инстанс берёт редакцию из ключа так:

  • ключ не установлен: инстанс работает в пробном режиме, доступны все возможности EE;
  • в ключе указана редакция ee: инстанс работает как EE;
  • в ключе указана редакция se, редакция не указана или указана редакция, неизвестная этой сборке продукта: инстанс работает как SE;
  • ключ не проходит проверку или отозван: инстанс работает как SE, администраторы видят баннер.

Ключ выдаётся клиенту и подписывается поставщиком. Инстанс проверяет подпись ключами, встроенными в продукт; проверка выполняется на инстансе без обращения к сети. Ключ содержит имя и идентификатор клиента, номер лицензии, дату выдачи, тип лицензии и секцию Deckhouse Code с редакцией, количеством лицензированных мест, датой истечения, датой прекращения действия и датой, до которой доступны обновления продукта.

Установка и удаление ключа записываются в «События аудита безопасности» как license_set и license_removed.

Просмотр лицензии

Перейдите в «Admin» → «Лицензия». Страница открывается и из баннера лицензии по ссылке «Управление лицензией».

Без ключа страница показывает «На этом инстансе не установлена лицензия.». С ключом она показывает таблицу «Информация о лицензии»:

СтрокаСодержимое
«Клиент», «Идентификатор клиента»Клиент, которому выдан ключ
«Номер лицензии»Идентификатор ключа; на него ссылаются события аудита и список отозванных лицензий
«Выдана»Дата выдачи ключа
«Тип лицензии»Тип лицензии, как он указан при выдаче
«Редакция»Редакция из ключа, se или ee; «—», если редакция в ключе не указана
«Статус»«Действует», «Истекла», «Отозвана» или «Недействительна»
«Действует до»Дата истечения или «Бессрочная» для ключа без неё. За 30 дней до даты рядом с ней появляется пометка «Истекает», после даты — «Истекла»
«Обновления доступны до»Дата, до которой ключ покрывает обновления продукта, или «Не ограничено». За 30 дней до даты рядом с ней появляется пометка «Обновления скоро станут недоступны», после даты — «Обновления недоступны». Дата не влияет на набор доступных возможностей
«Занято мест»Число активных учётных записей и лицензированных мест, «N из M», при превышении лимита — пометка «Превышено»; для ключа без лимита мест — «N мест используется»

Даты показаны как календарные даты в UTC; при наведении на пометку «Истекает», «Истекла», «Обновления скоро станут недоступны» или «Обновления недоступны» показывается точное время.

Место занимает активная учётная запись пользователя: заблокированные пользователи, боты и сервисные аккаунты места не занимают. Число обновляется раз в 10 минут. При превышении лимита появляются пометка «Превышено» и баннер; набор возможностей от числа мест не зависит.

Статус «Отозвана» означает, что номер лицензии входит в список отозванных лицензий, встроенный в продукт; «Недействительна» — что поле секции Deckhouse Code в ключе имеет неожиданный тип. В обоих состояниях инстанс работает как SE. Список отозванных лицензий попадает на инстанс с обновлением продукта, поэтому ключ может стать отозванным после обновления.

Баннер лицензии

Администраторы видят баннер в верхней части каждой страницы, пока лицензия требует внимания; остальные пользователи его не видят. Баннер содержит ссылку «Управление лицензией» на страницу лицензии. Одновременно показывается один баннер, самый серьёзный:

БаннерСостояниеМожно закрыть
«На этом инстансе не установлена лицензия.»Ключ не установленНет
«Установленный лицензионный ключ недействителен для этого инстанса.»Сохранённый ключ не проходит проверкуНет
«Лицензия отозвана. Обратитесь к поставщику.»Номер лицензии входит в список отозванных лицензийНет
«Не удалось разобрать секцию Deckhouse Code в лицензии.»Статус «Недействительна»Нет
«Лицензия инстанса истекла (%{date}). Продлите её, чтобы сохранить лицензионное покрытие.»Дата истечения прошлаНет
«Активных пользователей (%{count}) больше, чем лицензированных мест (%{limit}).»Активных учётных записей больше, чем лицензированных местДа
«Лицензия инстанса истекает (%{date}).»За 30 дней до даты истеченияДа

Закрытый баннер скрыт 7 дней; он возвращается раньше, если ключ или его состояние изменились.

Установка ключа

  1. Перейдите в «Admin» → «Лицензия».
  2. Вставьте ключ в поле «Лицензионный ключ» под заголовком «Установить лицензию». Подсказка поля гласит «Вставьте лицензионный ключ, полученный от поставщика».
  3. Нажмите «Установить лицензию».

Сообщение «Лицензионный ключ установлен.» подтверждает установку. Новый ключ заменяет сохранённый ранее и вступает в силу сразу. Ключ, который не прошёл проверку, не сохраняется, прежний ключ остаётся на месте.

Ключ — текст объёмом около 1 КБ из заглавных латинских букв A–Z и цифр 2–7. Переносы строк, пробелы, регистр букв и знаки = в конце, попавшие в текст при копировании, не учитываются.

Страница показывает причину, по которой ключ отклонён:

СообщениеПричина
«Не удалось разобрать лицензионный ключ. Убедитесь, что он скопирован полностью.»Текст не является лицензионным ключом, скопирован не полностью или изменён
«Подпись лицензионного ключа недействительна для этой инсталляции.»Подпись не соответствует ключам поставщика, встроенным в эту сборку продукта
«Лицензия ещё не начала действовать — срок её действия начинается в будущем.»Срок действия ключа начинается позже текущего времени инстанса
«Лицензия отозвана. Обратитесь к поставщику.»Номер лицензии входит в список отозванных лицензий, встроенный в продукт
«Лицензионный ключ не содержит лицензии для Deckhouse Code.»Ключ выдан для другого продукта Deckhouse
«Лицензионный ключ слишком длинный для сохранения.»Вставленный текст длиннее 4096 байт

Удаление ключа

  1. Перейдите в «Admin» → «Лицензия».
  2. Нажмите «Удалить лицензию» и подтвердите вопрос «Вы уверены, что хотите удалить лицензионный ключ?».

Сообщение «Лицензионный ключ удалён.» подтверждает удаление. Инстанс возвращается в пробный режим со всеми возможностями, а администраторы видят баннер «На этом инстансе не установлена лицензия.», пока ключ не установлен.

Истечение срока действия

Ключ содержит дату истечения, показанную в строке «Действует до», и следующую за ней дату прекращения действия, которую страница не показывает. Какая из дат наступила, определяют часы инстанса.

  • За 30 дней до даты истечения рядом с датой появляется пометка «Истекает», а администраторы видят баннер «Лицензия инстанса истекает (%{date}).»; баннер можно закрыть на 7 дней.
  • С даты истечения статус меняется на «Истекла», а администраторы видят баннер «Лицензия инстанса истекла (%{date}). Продлите её, чтобы сохранить лицензионное покрытие.», который нельзя закрыть. Между датой истечения и датой прекращения действия лицензия находится в льготном периоде: набор возможностей не меняется.
  • С даты прекращения действия инстанс с ключом EE работает как SE.

Ключ без даты прекращения действия сохраняет набор возможностей и после даты истечения; ключ без даты истечения («Бессрочная») не истекает. Истечение ключа SE меняет только статус и баннер.

Когда ключ EE достигает даты прекращения действия:

  • политики сканирования перестают добавлять задачи сканеров в пайплайны, сканирования по расписанию останавливаются;
  • страницы политик сканирования, списка зависимостей и соответствия лицензий отвечают 404, их пункты меню исчезают, а интеграции сканеров исчезают из списков интеграций и настроек;
  • интеграция с DefectDojo перестаёт обрабатывать отчёты;
  • страницы аналитических отчётов отвечают 404, их пункты меню исчезают, а поля GraphQL, на которых они построены, возвращают null.

Собранные данные остаются в хранилище: отчёты SBOM показываются снова, как только установлен действующий ключ EE, а страницы аналитики строятся по задачам, запросам на слияние и пайплайнам, которые остаются на инстансе. Продлённый ключ устанавливается как любой другой, и возможности возвращаются сразу.

Получение ключа

Ключи выдаёт поставщик. На странице «Лицензия» приведена строка для связи: «Нужна лицензия или есть вопрос? Свяжитесь с нами на сайте Deckhouse Code или напишите на contact@deckhouse.ru.»; ссылка ведёт на https://deckhouse.ru/products/code/.