Конфигурирование сервера
Файл конфигурации
Настройка приложения Колибри может осуществляться с использованием одного или нескольких конфигурационных файлов colibriSettings*.json.
Конфигурационные Файлы находятся в папке /etc/opt/colibri/ в соответствии с описанием ФС.
Формат файлов json с дополнением в виде комментариев.
Приложение загружает файлы параметров в следующем порядке:
colibriSettings.json
colibriSettings[{hostname}].json
где {hostname} это название вашего сервера, которое можно получить при помощи команды hostname.
Например, colibriSettings[sphere_demo_srv].json
Таким образом можно экспериментировать с настройками и защитить настройки сервера от перезаписи при обновлении.
В отдельный файл можно вынести только основные настройки специфичные для этого сервера.
Итоговые настройки приложение получит путём слияния всех конфигурационных файлов.
Основные настройки
Замечание
Здесь и далее указание пути к свойству с использованием символа: обозначает вложенные св-ва json.
Например connection:datasource обозначает свойство DataSource внутри свойства Connection
"connection": {
"dataSource": "Server=srv1;Database=test;User Id=postgres;Password=P;CommandTimeout=7200;Timeout=1024"
}
Замечание
Названия свойств без учёта регистра. Если для указанного пути к св-ву в вашем файле не существует родительского, то его нужно создать.
Например для переопределения св-ва Kestrel:EndPoints:Https:Url
нужно создать такой объект, заполнять ненужные св-ва не требуется.
"Kestrel": {
"EndPoints": {
"Https": {
"Url": "https://localhost:5000"
}
}
}
Параметры соединений
| Свойство | Описание | Комментарий |
|---|---|---|
connection:dataSource |
Строка соединения с системных ХД PostgreSQL | см. https://www.npgsql.org/doc/connection-string-parameters.html |
connection:widgetCalculationTimeoutSeconds |
Таймаут вычисления виджета, в секундах | После исчерпания таймаута в UI отобразится кнопка попробовать ещё |
connection:maxRequestBodySize |
Ограничивает объем прикладываемых бинарных объектов (файлов, скачиваемых отчётов и т.д.) | Самый часто изменяемый параметр, также связан с ограничениями HTTP |
connection:sessionTimeoutMinutes |
Время жизни клиентской Cookie, в минутах | После периода бездействия большего, чем это значение сессия пользователя завершится |
connection:sphereMdwhServerUrl |
HTTP адрес службы кубов, обязателен. | Можно указать http://127.0.0.1 порт 3737 можно не указывать см. установка |
Общесистемные настройки
| Свойство | Описание | Комментарий |
|---|---|---|
project:caption |
Можно задать строку приглашения. | Отображается в окне входа |
project:publicUrl |
Если сервер Колибри-Сфера находится за обратным прокси, необходимо задать публичный адрес. | |
project:helpUrl |
Адрес справочной системы. | По умолчанию https://sphere.demo.octonica.com/help/ |
Почта
Настройки почта не являются обязательными. Они используется для извещения пользователя о смене пароля и узлом Отправка почы.
| Свойство | Описание | Комментарий |
|---|---|---|
Mail:From |
Адрес с которого отправлять письмо. | Можно использовать расширенный формат адреса c описанием ящика Колибри-Сфера <sphere@your-org-mail.ru> |
Mail:UserName |
Имя пользователя для подключения к smtp-серверу | |
Mail:Password |
Пароль | |
Mail:EnableSsl |
По умолчанию false | |
Mail:Host |
Адрес smtp-сервера. | По умолчанию localhost |
Mail:Port |
Порт smtp-сервера | По умолчанию 25 |
Mail:Timeout |
Таймаут отправки в секундах. | 5 |
Безопасность
Настройки OpenId Connect для подключения внешнего OpenID/OAuth2.0-провайдера.
Параметр Enabled включает использование секции.
В параметре ActiveProvider указывается ключ из объекта Providers, определяющий текущий активный OpenID-провайдер.
В секции Oidc:Providers:$(ActiveProvider) содержатся настройки подключения провайдера.
Параметры, приведённые в таблице ниже являются стандартными (определяются в соответствии с протоколом OpenId Connect). В них указываются ), (в случае ResponseType=), и соответственно. Список всех возможных стандартных свойств можно найти в документации.
Совет
Параметры из этой таблицы нужно получить у владельца SSO(oidc) сервера (KeyCloak, ADFS и т.д.),
| Свойство | Описание | Комментарий |
|---|---|---|
Providers:$(ActiveProvider):Authority |
URL провайдера (или URL Realm, если провайдер поддерживает Realm-ы | |
Providers:$(ActiveProvider):ResponseType |
Желаемый поток обработки авторизации | code - использование Authorization Code Flow |
Providers:$(ActiveProvider):ClientId |
реквизиты для входа клиента | |
Providers:$(ActiveProvider):ClientSecret |
реквизиты для входа клиента | |
Providers:$(ActiveProvider):Scope |
желаемый скоуп | oid, email, profile и т.д. |
Помимо стандартных параметров, специфичные для Колибри-Сферы параметры приведены в таблице:
| Свойство | Описание | Комментарий |
|---|---|---|
Oidc:Providers:$(ActiveProvider):CheckSessionInterval |
Интервал проверки активной сессии с использованием механизма Front Channel Logout. Значение указывается в формате TimeSpan. | В случае отсутствия параметра в конфигурации, либо значения параметра, установленного в null, механизм Front Channel Logout не используется |
Oidc:Providers:$(ActiveProvider):MapClaims |
Правила мэпинга данных из различных источников (клеймы, свойств JWT, данные из userinfo) в клеймы Колибри-Сферы. | В ключе правила указывается тип клейма, который требуется заполнить в Колибри. Тип может быть указан полным названием клейма, либо обозначением известного типа в виде свойства класса ClaimTypes или ColibriClaimTypes, например ClaimTypes.Name. В значении правила указывается название ключа в каком-либо источнике (клеймы, свойств JWT, данные из userinfo). |
Oidc:Providers:$(ActiveProvider):TransformRoles |
Правила трансформации внешних ролей из OpenID-провайдера во внутрение роли Колибри |
Пример конфигурации узла Oidc для ADFS
"Oidc": {
"Enabled": false,
"ActiveProvider": "adfs", // Нужно указать ключ из свойства Providers ниже
"Providers": {
"adfs": {
"Authority": "https://sso.site.ru/adfs", // адрес реалма в Keycloak
"ResponseType": "code", // значение по умолчанию для работы Authorization Code Flow, можно не указывать
"ClaimsIssuer": "http://sso.site.ru/adfs/services/trust",
"ClientId": "3d147bd5-1356-4cae", // клиент и секрет
"ClientSecret": "D_JZuAE4n6pUwosG_",
"Scope": [ "openid", "email", "profile", "profiles" ],
"MapClaims": { // конфигурирация отображения значений из userinfo в клэймы пользователя
"ClaimTypes.Email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
"ClaimTypes.Name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
"ClaimTypes.GivenName": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"
},
"SetRolesMode": "FromExternalProvider",
"RequiredRoleNames": [ "Sphere-Access" ]
}
}
},
Мониторинг
| Свойство | Описание | Комментарий |
|---|---|---|
Monitoring.Enabled |
Включить метрики производительности | Включает предоставление метрик Prometheus, доступно по адресу /metrics |
Настройки OLAP кубов
Источником кубов является служба sphere-mdwh-server файл конфигурации которой находится на сервере, указанном в св-ве connection.sphereMdwhServerUrl.
Файл расположен по следующему пути /etc/opt/sphere-mdwh-server/appsettings.json.
Справка по настройкам приведена в отдельном разделе.
Совет
Краткая минимальная настройка кубов: Колибри-Сфера должна указывать на адрес сервера colibri-mdwh-server его нужно записать в св-во sphereMdwhServerUrl в свою очередь colibri-mdwh-server в своём конфигурационном фале должен сослать на адрес системного ХД. Его можно скопировать из св-ва connection.dataSource.