Настройки консоли управления#

Консоль управления настраивается с помощью файлов console.conf и credentials. Далее в подразделах описаны возможные настройки.

Вход в консоль через SSO#

В консоль управления Blitz Identity Provider можно настроить вход через поставщика идентификации OIDC. В качестве такого поставщика может выступить как текущая установка Blitz Identity Provider, так и отдельная его установка или даже стороннее ПО, если оно совместимо с OIDC.

Поддерживаются следующие режимы входа в консоль управления:

  • стандартный режим по логину/паролю учетных записей, заведенных в разделе Администраторы;

  • режим входа через SSO;

  • гибридный режим входа, когда администратор может войти как по логину/паролю в стандартном режиме, так и через SSO.

При использовании режима SSO учетные записи администраторов не требуется заводить в разделе Администраторы.

Для настройки режима входа в консоль управления с помощью SSO выполните следующие действия:

  • В настройках поставщика SSO, через которого будет осуществляться вход в консоль, зарегистрируйте консоль управления как приложение. В разрешенных префиксах возврата (redirect_uri) укажите домен установки Blitz Identity Provider. По итогам регистрации вы получите сlient_id и client_secret приложения для консоли управления;

  • в конфигурационном файле console.conf создайте блок настроек login следующего содержания:

{
  "login" : {
    "fp" : {
      "authUri" : "https://idp-host.com/blitz/oauth/ae",
      "clientId" : "blitz-console",
      "clientSecret" : "client_secret_value",
      "logoutUrl" : "https://idp host.com/blitz/login/logout?post_logout_redirect_uri=https://idp host.com/blitz/console",
      "scopes" : [
        "openid"
      ],
      "subjectClaim" : "sub",
      "roleClaim" : "roles",
      "tokenUri" : "https://idp-host.com/blitz/oauth/te"
      },
    "mode" : "sso"
  }
}

Необходимо уточнить параметры:

  • В параметрах authUri и tokenUri нужно указать адреса Authorization Endpoint и Token Endpoint обработчиков внешнего поставщика идентификации.

  • В параметрах clientId и clientSecret указать значения client_id и client_secret, присвоенный зарегистрированному во внешнем поставщике идентификации приложению, соответствующему консоли управления.

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

  • В параметре scopes прописать список разрешений, который должны быть запрошены (минимально необходимо только разрешение openid).

  • В subjectClaim указать имя атрибута из маркера идентификации (id_token), используемого в качестве идентификатора учетной записи. Именно с таким идентификатором будет осуществлен вход администратора при режиме входа sso.

  • В roleClaim указать имя атрибута из маркера идентификации (id_token), в котором передается роль (строка) или список ролей (массив строк) администратора. Именно с такими идентификаторами ролей будет осуществлен вход администратора при режиме входа sso.

  • В параметре mode нужно указать требуемый режим страницы входа: sso – вход только через внешний поставщик идентификации (см. рисунок ниже); internal – вход только по логину и паролю из настроек консоли управления. Если параметр не задан, то доступны оба варианта на выбор пользователя. При входе в режиме Войти через SSO не требуется предварительно создавать администратору учетные записи в меню Администраторы.

../_images/image126.png
../_images/image127.png

Чтобы не показывался промежуточный экран входа, в котором пользователь нажимает кнопку Войти через SSO, можно вызывать консоль управления с помощью ссылки следующего вида: https://hostname:port/blitz/console?mode=SSO.

Ограничение сессий#

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

"session" : {
  "mode" : "exclusive",
  "check-interval" : 10
}

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

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

Дополнительно в веб-приложении Личный кабинет нужно включить настройку, согласно которой будет происходить досрочный выход из веб-приложения в случае, если учетная запись пользователя заблокирована или была нарушена политика, запрещающая множественный вход пользователя. В конфигурационный файл blitz.conf в блок настроек blitz.prod.local.idp.user-profile нужно добавить настройку check-session-interval, задающую период проверки веб-приложением активности сессии:

"user-profile" : {
  "check-session-interval" : 10,
  …
}

Роли и права доступа в консоль#

Стандартные роли администраторов описаны в ранее. В конфигурационном файле credentials можно создать дополнительные роли администраторов или исправить права доступа в существующих ролях. Для этого в блоке roles нужно скорректировать состав прав доступа (privileges), соответствующих роли (name).

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

"roles" : [
  {
    "name" : "new-role",
    "privileges" : ["w_app","w_system","w_ui","w_user","w_admin","r_audit"]
  }
]

В случае создания новых ролей для них также нужно определить текстовые строки с названием ролей. Пример текстовой строки для новой роли new_role:

page.admins.role.new-role=имя новой роли

Список доступных прав доступа для заполнения настройки privileges приведен в таблице ниже.

Права доступа консоли управления Blitz Identity Provider

Право доступа

Доступные разделы консоли управления

w_app

Приложения

w_system

Источники данных, Аутентификация, Процедуры входа, Поставщики идентификации, SAML, OAuth 2.0, Устройства, Сообщения

w_ui

Сервисы самообслуживания, Внешний вид

w_admin

Администраторы, События

w_user

Пользователи, Группы, Права доступа

r_user

Пользователи (только просмотр), Группы (только просмотр), Права доступа (только просмотр)

r_audit

События (только просмотр)

Смена пароля администратора#

Для изменения пароля администратора консоли выполните следующие действия:

  1. Откройте файл /usr/share/identityblitz/blitz-config/credentials.

  2. Укажите новый пароль в параметре pswdHash. Пароль указывается в открытом виде без шифрования. После применения изменений система его зашифрует.

    "users" : [
        {
            "pswdHash" : "new$password",
            "roles" : [
                "root"
            ],
            "username" : "admin"
        }
    ]
    
  3. Перезапустите сервис blitz-console.

    sudo systemctl restart blitz-console