셀프호스팅 서비스가 5개, 10개로 늘어나면 계정과 비밀번호가 서비스마다 따로 존재하고, 그중 상당수는 자체 2단계 인증조차 지원하지 않는다는 문제를 마주하게 돼요. Authentik은 이런 여러 서비스 앞단에 하나의 통합된 로그인 게이트를 세워, 한 번 로그인하면 이후 모든 서비스에 자동으로 인증되는 SSO(Single Sign-On) 환경을 만들어주는 오픈소스 신원 관리 플랫폼이에요. 그럼 Authentik으로 여러 셀프호스팅 서비스에 하나의 로그인을 적용한다는 게 실제로 어떻게 동작하는 걸까요?
SSO가 홈랩에 주는 실질적 가치
SSO는 여러 셀프호스팅 서비스를 하나의 로그인 게이트로 묶어, 계정 관리 부담과 보안 수준을 동시에 끌어올려주는 방식이에요.
- 일관된 강력한 인증: 개별 서비스의 자체 로그인 기능에 의존하지 않고, 모든 서비스 앞단에서 동일한 수준의 강력한 인증(비밀번호 정책, 2단계 인증, WebAuthn 등)을 강제할 수 있어요.
- 중앙 집중식 계정 관리: 가족 구성원의 접근 권한을 서비스마다 따로 설정할 필요 없이, 한 곳에서 “이 사람은 이 서비스들만 접근 가능”하도록 관리할 수 있어요.
- 자체 로그인 기능이 없는 서비스도 보호: Uptime Kuma 대시보드처럼 인증 기능이 약하거나 없는 서비스도, 앞단에 Authentik의 프록시 인증을 세워 접근 자체를 통제할 수 있어요.
두 가지 통합 방식: 프로토콜 연동 vs 프록시 방식
Authentik은 대상 서비스의 특성에 따라 두 가지 방식으로 통합돼요. 하나는 표준 프로토콜 연동(OIDC, SAML, LDAP)으로, Nextcloud, Gitea, Grafana처럼 OIDC나 SAML을 지원하는 서비스는 Authentik을 신원 제공자(Identity Provider)로 등록해 해당 서비스의 로그인 화면에서 “Authentik으로 로그인” 버튼을 통해 인증할 수 있어요.
다른 하나는 프록시 공급자(Proxy Provider) 방식이에요. Uptime Kuma처럼 표준 인증 프로토콜을 지원하지 않는 서비스는, Authentik이 리버스 프록시 앞단에서 인증을 가로채는 “포워드 인증(Forward Auth)” 방식으로 보호해요. 이 경우 사용자는 실제 서비스에 도달하기도 전에 Authentik의 로그인 화면을 먼저 통과해야 해요.
Traefik/Nginx와의 연동
프록시 방식으로 통합하려면 리버스 프록시가 Authentik의 인증 결과를 확인하도록 설정해야 해요. Traefik을 사용한다면 forwardAuth 미들웨어를 통해, 사용자의 모든 요청이 먼저 Authentik의 인증 엔드포인트를 거치도록 구성해요. 인증되지 않은 사용자는 자동으로 Authentik의 로그인 화면으로 리다이렉트되고, 인증에 성공하면 원래 요청했던 서비스로 다시 전달돼요.
설치 구성
Authentik은 여러 컴포넌트(서버, 워커, PostgreSQL, Redis)로 구성된 다소 무거운 스택이에요. 공식 Docker Compose 템플릿을 그대로 사용하는 게 권장되며, 최소 2GB 이상의 메모리를 할당하는 게 안전해요(Authentik 공식 설치 가이드의 권장 사양 기준). 이미 Docker Compose 기반 홈랩 스택을 운영 중이라면 서비스 하나만 추가하는 식으로 편입시킬 수 있어요.
다만 이렇게 무거운 스택인 만큼, 서비스가 두세 개뿐인 초기 단계보다는 홈랩이 어느 정도 규모를 갖춘 이후 도입하는 게 합리적이에요.
정책 엔진으로 세밀한 접근 제어
Authentik의 강력한 기능 중 하나는 “정책(Policy)” 엔진이에요. 특정 그룹에 속한 사용자만, 혹은 특정 시간대에만, 혹은 특정 국가의 IP에서만 접근을 허용하는 것처럼 세밀한 조건을 조합할 수 있어요. 예를 들어 가족 구성원 계정은 집 안 로컬 네트워크에서만 관리자 도구(Portainer 등)에 접근하도록 제한하고, 외부에서는 미디어 서버만 접근 가능하도록 정책을 분리할 수 있어요.
Authelia와의 비교
비슷한 목적의 경량 대안으로 Authelia가 있어요. Authelia는 설정 파일 기반으로 훨씬 가볍게 구성할 수 있어 소규모 홈랩에 적합하고, Authentik은 풍부한 웹 UI와 정교한 정책 엔진, 더 넓은 프로토콜 지원을 제공해 서비스 개수가 많고 세밀한 관리가 필요한 환경에 적합해요.
결론
Authentik은 홈랩이 개인 프로젝트 수준을 넘어 “여러 사람이 여러 서비스를 함께 쓰는 작은 인프라”로 성장했을 때 진가를 발휘해요. 초기에는 과할 수 있지만, 서비스 개수와 사용자 수가 늘어나는 시점부터는 계정 관리의 복잡도를 극적으로 줄여주는 핵심 인프라로 자리잡아요.
자주 묻는 질문
Q1. 서비스가 2-3개뿐인데도 Authentik을 도입해야 하나요?
아니요, 서버·워커·PostgreSQL·Redis까지 갖춰야 하는 무거운 스택이라 서비스가 적을 때는 과해요. 서비스와 사용자 수가 늘어나 계정 관리가 번거로워지는 시점부터 도입하는 게 합리적이에요.
Q2. Authentik과 Authelia 중 뭘 골라야 하나요?
서비스 몇 개짜리 소규모 홈랩이라면 설정 파일 기반의 가벼운 Authelia가 맞고, 서비스가 많고 세밀한 정책 관리가 필요하면 웹 UI와 정책 엔진이 강력한 Authentik이 더 맞아요.
Q3. OIDC/SAML을 지원하지 않는 서비스도 SSO로 보호할 수 있나요?
네, Authentik의 프록시 공급자(Proxy Provider) 기능으로 리버스 프록시 앞단에서 인증을 가로채는 포워드 인증 방식을 쓰면 표준 프로토콜을 지원하지 않는 서비스도 보호할 수 있어요.
Q4. 가족마다 접근 가능한 서비스를 다르게 설정할 수 있나요?
네, 정책(Policy) 엔진으로 그룹별·네트워크별·시간대별 접근 조건을 조합할 수 있어서 가족 구성원마다 접근 가능한 서비스 범위를 분리할 수 있어요.
Q5. Authentik이 다운되면 모든 서비스에 로그인할 수 없나요?
네, SSO 게이트 역할을 하는 Authentik 자체가 다운되면 프록시로 보호된 서비스 전체에 접근할 수 없게 되므로, 백업과 헬스체크를 함께 구성해두는 게 안전해요.
댓글
첫 번째 댓글을 남겨보세요!
Mealie로 레시피와 장보기 목록 셀프호스팅하기
여기저기 저장해둔 요리 레시피가 흩어져 사라지는 문제를, Mealie로 직접 운영하는 레시피 관리 서버와 자동 장보기 목록 기능으로 해결하는 방법을 소개합니다.
MealieRestic vs Duplicati: 홈서버 백업 도구 비교
명령줄 기반의 가벼운 Restic과 웹 UI를 갖춘 Duplicati, 홈서버 데이터를 클라우드나 NAS로 안전하게 백업할 때 두 도구가 어떻게 다르고 어떤 상황에 맞는지 비교합니다.
ResticHomepage로 홈랩 서비스 대시보드 한 화면에 모으기
서비스가 늘어날수록 북마크만으로는 감당이 안 되는 홈랩 환경에서, Homepage 대시보드로 모든 서비스와 상태를 한 화면에 모아 관리하는 방법을 소개합니다.
Homepage