내 스택 전체의 인증 문제를 해결해 준 도구 (Authentik)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00로그인 페이지에 도달하기 전까진 여러분의 스택도 깔끔해 보일 겁니다.
00:00:03로컬 인증을 위한 서비스가 하나 있고, MFA가 없는 다른 서비스, 또 완전히 다른
00:00:08사용자 시스템이 있죠. 이제 Docker나 Kubernetes 전반에서 각기 다른 로그인을 관리하게 됩니다. 잘 작동하는 것
00:00:14같아 보이다가도 결국엔 문제가 생기죠. 이게 바로 Authentik입니다. SSO, MFA,
00:00:20패스키, 그리고 중앙 집중식 제어 기능을 제공하는 셀프 호스팅 도구입니다. 제가 이걸 어떻게 구성하고
00:00:25설치하는지 앞으로 몇 분 동안 보여드리겠습니다.
00:00:30[음악]
00:00:32Authentik은 오픈 소스 기반의 셀프 호스팅 ID 공급자입니다. 기본적으로 모든 앱을 위한
00:00:39로그인 시스템 역할을 합니다. 모든 서비스가 저마다 엉망으로 인증을 처리하거나 우리가 이리저리
00:00:44이어 붙이는 대신, Authentik은 모든 것을 한곳에서 처리합니다. SSO, 다중 인증,
00:00:50사용자 관리, 그리고 접근 제어까지 가능하죠. Okta와 비슷하지만, 오픈 소스라 직접 소유권을 가질 수 있습니다.
00:00:56기대하는 모든 기능을 지원하지만, 결정적인 차이점이 있습니다. 복잡한
00:01:01XML 설정과 씨름하거나 SaaS의 규칙에 얽매이는 대신, Authentik은 흐름(Flow), 단계(Stages), Python 정책을 사용합니다.
00:01:08그래서 개발자처럼 인증 로직을 구축할 수 있죠. 이게 핵심 장점입니다. 파편화는 줄고,
00:01:14보안은 향상되며, 로그인 문제는 사라집니다. 워크플로우를 가속화하는 도구를 좋아하신다면
00:01:18구독 부탁드립니다. 계속해서 새로운 영상이 올라옵니다.
00:01:21더 많은 개발자가 복잡한 설정과 클라우드 IDP에서 떠나고 있습니다. Authentik이 더 작아서가 아니라,
00:01:28사용성이 더 뛰어나기 때문이죠. 실제로 어떤 모습인지 보여드리겠습니다.
00:01:32여기 새로운 서버가 있습니다. 명령어 하나, "docker compose up"으로 Authentik이 실행됩니다.
00:01:39이걸로 충분합니다. 이제 관리자 UI를 열고 앱을 생성한 다음,
00:01:44OAuth 제공자를 추가하거나 원하는 것을 선택하면 됩니다. 30초도 걸리지 않죠.
00:01:50다음으로 더미 앱을 실행합니다. 별다른 기능은 없습니다. 그냥
00:01:54리다이렉트 URL과 로컬호스트를 설정하고, Authentik에서 받은 클라이언트 ID와 비밀값을 입력하면 로그인이 됩니다.
00:02:01정말 이게 끝입니다. 새로운 사용자를 추가해서 로그인해 보면,
00:02:07관리자가 아닌 사용자로 접속할 수 있게 됩니다. 커스텀 로그인 페이지도 없고,
00:02:13유지 관리해야 할 비밀번호 시스템이나 서비스별로 파편화된 인증도 없습니다.
00:02:1990초 만에 이 앱은 프로덕션급 인증 기능을 갖추게 되었습니다.
00:02:24바로 이 지점이 모든 것이 이해되는 순간이죠. 복잡해 보이지만,
00:02:27실제로는 매우 간단합니다. 여기에서 전체 인증 시스템을 연결하고,
00:02:32Authentik에서 어떻게 처리할지 선택하면 됩니다. 그런데 다른 도구와 비교하면 어떨까요?
00:02:38Keycloak이 있습니다. 훌륭하지만 여전히 엔터프라이즈급이라 레거시가 무거운 느낌이 듭니다.
00:02:45Authilia는 가볍지만 금방 한계에 부딪힐 수 있습니다. 그리고 아까 언급한 Okta,
00:02:50혹은 Auth0가 있죠. 세련된 도구지만 사용자가 늘어날수록 비용이 발생합니다.
00:02:56Authentik은 이 사이 어딘가에 위치합니다. 완전한 ID 관리 기능을 갖추고,
00:03:01시각적인 흐름 빌더가 있어 매우 유연하며, 값비싼 SaaS
00:03:05비용을 지불할 필요도 없습니다. 유료 버전이 있긴 하지만, 사실 저는 그게 전혀 마음에 들지 않습니다. 하지만 오픈 소스 버전만으로도
00:03:12많은 것을 할 수 있습니다. 규모가 커진다면 비용을 내야 하겠지만요.
00:03:16다시 말하지만, 저는 오픈 소스 도구를 좋아합니다. 정말 오픈 소스이긴 하지만, 규모를 크게 확장하려면
00:03:22어느 정도 지불해야 합니다. UI는 현대적이고 직관적입니다. 흐름 빌더를 통해 시각적으로
00:03:27로그인 로직을 구성할 수 있죠. 이 모든 게 정말 훌륭합니다. Python 정책을 사용하면
00:03:33일반적인 설정만으로 부족할 때 상세한 커스텀도 가능합니다. 도커는 쿠버네티스와 연동되며 API
00:03:40중심으로 작동합니다. 이 모든 것이 정말 좋습니다. 중앙 집중식 MFA, 사용자 관리, 그리고 서비스
00:03:47포털까지 모두 한곳에서 제공하니까요. 물론 단점도 있습니다. 우선, 네, 오픈 소스입니다.
00:03:52우리 같은 사람들에겐 아주 좋죠. 하지만 언급했듯이 성장하면 비용을 지불해야 합니다. 어떤 서비스든
00:03:58마찬가지겠지만요. 특정 한도를 넘으면 비용을 내야 한다는 점은 여전히 싫습니다. 저는
00:04:04그런 걸 좋아하지 않아요. 학습 곡선도 존재합니다. 솔직히 처음 설치할 때는 좀 혼란스러웠습니다.
00:04:09하지만 일단 구동되고 나면 정말 잘 작동합니다. 초경량 도구들보다는 무겁습니다.
00:04:13RAM을 약 2기가바이트 정도 사용하죠. 고가용성 환경으로 구성하지 않으면
00:04:19단일 장애점이 될 수도 있습니다. 완벽하진 않지만, 대부분 개발자의 결론은 같습니다.
00:04:26처음엔 배우기 어렵지만, 익숙해지면 매우 유용합니다.
00:04:30정말 좋습니다. 여러 가지를 하나로 연결해주니까요. 과연 그럴만한 가치가 있을까요?
00:04:35그건 여러분이 판단하세요. 만약 셀프 호스팅 스택을 운영한다면, 그러니까 홈랩,
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적어도 이건 꽤 합리적인 선택입니다. 우리 워크플로우에 도입해 볼 만한 멋진 도구입니다. 만약 오픈 소스
00:05:27도구와 워크플로우를 가속화하는 코딩 팁을 좋아하신다면, Better Stack 채널을 구독해 주세요.
00:05:32다음 영상에서 뵙겠습니다.

Key Takeaway

Authentik은 오픈 소스 ID 공급자로서 파편화된 인증 시스템을 하나로 통합하고, 개발자가 직접 제어할 수 있는 유연한 인증 워크플로우를 제공합니다.

Highlights

  • Authentik은 오픈 소스 기반의 ID 공급자로 SSO, MFA, 사용자 관리 및 접근 제어를 한곳에서 통합 처리합니다.

  • Docker Compose 명령어 하나로 설치가 완료되며 90초 이내에 애플리케이션에 프로덕션급 인증 기능을 적용할 수 있습니다.

  • 복잡한 XML 설정 대신 시각적인 흐름 빌더와 Python 정책을 사용하여 인증 로직을 커스텀 구축합니다.

  • 일반적인 가동 상태에서 약 2GB의 RAM을 사용하며 고가용성 환경 미구성 시 단일 장애점(SPOF)이 발생할 수 있습니다.

  • 사용자 규모가 특정 한도를 넘어서면 비용이 발생하는 유료 버전이 존재합니다.

Timeline

인증 파편화 문제와 Authentik의 역할

  • Docker나 Kubernetes 환경에서 각기 다른 인증 방식이 도입되면 관리 복잡성이 증가합니다.
  • Authentik은 SSO, MFA, 패스키를 포함한 중앙 집중식 인증 제어를 제공하는 셀프 호스팅 도구입니다.
  • 기존 SaaS 기반 인증의 규칙에 얽매이지 않고 시각적 흐름과 Python 정책으로 인증 로직을 설계합니다.

다양한 서비스의 인증 시스템을 개별적으로 관리할 때 발생하는 파편화 문제를 해결합니다. Authentik은 Okta와 유사한 ID 공급자 기능을 제공하지만, 오픈 소스 기반으로 직접 소유권을 확보할 수 있다는 차이점이 있습니다.

설치 및 앱 연동 프로세스

  • Docker Compose를 사용하여 명령어 한 줄로 즉시 실행할 수 있습니다.
  • 관리자 UI에서 앱을 생성하고 OAuth 제공자를 추가하는 과정은 30초 내외로 완료됩니다.
  • 클라이언트 ID와 비밀값을 앱 설정에 입력하는 것만으로 90초 만에 프로덕션급 인증 기능이 통합됩니다.

새로운 서버 환경에서 즉각적인 구축이 가능합니다. 커스텀 로그인 페이지를 별도로 유지 관리할 필요 없이 Authentik의 인터페이스를 통해 모든 인증 로직을 처리할 수 있습니다.

타 도구와의 비교 및 한계

  • Keycloak은 기능은 강력하지만 레거시 환경으로 인해 무거운 편입니다.
  • Auth0와 같은 유료 SaaS는 사용자 증가에 따른 비용 부담이 발생합니다.
  • 운영 환경에서 약 2GB의 RAM을 점유하며 초기 학습 곡선이 존재합니다.
  • 규모가 커질 경우 비용이 발생할 수 있으며 고가용성 구성이 필수적입니다.

Authentik은 가벼운 도구와 엔터프라이즈급 도구 사이의 균형을 맞춘 위치에 있습니다. 시각적 빌더와 유연한 커스텀 기능이 장점이지만, 설치 초기 혼란과 단일 장애점 발생 가능성, 그리고 규모 확장에 따른 비용 정책은 사용자가 고려해야 할 요소입니다.

Community Posts

View all posts