관리¶
admin 전용 영역입니다. 사이드바에 7개 화면이
있고, 백엔드도 /api/v1/admin/** 전체에 RequireRole("admin") 을 걸어
devops·developer 에게는 403 을 돌려줍니다.
인증 모드를 먼저 확인하세요¶
Nullus 는 인증 모드가 둘입니다. 운영에서는 반드시 oidc 를 써야 합니다.
| 모드 | 설정 | 동작 |
|---|---|---|
oidc |
NULLUS_AUTH_MODE=oidc + VITE_AUTH_MODE=oidc |
Keycloak(또는 Authentik) 토큰을 검증합니다. 운영용 |
session (기본값) |
그 밖의 값 | 개발 전용 |
session 모드는 인증이 아닙니다
session 모드에서 로그인 화면은 브라우저 안에 들어 있는 테스트 계정 표와
비밀번호를 맞춰 보고, 서버에 묻지 않습니다. 서버 쪽도 X-User-ID ·
X-User-Role 헤더를 그대로 믿습니다. 즉 아무나 원하는 역할을 주장할 수
있습니다. 기본값이 session 이므로, 운영 배포에서는 auth.mode 를 oidc 로
바꾸고 프런트의 authMode 도 같이 맞춰야 합니다.
development 모드는 권한 검사를 전부 끕니다
server.mode 가 development 면 인증 미들웨어와 모든 RequireRole 가
등록되지 않습니다. 네 그룹이 전부 열립니다. Helm 차트 기본값은
production 입니다.
역할은 IdP 에서 옵니다¶
역할은 Nullus 가 정하는 값이 아니라 토큰에서 읽는 값입니다.
- Keycloak —
realm_access.roles. ID 토큰에 없으면 액세스 토큰을 열어 다시 찾습니다 - Authentik —
groups
우선순위는 admin → devops → 그 외 전부 developer 입니다. 역할 주장이 없는 토큰은 조용히 developer 가 됩니다.
조직 ID 가 코드에 박혀 있습니다
프런트엔드는 X-Org-ID 로 보낼 조직 ID 를
11111111-1111-1111-1111-111111111111 로 고정하고 있습니다. 다중 조직
운영은 아직 이 경로로 되지 않습니다.