Этот инструмент решил проблемы с аутентификацией во всем моем стеке (Authentik)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Ваш стек, вероятно, выглядит чистым, пока вы не доходите до страницы входа.
00:00:03Один сервис для локальной аутентификации, другой — без многофакторной, третий — с совершенно другой
00:00:08системой пользователей. И теперь вы управляете разными логинами в Docker или Kubernetes. Это работает,
00:00:14пока в какой-то момент не перестает. Это Authentic. Самохостируемый инструмент, который дает вам SSO, MFA,
00:00:20ключи доступа и централизованный контроль всего. Я покажу вам, как его развернуть
00:00:25и как настроить его за следующие несколько минут.
00:00:30[Музыка]
00:00:32Authentic — это open-source identity-провайдер с возможностью самохостинга. По сути, он становится системой входа
00:00:39для всех ваших приложений. Вместо того чтобы каждый сервис плохо реализовывал аутентификацию самостоятельно или мы пытались
00:00:44сшивать всё это вместе, Authentic берет всё на себя в одном месте. Я получаю SSO, многофакторную аутентификацию,
00:00:50управление пользователями и контроль доступа. Думайте об этом как об Okta, но вы действительно владеете им, так как это open-source.
00:00:56Он поддерживает всё, что вы ожидаете, но вот в чем большая разница. Вместо борьбы
00:01:01с XML-конфигами или зависимости от правил SaaS, Authentic использует потоки (Flow), этапы (Stages) и Python-политики.
00:01:08Так что вы создаете логику аутентификации как разработчик. В этом и заключается победа. Это действительно меньше фрагментации,
00:01:14лучшая безопасность и никаких проблем с входом. Если вам нравятся инструменты, которые ускоряют ваш рабочий процесс,
00:01:18не забудьте подписаться. У нас постоянно выходят новые видео.
00:01:21Все больше разработчиков уходят от громоздких настроек и облачных IDP не потому, что Authentic меньше,
00:01:28а потому, что он удобнее. Позвольте мне показать, как это выглядит на самом деле.
00:01:32Итак, вот у меня свежий сервер, и одной командой "docker compose up" Authentic запущен.
00:01:39Это действительно всё, что нам нужно. Теперь я могу открыть админ-интерфейс, создать приложение,
00:01:44и добавить OAuth в качестве провайдера или выбрать что угодно. Это занимает меньше 30 секунд.
00:01:50Далее я запускаю тестовое приложение. Здесь ничего особенного не происходит. Я просто укажу
00:01:54URL перенаправления (localhost), вставлю client ID и секрет, полученные от Authentic, и теперь можно войти.
00:02:01Вот и всё. Я могу добавлять здесь новых пользователей и использовать их для входа,
00:02:07так что теперь у меня есть доступ как у пользователя, а не как у администратора. У меня нет страницы входа с костылями,
00:02:13нет системы паролей, которую нужно поддерживать, и нет разрозненной аутентификации между сервисами.
00:02:19Это заняло около 90 секунд, и теперь это приложение имеет аутентификацию промышленного уровня.
00:02:24Это тот момент, когда всё встает на свои места. Кажется, что это должно быть сложно,
00:02:27но на практике всё довольно просто. Я могу связать всю эту систему аутентификации здесь,
00:02:32выбрать, как я хочу это сделать в Authentic. Но как это сравнивается с другими? Ведь есть и другие.
00:02:38Есть Keycloak. Keycloak великолепен, но он всё ещё ощущается очень тяжелым, наследием прошлого, это для энтерпрайза.
00:02:45Authelia легковесна, но вы можете быстро её перерасти. И ещё я упоминал Okta,
00:02:50или даже Auth0. Они отполированы, но мы платим за них, особенно когда пользователей становится много.
00:02:56Authentic занимает некое промежуточное положение, верно? Здесь есть полное управление идентификацией,
00:03:01есть визуальный конструктор потоков, он очень гибкий, и нам не нужно платить за все эти SaaS-
00:03:05расходы. Существует платная версия, окей, которая мне совсем не нравится, но open-source версия для
00:03:12многих из нас — это то, с чем можно сделать очень многое. Если вы сильно масштабируетесь, то вам придется платить
00:03:16за это. Опять же, я люблю open-source инструменты. Это действительно open-source, но приходится немного заплатить,
00:03:22если вы собираетесь масштабироваться очень сильно. Интерфейс современный и интуитивно понятный. Поток позволяет визуально
00:03:27строить логику входа. Так что всё это здорово. А наличие этих Python-политик дает вам ту
00:03:33детальную настройку, когда обычного конфига недостаточно. Он работает с Kubernetes, и он управляется через API.
00:03:40Всё это очень хорошо. Плюс вы получаете централизованную MFA, управление пользователями и портал сервисов
00:03:47в одном месте. Но есть и минусы. Во-первых, да, это open-source. И для многих
00:03:52из нас это здорово. Но по мере роста, как я уже упоминал, нужно платить, что, я полагаю, как и
00:03:58любой сервис, конечно. Но всё равно неприятно платить, когда достигаешь определенного лимита. Мне это не нравится,
00:04:04правда? Есть порог вхождения. Честно говоря, было немного запутанно просто установить это,
00:04:09но как только он был запущен, он работал очень хорошо. Он тяжелее, чем ультралегкие инструменты,
00:04:13к тому же. Он потребляет около двух гигабайт оперативной памяти. И если вы не используете высокую доступность, он становится
00:04:19единой точкой отказа. Так что он не идеален, но большинство разработчиков приходят к одному и тому же выводу,
00:04:26верно? Сначала трудно разобраться, но когда всё настроено, это довольно полезно.
00:04:30Это действительно хорошо. Он объединяет кучу разных вещей. Ну и стоит ли оно того? Ну,
00:04:35вам судить. В смысле, если вы запускаете self-hosted стек, ну, типа хоумлаба,
00:04:40внутренних инструментов, SaaS, локальных приложений, это будет отлично. Это действительно полезно для этого.
00:04:45Если вам нужно настоящее SSO и MFA везде, это решает проблему, которая у вас уже есть. Если вы хотите
00:04:50контроль вместо ценообразования, это имеет еще больше смысла. И если вам нужна кастомная логика аутентификации, здесь
00:04:56он справляется очень хорошо. Он делает это отлично, но он не для вас, если
00:05:00вы хотите что-то ультралегкое с почти отсутствующей настройкой. Вам придется это настроить. Или если
00:05:06вы действительно масштабируетесь, то, честно говоря, другие платные провайдеры будут лучше. Но для большинства
00:05:11из нас, как только вы всё настроите и что-то изменится, аутентификация перестает быть разбросанной по каждому приложению и
00:05:16становится одной системой, которую вы действительно контролируете. И как только вы к этому привыкнете, трудно вернуться назад. По крайней мере,
00:05:22это имеет большой смысл. Это крутой инструмент для внедрения в наши рабочие процессы. Если вам нравятся open-source
00:05:27инструменты и советы по кодингу, которые ускоряют ваш рабочий процесс, обязательно подпишитесь на канал Better Stack.
00:05:32Увидимся в другом видео.

Key Takeaway

Authentik заменяет фрагментированные системы входа централизованным open-source решением с поддержкой кастомной логики через Python-политики, требуя около 90 секунд для развертывания.

Highlights

  • Authentik — это open-source identity-провайдер, обеспечивающий SSO, MFA и централизованное управление пользователями.

  • Развертывание системы занимает менее 90 секунд при использовании docker compose.

  • Инструмент использует потоки (Flows), этапы (Stages) и Python-политики вместо сложных XML-конфигураций.

  • Authentik потребляет около 2 ГБ оперативной памяти, что делает его тяжелее некоторых ультралегких решений.

  • Система централизует аутентификацию, устраняя необходимость в разрозненных методах входа для каждого сервиса в стеке.

Timeline

Проблема фрагментированной аутентификации

  • Разрозненные методы входа усложняют управление доступом в Docker или Kubernetes.
  • Authentik предоставляет альтернативу облачным SaaS-решениям через самохостинг.
  • Логика входа настраивается через потоки и Python-политики.

Стек часто содержит сервисы с разными требованиями к аутентификации, что ведет к трудностям в управлении пользователями. Authentik консолидирует управление доступом, предоставляя возможности SSO и MFA. В отличие от SaaS-платформ, этот инструмент позволяет самостоятельно контролировать данные.

Быстрое развертывание и настройка

  • Сервер запускается одной командой docker compose up.
  • Интеграция приложения через OAuth занимает менее 30 секунд.
  • Система позволяет создавать пользователей и управлять их правами доступа централизованно.

Процесс внедрения требует минимальных временных затрат. После запуска административного интерфейса достаточно указать URL перенаправления и client ID, чтобы добавить аутентификацию промышленного уровня в приложение. Это устраняет необходимость написания костылей для каждого отдельного сервиса.

Сравнение с аналогами и ограничения

  • Keycloak считается более тяжелым и энтерпрайз-ориентированным решением.
  • Authentik требует около 2 ГБ оперативной памяти для корректной работы.
  • Бесплатная open-source версия подходит для многих сценариев, но масштабирование требует оплаты.

Authentik занимает промежуточное положение между легкими решениями вроде Authelia и тяжелыми энтерпрайз-системами. Основные недостатки включают высокий порог вхождения, потребление ресурсов и риск превращения системы в единую точку отказа при отсутствии настроек высокой доступности.

Community Posts

View all posts