Поле "Realm name"Это уникальное наименование или идентификатор области (realm). Он используется внутри Keycloak для различения различных областей аутентификации. Наименование не должно содержать пробелов. Используется в URL, например:
https://sso.example.com/auth/realms/app-realm.
Поле "Display name"Отображаемое наименование "realm", которое будет отображаться пользователю в интерфейсе.
Поле "HTML Display name"Отображаемое наименование с возможность использования html-тегов (например, добавление логотипа). Если задано, то имеет приоритет над
Display name. Это удобно для кастомных страниц входа, где нужен более сложный дизайн.
Поле "Frontend URL"
Позволяет для "realm" задать отдельное доменное имя. Например, можно сделать такое сопоставление
auth.example.com -> sso.example.com/auth/realms/myrealm. Обработкой занимается встроенный веб-сервер. То же самое можно реализовать через reverse-proxy, типа nginx, с установкой Host обработчика.
Поле "Require SSL"Настройка политики использования HTTPS. Выбор влияет на требования к безопасности.
Опции:
- None — HTTPS не обязателен для любых запросов;
- External requests — HTTPS требуется только для внешних запросов, локальные могут идти по HTTP;
- All requests — HTTPS обязателен для всех запросов.
Поле "ACR to LoA Mapping"Соответствует сопоставлению между ACR (Authentication Context Class Reference) — ссылкой на контекст аутентификации, и LOA (Level of Assurance) — уровень доверия (обычно числовой). Атрибут acr указывается в JWT токене, если по OpenId и в SAML Assertion, если по SAML, но уже под атрибутом
AuthnContextClassRef.
В Keycloak
нет встроенного системного параметра или поля с названием LOA (Level of Assurance) как отдельной сущности. LOA — это скорее
концепция, которая описывает уровень уверенности в аутентификации пользователя (например, однофакторная аутентификация — LOA 1, двухфакторная — LOA 2 и т.п.). Проверка LOA и принятие решений на его основе — это ответственность клиента (приложения или бекенда).
Пример 1:
Если ACR равен
urn:mace:incommon:iap:silver, то можно установить LOA = 2, а для
urn:mace:incommon:iap:gold — LOA = 3.
Пример 2:
Ваша организация требует, чтобы для доступа к определённым системам использовался ACR с urn:mace:incommon:iap:gold (высокий уровень доверия). В настройках Realm вы указываете, что этот ACR отображается как LOA 3. При аутентификации пользователь, прошедший сильную аутентификацию, получит соответствующий токен с этим ACR. Система, проверяющая LOA, разрешит доступ только при LOA ≥ 3.
Как работать с числовым LOA:
1.
На стороне клиента или сервера, который получает JWT, нужно:
- Считать из токена claim acr (строку).
- По своей внутренней логике (например, по таблице, совпадающей с ACR to LoA Mapping в Keycloak) преобразовать эту строку в числовой LOA.
- Принять решение об уровне доверия, доступе и т.п., основываясь на числовом LOA.
2. Если хочется, чтобы числовой LOA был прямо в JWT, можно:
- Сделать кастомный Protocol Mapper в Keycloak, который по значению acr добавит отдельный claim, например loa: 2.
Поле "User-managed access"В случае включения пользователям разрешено управлять своими ресурсами и разрешениями, используя пользовательский интерфейс управления учетной записью.
Если включено, пользователи смогут делегировать права доступа к своим данным другим пользователям или системам.
Поле "Organizations"Если включено, позволяет управлять организациями. В противном случае существующие организации все еще сохраняются, но вы больше не сможете управлять ими или аутентифицировать их членов. Включайте только при необходимости, чтобы не усложнять настройку.
Поле "Admin Permissions"Если включено, позволяет управлять разрешениями администратора в realm. Включите, если необходимо делегировать права администрирования.
Поле "Unmanaged Attributes"Атрибуты пользователей, не управляемые стандартной конфигурацией профиля.
По умолчанию не управляемые атрибуты являются
Disabled и не доступны в каком -либо контексте, таком как регистрация, учетная запись и консоль администрирования.
Установив
Enabled, неуправляемые атрибуты полностью распознаются сервером и доступны во всех контекстах, полезные, если вы начинаете переносить существующую сферу в профиль декларативного пользователя, и у вас еще нет всех атрибутов пользователя, определенных в конфигурации профиля пользователя.
Установив
Only administrators can write, неуправляемые атрибуты могут управляться только через консоль администрирования и API, полезные, если вы уже определили любой пользовательский атрибут, которым пользователи могут управлять, но вы не уверены в добавлении других атрибутов, которыми следует управлять только администраторами.
Установив
Only administrators can view, неуправляемые атрибуты только для чтения и доступны только через консоль администрирования и API.
Поле "Signature algorithm SAML IdP metadata"Алгоритм подписи для метаданных SAML-поставщика. Например,
RSA_SHA256. Если не указано, метаданные не будут подписаны.
Поле "Endpoints"Ссылки OIDC/SAML, где можно получить все доступные точки входа для протоколов.