Пользователи#

Блокирование неактивного пользователя#

Blitz Identity Provider отслеживает время последней активности пользователя. Предусмотрена возможность выполнять блокирование учетных записей пользователей, которые долгое время неактивны. Для активации этой возможности необходимо запустить в cron выполнение скрипта lockinactive.sh. Скрипт находится директории /usr/share/identityblitz/blitz-console/bin на сервере с приложением blitz-console. Рекомендуется выполнять скрипт раз в день во время минимальной активности в системе. Перед запуском скрипта необходимо отредактировать его в текстовом редакторе – установить:

  • inactive_period – требуемый период неактивности (в днях), после которого должна быть произведена блокировка учетной записи;

  • range_size – диапазон охвата учетных записей (в днях), под блокировку попадут учетные записи, последняя активность по которым была в период с (текущая дата inactive_period range_size) до (текущая дата inactive_period).

Blitz Identity Provider позволяет также осуществлять автоматическое блокирование учетной записи в момент попытки входа, если до этого учетная запись была длительно неактивна. Для включения данной возможности нужно добавить блок настроек blitz.prod.local.idp.lock с значением в блоке inactivity настройки limit в секундах, определяющей максимально разрешенный период неактивности, по прошествии которого при попытке входа учетная запись будет заблокирована по неактивности. В настройке checkInterval можно задать минимальный период в секундах, не чаще которого при входе учетной записи будет проверяться срок неактивности.

Пример настройки:

"lock" : {
    "inactivity" : {
        "checkInterval" : 86400,
        "limit" : 31536000
    }
}

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

Запрет на использование ID удаленного пользователя#

Blitz Identity Provider отслеживает использованные ранее идентификаторы пользователей, чтобы их нельзя было использовать повторно после удаления учетной записи пользователя в течение установленного периода времени. Для этого в блок blitz.prod.local.idp.provisioning нужно добавить раздел remove следующего содержания, указав нужное число дней (days), в течение которых идентификатор пользователя нельзя будет использовать при повторной регистрации:

"provisioning" : {
  …
  "remove": {
    "mode": "keepRemovedId",
    "days": 365
  }
}

Группы пользователей#

Чтобы включить возможность просмотра групп пользователей, необходимо добавить блок настроек blitz.prod.local.idp.groups следующего вида:

"groups": {
  "profiles": [
    {
      "type": "mirror",
      "id": "orgs",
      "groupStore": "389ds",
      "attrsMap": {
        "name": "displayname",
      },
      "filter": "objectClass=group"
    }
  ],
  "stores": {
    "list": [
      {
        "type": "ldap_based",
        "id": "389ds",
        "desc": "Группы",
        "ldapStore": "389ds",
        "baseDN": "ou=external,ou=groups,dc=test",
        "searchScope": "SUB",
        "idAttrName": "cn",
        "membersAttrName": "uniqueMember",
        "memberOfAttrName": "memberOf",
        "newGroupAttrs": [
          {
            "attr": "objectclass",
            "format": "strings",
            "value": "top,groupOfUniqueNames,group"
          },
          {
            "attr": "dn",
            "format": "string",
            "value": "cn=${id},ou=external,ou=groups,dc=test"
          }
        ]
      }
    ]
  }
}

Особенности указания настроек:

  • в profiles.groupStore, stores.list.id, stores.ldapStore должен быть идентификатор LDAP-каталога, используемого для хранения пользователей;

  • в profiles.attrsMap и в stores.list.idAttrName должны быть указаны атрибуты группы (класс groups), например name. Имена атрибутов при желании можно назвать и по-другому, поддерживаются только LDAP-атрибуты типа String;

  • в stores.list.baseDN нужно проверить (и исправить если необходимо) путь для хранения организаций в LDAP. Если путь будет исправлен, то скорректировать также настройку "value": "cn=${id},ou=external,ou=groups,dc=test" соответствующим образом.