Политики обеспечивают настройку и гибкость при определении процесса входа и аутентификации пользователей.
По сути, политики решают, будет ли определённый этап применён в потоке, а также смогут ли конкретные пользователи вообще получить доступ к этому потоку.
Например, можно создать политику, которая для некоторых пользователей пропускает этап запроса MFA. Либо можно определить политику, разрешающую доступ к потоку входа только в том случае, если выполняются заданные условия. В данной статье я рассмотрю политику репутации.
Политика репутации
Authentik отслеживает недавние попытки входа для каждого идентификатора (это имя пользователя, почтовый адрес и т. д.) и IP-адреса клиента. Эти значения сохраняются в виде рейтингов (score). Неудачные попытки входа уменьшают рейтинг на 1, а успешные — увеличивают его на 1.
Эту политику можно использовать, например, для того, чтобы пользователи с низким рейтингом проходили CAPTCHA-проверку перед продолжением входа.
Под учетной записью администратора переходим в меню Flows and Stages > Flows
Выбираем ваш основной идентификационый поток, в моем случае default-authentication-flow, затем переходим в раздел Policy/Groups/User Bindings

Далее переходим в раздел Create and Bind Policy, и выбираем в меню Reputation Policy.

В следующем разделе задаём имя политики, которое имеет для вас смысл.
Дальше — очень важный момент, который нужно учитывать. Если вы выберете check ip и check username одновременно, то в случае, если условный пользователь Ваня с конкретного IP-адреса неудачно попытается войти, доступ ему будет запрещён. Но если условная Галя с этого же IP-адреса успешно войдёт, доступ ей будет разрешён.
Если вы выберете только check ip, то при неудачных попытках входа с конкретного IP-адреса, вне зависимости от имени пользователя, вход с этого IP будет запрещён.
И наоборот, если выбрать только check username, то при неудачных попытках входа под конкретным именем пользователя будет запрещён вход именно этого пользователя, вне зависимости от IP-адреса, с которого он пытается авторизоваться.
Выбирайте тот вариант, который больше всего подходит под ваши нужды.
Threshold — это пороговое значение, начиная с которого срабатывает политика. По умолчанию установлено значение -5.

В следующем разделе активируем параметр Negate the result.

NOTEКоротко: Negate the result — это флаг инвертировать результат политики.
Проще говоря:
выключено → политика работает «как есть»
включено → результат политики переворачивается
На примере, допустим, политика возвращает:
true— условия выполнены
false— условия не выполненыЕсли включить Negate the result:
true→ станетfalse
false→ станетtrueЗачем это нужно в Authentik
Это удобно, когда политика определяет «плохое» условие, а тебе нужно реагировать на «хорошее», или наоборот — применять стадию только при НЕвыполнении условий
Пример с Reputation Policy
Политика: score ≥ 0
Без negation → стадия применяется, когда репутация нормальная
С Negate the result → стадия применяется, когда репутация плохая (например, показать CAPTCHA или заблокировать вход)
Также указываем порядковый номер политики
В разделе Flow overview можно посмотреть, как теперь работает поток.

Если репутация у вас хорошая, вы сможете пройти все этапы аутентификации. Если же репутация ниже установленных значений (в моём случае — три неудачные попытки входа с одного IP-адреса), Authentik просто не пустит вас дальше.
Посмотреть значения репутации можно в меню Customisation → Reputation Scores.

В следующей статье поговорим о настройке политики по геопозиции IP-адреса пользователя.
Some information may be outdated