Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Лицензирование: различия между версиями

Материал из Платформа Эра. Документации
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
Для своей работы система требует активации. Активация производится с помощью файла лицензии, содержащего набор параметров и их значений, привязанных к данному конкретному экземпляру системы и установленному продукту.
=== Общая информация ===
Для начала работы с платформой, после установки необходимо активировать лицензию.


Файл лицензии создается лицензиаром на основании кода активации, сформированного экземпляром системы с помощью API.
Лицензия определяет доступную конфигурацию платформы, набор доступного функционала, а также различные количественные параметры. Активация лицензии осуществляется с помощью активационного токена, в настройках мастер-домена.


Файл лицензии передается в шифрованном виде и загружается с помощью API в мастер-домен, либо может быть загружен непосредственно на HDD сервера с ролью mdc на мастер-сайте, рабочий каталог ноды в <code>/var/lib/era/_workdir/<NODE>/lic/r.lic</code>.
По-умолчанию выдаётся '''три''' активационных токена, которые три раза активировать систему. Этого количества достаточно в 90% случаев, однако если по какой-либо причине требуются дополнительные ключи, необходимо обратиться к вашему менеджеру.


Лицензия помимо активации экземпляра системы определяет ограничения.
При этом, один активационный токен используется для одного '''инстанса''' системы.


Лицензия применяется, поддерживается и резервируется на всех серверах с ролью mdc.
'''Инстанс''' - основная конфигурационная единица платформы Эра. Он может быть развернут как на одном так и на нескольких физических/виртуальных серверах, для распределения нагрузки от микросервисов. Однако, все распределеннные по серверам микросервисы, реализуют один экземпляр платформы. Один инстанс использует один активационный токен, вне зависимости от количества серверов.


= Лицензируемые параметры =
Использование нескольких инстансов, как правило, подразумевает резервирование (например, master-slave). Каждый инстанс работает самостоятельно, а их синхронизация достигается механизмами ETL. В данной конфигурации, каждый инстанс требует '''собственный ключ активации'''.
Файл лицензии в расшифрованном виде представляет собой JSON-структуру, прозрачно отражаемую системой через API управления лицензией.


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


Для удобства API предоставляет возможность просматривать независимо расшифрованное содержимое файла и актуальную действующую в текущий момент лицензию.
=== Проверка лицензии ===
В стандартной ситуации, система раз в несколько минут перепроверяет параметры лицензии и валидирует её на серверах вендора.


Простой пример содержания лицензии:
Если необходимо использовать платформу Эра в закрытом корпусе, без доступа ко внешней сети, необходимо запросить у менеджера специализированный ключ активации для закрытого контура, так как обычный ключ в данной ситуации работать не будет. В остальном, отличий по активации лицензий нет.
<code>{
  "products": "era",
  "topleveldnpolicy": 1,
  "dql": {
    "domains": 100,
    "devices": 15000,
    "siptrunks": 3000
  },
  "sqf": {
  }
}</code>
Сложный пример содержания лицензии:
<code>{
  "products": "era",
  "topleveldnpolicy": 1,
  "dql": {
    "domains": 100,
    "devices": 1000,
    "siptrunks": 1000
  },
  "sqf": {
    "custom_key": true
    },
  "licensed_to": "Компания X",
  "licensed_number": "712158",
  "configurations": [
    {
      "smart": {
        "dtstart": "2017-12-01",
        "dtstop": "2018-01-31"
      },
      "dql": {
        "domains": 100,
        "devices": "5000;10000,tilldt=2018-01-12",
        "siptrunks": "1000;2000,tilldt=2018-01-12"
      }
    },
    {
      "smart": {
        "dtstart": "2017-01-01",
        "dtstop": "2020-12-31"
      },
      "dql": {
        "domains": 100,
        "devices": 3000,
        "siptrunks": 1000
      }
    },
    {
      "smart": {
        "dtstart": "2020-12-31"
      },
      "dlgtimesec": 30,
      "sqf": {
        "custom_key": false
      }
    }
  ]
}</code>


=== Базовые параметры ===
=== Полезные ссылки ===
{| class="wikitable"
Инструкция по активации лицензии доступна на [https://vendor.era-platform.ru/docs/era/latest/manuals/installation/setup_master.html ресурсе Vendor].
!Ключ
!Описание
|-
|<code>products</code>
|Определяет название лицензируемого продукта. Лицензия может быть применена только к экземпляру системы, развернутой из дистрибутива соответствующего продукта.
|-
|<code>topleveldnpolicy</code>
|Ограничение на имена доменов первого уровня.


* <code>0</code> – допускает произвольные имена для доменов первого уровня.
Детальная информация о парметрах лицензии и активационном токене представлена в [https://vendor.era-platform.ru/docs/era/latest/license/index.html соответствующей статье].
* <code>1</code> – допускает только дочерние имена мастер-домена по правилам FQDN.
 
По умолчанию <code>1</code>.
|-
|<code>dlgtimesec</code>
|Ограничивает время всех разговоров. Может использоваться в тестовых лицензиях.
|-
|<code>dql</code>
|Группа количественных параметров функциональности.
|-
|<code>sqf</code>
|Группа качественных параметров функциональности.
|-
|<code>configurations</code>
|Раздел, содержащий список различных конфигураций и условий их применения.
 
Содержит список объектов, каждый из которых представляет альтернативную конфигурацию. По ключу <code>smart</code> содержится набор условий применения, среди которых <code>dtstart</code> и <code>dtstop</code> в формате <code>yyyy-MM-dd</code>.
 
Первая подходящая по всем условиям конфигурация сливается с исходной конфигурацией от корня, замещая значения совпадающих ключей, а остальные альтернативные конфигурации игнорируются.
 
Альтернативная конфигурация может в своем составе иметь все ключи данного раздела (<code>products</code>, <code>topleveldnpolicy</code>, <code>dql</code>, …​).
 
Если какой-то ключ отсутствует, то он берется из базовой структуры.
|-
|<code>licensed_to</code>
|Строка с названием лицензиара.
|-
|<code>license_number</code>
|Номер лицензии.
|}
 
=== Количественные параметры ===
Количественные параметры задаются числовыми значениями и расходуются/восстанавливаются при создании/удалении сущностей в доменах. Содержатся в группе свойств <code>dql</code> (domain quantitative limits).
 
Все количественные параметры распределяются по доменному дереву. Каждый домен:
 
* резервирует под себя часть полученных от родительского домена количественных лицензий для внутреннего использования,
* часть количественных лицензий передает своим дочерним доменам,
* остальные не используются и могут быть изъяты администратором родительского домена при необходимости.
 
Резервирование производится через API управления настройками домена (ключ <code>licowned</code>), а передача дочернему домену производится через API управления сущностями доменов (поле <code>lic</code>).
{| class="wikitable"
!Ключ
!Описание
|-
|<code>domains</code>
|Количество доменов. Расходуется по одному на каждый домен.
 
При нехватке лицензий в домене невозможно создать новый дочерний домен.
|-
|<code>devices</code>
|Количество зарегистрированных SIP-устройств под учетными записями SIP-пользователей. Распределяется по учетным записям SIP-пользователей. Расходуется по одному на каждое обособленное SIP-устройство в момент прохождения регистрации. Не перераспределяются автоматически между учетными записями.
 
При нехватке лицензий в домене невозможно изменить сущность SIP-пользователя в сторону увеличения количества устройств или создать новую.
 
Достижение ограничения внутри сущности SIP-пользователя приводит к отказу в регистрации нового устройства, если на текущий момент уже зарегистрировано предельное количество. Тем не менее, возможны ситуации, когда устройство инициирует новую регистрацию, не удалив предыдущую на сервере. Во избежание подобных проблем система перед отказом в регистрации по причине недостаточного количества лицензий осуществляет опрос зарегистрированных устройств с помощью SIP-запроса OPTIONS. Отказ в регистрации производится только, если все зарегистрированные устройства корректно ответили. В других случаях регистрация проводится вместо "зомби".
|-
|<code>siptrunks</code>
|Количество одновременно активных транков на учетных записях SIP-провайдеров. Распределяется по учетным записям SIP-провайдеров. Расходуется по одному на каждый вызов через роль esg и освобождается при его завершении. Не перераспределяются автоматически между учетными записями.
 
При нехватке лицензий в домене невозможно изменить сущность SIP-провайдера в сторону увеличения количества транков или создать новую.
 
Достижение ограничения внутри сущности SIP-провайдера приводит к отказу от обслуживания очередного звонка.
|}
 
=== Качественные параметры ===
Качественные параметры задаются булевыми значениями (или эквивалентно <code>0</code> и <code>1</code>) и определяют доступность функционала в рамках экземпляра установленной системы. Содержатся в группе свойств <code>sqf</code> (system qualitative flags).
{| class="wikitable"
!Ключ
!Описание
|}
 
= Передача количественных лицензий по дереву =
Алгоритм распределения следующий:
 
# Мастер-домен получает лицензию непосредственно через API, либо с HDD.
# Мастер-домен передает количественные лицензии дочерним доменам через их свойство <code>lic</code>.
# Каждый рабочий домен получает лицензию от домена родителя.
# Рабочий домен резервирует часть полученных количественных лицензий под внутреннее использование. Через настройки, ключ licowned.
# Рабочий домен передает часть зарезервированных лицензий своим сущностям (например sipuser, provider) через их свойство <code>lic</code>.
# Рабочий домен передает часть полученных и незарезервированных количественных лицензий дочерним доменам через их свойство <code>lic</code>.
 
= Расширение лицензией продукта =
Файл лицензии расширяет показатели продуктовой лицензии.
 
Все количественные показатели суммируются, качественные показатели активируются, если хотя бы в одной из лицензий: продуктовой или
 
== Суффикс <code>tilldt</code> для <code>dql</code> ==
Суффикс может быть добавлен к строковому представлению любого значения в разделе <code>dql</code> файла лицензии и ограничить применение этого значения до указанной даты. Может комбинировать сразу несколько значений.
 
Например, стандартное значение <code>"devices": 100</code> может быть изменено следующим образом:
 
* <code>"devices": "100"</code> : не изменяет поведение.
* <code>"devices": "100,tilldt=2025-10-01"</code> : до 1 октября 2025 года – <code>100</code>, после – <code>0</code>.
* <code>"devices": "100;500,tilldt=2022-10-01;200,tilldt=2023-02-23"</code> : до 1 октября 2022 года – <code>800</code>, до 23 февраля 2023 года – <code>300</code>, после – <code>100</code>.
 
= Особенности =
С периодичностью в несколько минут лицензия пересчитывается, тем самым обновляя свои условные показатели.
 
В случае изменения значений в меньшую сторону сервером производится перезагрузка доменного дерева.
 
Лицензии могут быть изъяты из дочерних доменов в объеме не большем, чем <code>X = T - O - D</code>, где
 
* <code>T</code> – количество выделенных домену лицензий,
* <code>O</code> – количество зарезервированных лицензий,
* <code>D</code> – количество выделенных дочерним доменам лицензий.
 
Если домен заблокирован (свойство <code>opts.isblocked</code>), то из него могут быть изъяты все лицензии.
 
При потере связи между сайтами, они сохраняют последнюю активную лицензию вплоть до успешной синхронизации с мастер-сайтом. После перезагрузки система также применяет последнюю активную лицензию.
 
Безлимитные значения количественных показателей лицензии (числовые значения больше <code>123456789</code>), устанавливаемые в ассете продукта defaultlic.json, распространяются по дереву доменов автоматически.
 
= Временные лицензии =
Ограничение количественных показателей может производиться с помощью
 
* суффикса <code>tilldt</code> у конкретных значений;
* настройки альтернативных конфигураций.
 
= Тестовые лицензии =
В целях ограничений для тестовой эксплуатации могут применяться:
 
* параметр <code>dlgtimesec</code>;
* ограничения во времени:
** уменьшающие количественные показатели, в том числе домены;
** активирующие альтернативные конфигурации с отключенной функциональностью.
[[Категория:Администрирование]]
[[Категория:Администрирование]]
[[Категория:Концепция и технологии]]
[[Категория:Концепция и технологии]]

Версия от 12:06, 16 мая 2025

Общая информация

Для начала работы с платформой, после установки необходимо активировать лицензию.

Лицензия определяет доступную конфигурацию платформы, набор доступного функционала, а также различные количественные параметры. Активация лицензии осуществляется с помощью активационного токена, в настройках мастер-домена.

По-умолчанию выдаётся три активационных токена, которые три раза активировать систему. Этого количества достаточно в 90% случаев, однако если по какой-либо причине требуются дополнительные ключи, необходимо обратиться к вашему менеджеру.

При этом, один активационный токен используется для одного инстанса системы.

Инстанс - основная конфигурационная единица платформы Эра. Он может быть развернут как на одном так и на нескольких физических/виртуальных серверах, для распределения нагрузки от микросервисов. Однако, все распределеннные по серверам микросервисы, реализуют один экземпляр платформы. Один инстанс использует один активационный токен, вне зависимости от количества серверов.

Использование нескольких инстансов, как правило, подразумевает резервирование (например, master-slave). Каждый инстанс работает самостоятельно, а их синхронизация достигается механизмами ETL. В данной конфигурации, каждый инстанс требует собственный ключ активации.

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

Проверка лицензии

В стандартной ситуации, система раз в несколько минут перепроверяет параметры лицензии и валидирует её на серверах вендора.

Если необходимо использовать платформу Эра в закрытом корпусе, без доступа ко внешней сети, необходимо запросить у менеджера специализированный ключ активации для закрытого контура, так как обычный ключ в данной ситуации работать не будет. В остальном, отличий по активации лицензий нет.

Полезные ссылки

Инструкция по активации лицензии доступна на ресурсе Vendor.

Детальная информация о парметрах лицензии и активационном токене представлена в соответствующей статье.