내 스택 전체의 인증 문제를 해결해 준 도구 (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다음 영상에서 뵙겠습니다.