Управление Аутентификацией#

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

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

Сценарии#

Позволяет создавать flow и части flow(execution).

На рисунке ниже изображено окно представления сценариев и сценариев исполнения аутентификации.

В таблице представлено детальное описание интерфейса представления сценариев и сценариев исполнения аутентификации.

Наименование настройки

Описание

Тип настройки

Выбор сценария аутентификации Browser

аутентификация на основе браузера

Выпадающий список

Выбор сценария аутентификации Registration

сценарий регистрации

Выпадающий список

Выбор сценария аутентификации Reset Credentials

Сброс учетных данных для пользователя, если он забыл свой пароль или что-то еще

Выпадающий список

Выбор сценария аутентификации Clients

Базовая аутентификация для клиентов

Выпадающий список

Выбор сценария аутентификации First Broker Login

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

Выпадающий список

Выбор сценария аутентификации Docker Auth

Используется клиентами Docker для аутентификации по IDP

Выпадающий список

Выбор сценария аутентификации HTTP Challenge

Поток аутентификации, основанный на схемах HTTP-аутентификации "вызов-ответ".

Выпадающий список

Тип аутентификации

Отображение типа аутентификации

Таблица с фиксированным текстовым значением

Требования

Отображение настроек требований сценария аутентификации

Таблица с чекбоксами

Действия

Кнопки действия: Создать, Копировать, Конфигурация.

Кнопки

Required

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

Alternative

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

Disabled

Любой элемент Disabled не оценивается и не учитывается для отметки потока как успешного.

Conditional

Этот тип требования может быть установлен только для подпотоков. Условный подпоток может содержать выполнение "Условие". Эти исполнения "Условие" должны оцениваться как логические операторы. Если все выполнения "Условие" оцениваются как истинные, то Условный подпоток действует как Требуемый. Если нет, то Условный подпоток действует как Отключен. Если ни одно выполнение "Условие" не установлено, Условный подпоток действует как Отключен. Если поток содержит выполнение "Условие" и не установлен на Условное, то выполнение "Условие" не оценивается и может считаться функционально отключенным.

Это лучше описать на примере:

Первый тип аутентификации - Cookie. Когда пользователь успешно входит в систему в первый раз, устанавливается сессионный файл cookie. Если этот файл cookie уже был установлен, то данный тип аутентификации будет успешным. В данном случае, поскольку поставщик cookie вернул успех, а каждое выполнение на этом уровне потока является альтернативным, никакое другое выполнение не выполняется, что приводит к успешному входу в систему.

Второе выполнение потока рассматривает выполнение Kerberos. Этот аутентификатор отключен по умолчанию и будет пропущен.

Третье выполнение - это перенаправление поставщика идентификационных данных. Его можно настроить через ссылку Действия > Конфигурация для автоматического перенаправления на другой IdP для посредничества в идентификации.

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

Первое выполнение в подпотоке Forms - это форма Username Password. Этот тип аутентификации отображает страницу имени пользователя и пароля. Он помечен как обязательный, поэтому пользователь должен ввести правильное имя пользователя и пароль.

Второе выполнение в подпотоке Forms - это новый подпоток: Browser - Conditional OTP. Поскольку этот подпоток является условным, его выполнение зависит от результата оценки выполнения Condition - User Configured. Если да, то загружается выполнение для этого подпотока и происходит та же логика обработки.

Следующим выполнением является Condition - User Configured. Здесь проверяется, настроены ли другие исполнения в потоке для пользователя. Это означает, что подпоток Browser - Conditional OTP будет выполнен только в том случае, если у пользователя настроена учетная запись OTP.

Последнее выполнение - это форма OTP. Она отмечена как необходимая, но из-за настройки в условном подпотоке она будет запущена только в том случае, если у пользователя настроена учетная запись OTP. В противном случае пользователь не увидит форму OTP.

Создать верхнеуровневую форму

Есть несколько вариантов создания потока:

  1. Скопировать, а затем изменить существующий поток. Для этого выберите существующий поток (например, поток Browser) и нажмите кнопку Копировать. После этого вам будет предложено задать имя для нового потока, а затем создать его.

  2. Создать новый поток с нуля. Для этого нажмите кнопку Создать.

При создании нового потока необходимо создать поток верхнего уровня(см. рисунок ниже).

Create_a_top_level_form

В таблице представлено детальное описание интерфейса создания потока верхнего уровня.

Наименование настройки

Описание

Тип настройки

Синоним

Задает отображаемое имя для сценария

Текстовое поле

Описание

Описание сценария

Текстовое поле

Top Level Flow Type

Какой это тип сценария верхнего уровня? Тип "клиент" используется для аутентификации клиентов (приложений), когда "общий" для пользователей и всего остального

Выпадающий список

Сопоставления#

На рисунке ниже изображено окно сопоставления сценариев аутентификации.

В таблице представлено детальное описание интерфейса сопоставления сценариев аутентификации.

Наименование настройки

Описание

Тип настройки

Сценарий браузера

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

Список с возможностью выбора значений

Сценарий регистрации

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

Список с возможностью выбора значений

Direct Grant Flow

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

Список с возможностью выбора значений

Сбросить учетные данные

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

Список с возможностью выбора значений

Аутентификация клиента

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

Список с возможностью выбора значений

Требуемые действия#

Выбор обязательных действий пользователя для создания учетной записи.

На рисунке ниже изображено окно настройки требуемых действий. Required_actions

На рисунке ниже изображено окно регистрации требуемых действий. Registration_of_the_required_action

В таблице представлено детальное описание интерфейса настройки требуемых действий.

Наименование настройки

Описание

Тип настройки

Требуемое действие

Требуемое действие для пользователя для создания учетной записи.

-

Кнопками можно менять порядок требуемых действий.

Текстовое поле с кнопками изменения порядка действий

-

Включено

Параметр включения/отключения требуемого действия.

Чекбокс

Действие по умолчанию

Если включено, то любому новому пользователю будет будет назначено требуемое действие.

Чекбокс

Регистрация

Регистрация нового требуемого действия

Кнопка

Политики пароля#

Парольные политики пользователей.

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

На рисунке ниже изображено окно настройки политик пароля. Password_Policies

В таблице представлено детальное описание интерфейса настройки политик пароля.

Наименование настройки

Описание

Тип настройки

Тип политики

Отображение типа парольной политики пользователя

Текстовое поле

Значение политики

Установка значения конкретной парольной политики

Текстовое поле

Действия

Удалить - удаление парольной политики

Кнопка

Добавить политику

Добавление парольной политики

Выпадающий список

Политики OTP#

На рисунке ниже изображено окно настройки политики OTP. OTP_Policies

В таблице представлено детальное описание интерфейса настройки политики OTP.

Наименование настройки

Описание

Тип настройки

Тип одноразового пароля OTP

totp является временным одноразовым паролем. 'hotp' основанный на счетчике одноразовый пароль в котором сервер хранит счетчик хеша.

Список с возможностью выбора значений

Алгоритм хеша OTP

Какой алгоритм хеширования должен быть использован для генерации OTP.

Список с возможностью выбора значений

Количество цифр

Сколько цифр должен иметь OTP?

Список с возможностью выбора значений

Окно просмотра вперед

На сколько итерраций вперед сервер должен попытаться сопоставить хэшпароль с тем, что предоставил пользователь. Значение по умолчанию - 1 (в реальности должно быть 10 или около того). Это случай, когда пользователь не синхронизирован с сервером по времени или привязки ко времени вообще нет.

Текстовое значение

Период токена OTP

Сколько секунд токен OTP должен быть действителен? По умолчанию 30 секунд.

Текстовое значение

Поддерживаемые приложения

Приложения, которые знают, как работать с текущей политикой OTP

Список значений

WebAuthn Policy#

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

В таблице представлено детальное описание интерфейса настройки политики аутентификации WebAuthn.

Наименование настройки

Описание

Тип настройки

Название организации доверяющей стороны

Человекочитаемое имя сервера в качестве доверяющей стороны WebAuthn

Текстовое значение

Алгоритмы подписи

Какие алгоритмы подписи следует использовать для утверждения аутентификации

Список с возможностью выбора значений

Идентификатор доверяющей стороны

Это ID как проверяющая сторона (WebAuthn Relying Party). Это должен быть эффективный домен происхождения

Текстовое значение

Предпочтения передачи аттестации

Сообщает аутентификатору о предпочтении способа генерации заявления об аттестации

Список с возможностью выбора значений

Подключение аутентификатора

Сообщает аутентификатору о приемлемой модели подключения

Список с возможностью выбора значений

Требуется ключ резидента

Сообщает аутентификатору, создавать ли учетные данные с открытым ключом как ключ резидента (Resident Key) или нет

Список с возможностью выбора значений

Требование к верификации пользователя

Передается аутентификатору для подтверждения фактической верификации пользователя

Список с возможностью выбора значений

Тайм-аут

Значение тайм-аута для создания учетных данных открытого ключа пользователя в секундах. Если установлено значение 0, этот параметр тайм-аута не адаптируется.

Текстовое значение

Избегать регистрации одного и того же аутентификатора

Избегать регистрации аутентификатора, который уже был зарегистрирован

Булевая

Допустимые AAGUIDs

Список AAGUID, в которых может быть зарегистрирован аутентификатор

Текстовое значение

WebAuthn Passwordless Policy#

Политика для беспарольной аутентификации WebAuthn используется требуемым действием 'Webauthn Register Passwordless' и аутентификатором 'WebAuthn Passwordless Authenticator'. Типичное применение - когда WebAuthn используется в качестве первого фактора аутентификации. Наличие и 'WebAuthn Policy', и 'WebAuthn Passwordless Policy' позволяет использовать WebAuthn в качестве первого и второго фактора аутентификации в одном и том же realm.

На рисунке ниже изображено окно настройки беспарольной аутентификации WebAuthn.

В таблице представлено детальное описание интерфейса настройки беспарольной аутентификации WebAuthn.

Наименование настройки

Описание

Тип настройки

Название организации доверяющей стороны

Человекочитаемое имя сервера в качестве доверяющей стороны WebAuthn

Текстовое значение

Алгоритмы подписи

Какие алгоритмы подписи следует использовать для утверждения аутентификации.

Список с возможностью выбора значений

Идентификатор доверяющей стороны

Это ID как проверяющая сторона (WebAuthn Relying Party). Это должен быть эффективный домен происхождения

Текстовое значение

Предпочтения передачи аттестации

Сообщает аутентификатору о предпочтении способа генерации заявления об аттестации

Список с возможностью выбора значений

Подключение аутентификатора

Сообщает аутентификатору о приемлемой модели подключения

Список с возможностью выбора значений

Требуется ключ резидента

Сообщает аутентификатору, создавать ли учетные данные с открытым ключом как ключ резидента (Resident Key) или нет

Список с возможностью выбора значений

Требование к верификации пользователя

Передается аутентификатору для подтверждения фактической верификации пользователя

Список с возможностью выбора значений

Тайм-аут

Значение тайм-аута для создания учетных данных открытого ключа пользователя в секундах. Если установлено значение 0, этот параметр тайм-аута не адаптируется

Текстовое значение

Избегать регистрации одного и того же аутентификатора

Избегать регистрации аутентификатора, который уже был зарегистрирован

Булевая

Допустимые AAGUIDs

Список AAGUID, в которых может быть зарегистрирован аутентификатор

Текстовое значение