Конфигурирование доступных атрибутов#
Настройка хранимых атрибутов#
Необходимо в разделе «Источники данных» перейти в блок «Хранимые атрибуты» и выполнить следующие шаги:
добавить новый атрибут, нажав на ссылку «+Добавить атрибут»;
указать наименование атрибута, которое будет использоваться в Blitz Identity Provider. Наименование атрибута может отличаться от его имени во внешнем хранилище – в таком случае необходимо указать правило преобразования в настройках этого хранилища (см. Подключение хранилища по LDAP);
указать тип значения данных – формат данных (
String
,Number
,Boolean
,Bytes
,Array of Strings
);определить параметры атрибута:
возможно ли производить по нему поиск (колонка «Поиск»);
Совет
Если это атрибут из подключенного хранилища, то в целях производительности рекомендуется создать по нему поисковый индекс.
является ли атрибут обязательным (колонка «Обяз»);
должно ли значение атрибута быть уникальным в системе (колонка «Уник»).
После добавления атрибута недопустимо менять его имя. При необходимости переименования атрибута следует удалить атрибут и создать новый.
Важно
В разделе «Пользователи» в карточке пользователя (см. Просмотр и изменение атрибутов пользователя)
атрибуты будут показываться в том порядке, в котором они созданы.
Через консоль управления изменить порядок атрибутов нельзя. При
необходимости изменить порядок атрибутов необходимо вручную их
переупорядочить в конфигурационном файле blitz.conf
в секции
настроек blitz.prod.local.idp.id-attrs
.Чтобы в разделе
«Пользователи» вместо системных имен атрибутов показывались их
текстовые названия с учетом языка интерфейса пользователя, необходимо
для созданных атрибутов определить в messages
(см.
Текстовые сообщения веб-интерфейса)
строки с описанием названий атрибутов для используемых языков. Строки
должны иметь вид custom.user.attr.name.<имя атрибута>
.Пример
строчек:custom.user.attr.name.sub=Идентификаторcustom.user.attr.name.family_name=Фамилияcustom.user.attr.name.given_name=Имяcustom.user.attr.name.middle_name=Отчествоcustom.user.attr.name.email=E-mailcustom.user.attr.name.phone_number=Телефон
При создании нового атрибута автоматически также создается маппинг нового атрибута во всех подключенных хранилищах атрибутов на атрибут с таким же названием. После создания новых атрибутов необходимо проверить и отредактировать настройки маппинга в подключенных хранилищах. Если атрибут не предполагается считывать из хранилища, то нужно удалить строку маппинга – в таком случае атрибут будет вестись в базе данных Blitz Identity Provider.
Важно
Если в качестве СУБД используется PostgreSQL, то необходимо создать
колонку в таблице USR_ATR
, а также в таблице USR
(только в
случае, если используется внутреннее хранилище, см.
Типы хранилищ). Имя колонки должно
соответствовать имени добавляемого атрибута. Тип колонки должен быть
выбран в зависимости от типа значения атрибута:- колонка с типом
text
для атрибутов с типом String
и Bytes
(в этом случае
значение будет сохранено в Base64);- колонка с типом text[]
для
атрибута с типом Array of strings
;- колонка с подходящим числовым
типом (bigint
, integer
, smallint
) для атрибутов с типом
Number
;- колонка с типом bool
для атрибута с типом
Boolean
.

Пример настройки хранимых атрибутов#
Предусмотрена возможность назначить для атрибута LDAP-каталога
транслятор, осуществляющий преобразование атрибута из хранимого в LDAP
формата в требуемый формат в Blitz Identity Provider. Например, это
может быть полезно при необходимости обрабатывать в Blitz Identity
Provider атрибут objectGUID
из LDAP-каталога Active Directory, чтобы
этот атрибут представлялся не в байтовом виде, а в форме строки GUID.
Настройка выполняется через конфигурационный файл, см.
Транслятор атрибута.
Настройка вычисляемых атрибутов#
Для настройки вычисляемых атрибутов в блоке «Вычисляемые атрибуты» необходимо совершить следующие действия:
добавить новый атрибут, нажав на ссылку «+Добавить атрибут»;
указать наименование вычисляемого атрибута;
указать тип значения данных – формат данных;
указать правило вычисления атрибута на основе других атрибутов или присвоения ему константного значения.
Примеры правил:
чтобы создать атрибут «Имя и фамилия» из хранимых атрибутов
family_name
иgiven_name
необходимо определить хранимые атрибутыfamily_name
иgiven_name
, а далее задать вычисляемый атрибутfull_name
с правилом вычисления –${family_name} ${given_name}
.чтобы создать атрибут «домен электронной почты» из хранимого атрибута
email
необходимо определить хранимый атрибутemail
, а далее задать вычисляемый атрибутdomain
и определить его правило вычисления${email##*@}
.
Примечание
Справку по поддерживаемым параметрам строк подстановки можно посмотреть здесь.

Пример настройки вычисляемых атрибутов#
Настройка правил преобразования входных значений#
Правила преобразования входных значений позволяют проверять корректность формата ввода данных и обеспечивают сохранение данных в корректном формате. Правила задаются с помощью регулярных выражений. Каждое правило включает в себя регулярное выражение, позволяющее провести декомпозицию (разбиения на части) введенного значения, и правило сохранения полученных частей (компоновка).
Пример решаемых задач:
для проверки, что атрибут
email
содержит знак@
, необходимо указать выражение декомпозиции^(.+)@(.+)$
и выражение компоновки${0-}
;для проверки формата мобильного телефона (
phone_number
) и сохранения его в формате+7(999)1234567
, необходимо указать выражение декомпозиции^(\+?)([78]?) ?\(?([0-9]{3})\)? ?([0-9]{3})[- ]?([0-9]{2})[- ]?([0-9]{2})$
и выражение компоновки+7(${3-})${4-}${5-}${6-}
.

Пример настройки правил преобразования входных значений#
Настройка правил преобразования выходных значений#
Эти правила позволяют совершить дополнительные преобразования с
вычисляемыми атрибутами. Например, из атрибута с массивом групп
пользователей могут быть извлечены только необходимые группы, либо
значения групп из формата CN=name,DC=…
должны быть преобразованы
просто к именам CN
. Примеры настроек таких правил преобразования
представлены на рисунке ниже (предварительно необходимо создать
соответствующие вычисляемые атрибуты, см.
Настройка вычисляемых атрибутов).

Пример настройки правил преобразования выходных значений#
Настройка назначения атрибутов#
Необходимо указать, какой атрибут будет идентификатором в системе. Идентификатор должен быть уникальным и не меняться со временем.
Примечание
Не рекомендуется в будущем менять базовый идентификатор, т.к. к нему привязываются все пользовательские настройки. При изменении базового идентификатора будут потеряны настройки двухфакторной аутентификации, зарегистрированные события безопасности, запомненные списки устройств пользователей, связи с внешними учетными записями, хранимые в базе данных Blitz Identity Provider атрибуты пользователей.
Также можно указать, какие атрибуты используются для специальных целей:
Атрибут, используемый в качестве признака блокировки учетной записи. Этот атрибут должен иметь тип значения
Boolean
. Blitz Identity Provider поддерживает блокировку пользователей, хранимых в LDAP-каталоге. Для использования этой функции также требуется настроить соответствующий атрибут в настройках LDAP-каталога (см. Подключение хранилища по LDAP).Выражение, определяющее имя пользователя в консоли. Например, выражение
${family_name} ${given_name} ${middle_name-}
позволяет отображать у учетной записи (например, в разделе «Пользователи») фамилию, имя и отчество (если есть).Атрибуты, используемые для хранения адресов электронной почты.
Атрибуты, используемые для хранения номером мобильных телефонов.
В качестве электронной почты и мобильного телефона могут быть указаны несколько атрибутов (например, для личного и рабочего адреса электронной почты).

Конфигурирование назначения атрибутов#