콘텐츠로 이동

인증

Authentik SSO

https://auth.sjanglab.org — 중앙 OIDC/OAuth2 인증 제공자입니다.

통합 서비스

서비스 인증 방식 설명
Headscale OIDC VPN 로그인 시 그룹 기반 접근 제어
Nextcloud OIDC (user_oidc) SSO 로그인
Vaultwarden OIDC (PKCE) SSO 로그인
n8n Forward Auth 관리자/연구원용 워크플로우 UI (Headscale ACL + Forward Auth 이중 보호)
Grafana Forward Auth Tailnet에서만 접근 가능한 관리자 대시보드
Gatus 없음 Tailnet에서만 접근 가능한 공개 상태 페이지 (Authentik dashboard tile만 표시)
Docling/TEI Headscale ACL 연구자/관리자용 AI API
MULTI-evolve Headscale ACL + Forward Auth 연구자/관리자용 Streamlit UI
Nixbot GitHub OAuth CI/CD 대시보드 접근

RAGFlow UI-only residue cleanup

ragflow, rag-flow, rag, ragflow.sjanglab.org, rag.sjanglab.org 검색 결과 repo-managed RAGFlow/Authentik 설정은 없습니다. Authentik 런타임 UI에만 남아 있으면 다음 항목만 삭제합니다:

  1. Applications → Applications: RAGFlow application 삭제
  2. Applications → Providers: RAGFlow provider 삭제
  3. Applications → Outposts: RAGFlow가 할당된 outpost 편집 후 application 목록에서 제거; RAGFlow 전용 outpost면 outpost 삭제
  4. RAGFlow 전용 policy, property mapping, group binding이 있으면 해당 RAGFlow 전용 항목만 삭제

Forward Auth 흐름

n8n 등 Forward Auth를 사용하는 서비스의 인증 흐름:

sequenceDiagram
  participant U as 사용자
  participant N as nginx
  participant A as Authentik outpost<br/>(10.100.0.1:9000)
  participant S as 서비스 (n8n 등)

  U->>N: 요청
  N->>A: 인증 확인 (/outpost.goauthentik.io/auth)
  alt 미인증
    A-->>N: 401
    N-->>U: 로그인 페이지로 리다이렉트
    U->>A: 로그인
    A-->>U: 인증 완료, 원래 URL로 리다이렉트
  else 인증됨
    A-->>N: 200 + 사용자 정보 헤더
    N->>S: X-authentik-email 헤더와 함께 전달
    S-->>U: 응답
  end

Authentik outpost는 wg-admin 인터페이스(포트 9000)에서만 접근 가능합니다.

그룹

그룹 용도 Headscale ACL 태그
sjanglab-admins 전체 접근 권한 tag:ai, tag:apps, tag:monitoring
sjanglab-researchers AI + 앱 접근 tag:ai, tag:apps
sjanglab-students 앱만 접근 tag:apps

Authentik 사용자와 그룹 선언은 terraform/authentik에서 관리합니다. 사람 계정 목록은 개인정보 보호를 위해 SOPS로 암호화한 terraform/authentik/users.yaml에 둡니다. 학생 계정은 expires_on을 반드시 지정하고, 만료 후에는 active: false로 변경합니다.

Headscale ACL policy는 terraform/headscale이 같은 users.yaml에서 생성합니다. 비활성 사용자는 Authentik group membership과 Headscale ACL group에서 함께 빠집니다. 상세 매커니즘은 네트워크 — ACL 정책 관리를 참조하세요.