1.3. 로그인 및 인증
개요
OPENMARU MCM Console에 접근하려면 유효한 인증 정보가 필요합니다. 두 가지 인증 방식을 지원합니다:
- SSO (Single Sign-On): Keycloak 기반의 통합 인증 (권장)
- 토큰 인증: Kubernetes 서비스 계정 토큰을 사용한 직접 인증
로그인 화면
OPENMARU MCM Console에 접속하면 로그인 화면이 표시됩니다.

화면 구성 요소
| 요소 | 설명 |
|---|---|
| 로고 및 타이틀 | Kubernetes 로고와 "MCM Console" 타이틀, "멀티 클러스터 관리 대시보드" 설명 |
| SSO로 로그인 버튼 | Keycloak SSO 인증 버튼 (활성화된 경우만 표시) |
| 구분선 | "또는" 텍스트로 SSO와 토큰 로그인 구분 |
| 토큰 입력 필드 | Kubernetes 토큰 입력 필드 |
| 토큰 표시/숨김 버튼 | 👁 아이콘 클릭으로 토큰 내용 확인 |
| 토큰으로 로그인 버튼 | 토큰 인증 수행 버튼 |
| 도움말 링크 | Karmada 공식 문서 링크 |
인증 방식
1. SSO 로그인 (Keycloak) - 권장
SSO(Single Sign-On)가 활성화된 환경에서는 SSO로 로그인 버튼이 표시됩니다.
사용 방법:
- SSO로 로그인 버튼을 클릭합니다.
- Keycloak 인증 페이지로 리다이렉트됩니다.
- 조직의 계정 정보로 로그인합니다.
- 인증 완료 후 OPENMARU MCM Console로 돌아옵니다.
장점:
- 조직의 기존 계정을 사용하여 편리하게 로그인
- 중앙 집중식 사용자 관리
- 세션 관리 및 보안 정책 적용
참고: SSO 설정은 관리자가 구성합니다. SSO 버튼이 보이지 않는다면 토큰 인증을 사용하세요.
2. 토큰 로그인
Kubernetes ServiceAccount 토큰을 사용하여 인증합니다.
사용 방법:
-
토큰 입력 필드에 Kubernetes 토큰을 붙여넣습니다.

-
👁 아이콘을 클릭하면 토큰 내용을 확인할 수 있습니다. (멀티라인으로 표시됨)

-
토큰으로 로그인 버튼을 클릭합니다.
-
인증 성공 시 대시보드 메인 화면(Overview)으로 이동합니다.
토큰 발급 방법
MCM 컨트롤 플레인에서 토큰을 발급받는 방법입니다.
방법 1: 기존 ServiceAccount 사용
# MCM Console ServiceAccount의 토큰 확인
kubectl -n karmada-system get secret mcm-console-secret \
-o go-template="{{.data.token | base64decode}}"
방법 2: 새 ServiceAccount 생성
# 1. ServiceAccount 생성
kubectl -n karmada-system create serviceaccount mcm-user
# 2. ClusterRoleBinding 생성 (cluster-admin 권한)
kubectl create clusterrolebinding mcm-user-binding \
--clusterrole=cluster-admin \
--serviceaccount=karmada-system:mcm-user
# 3. 토큰용 Secret 생성
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
name: mcm-console-secret
namespace: karmada-system
annotations:
kubernetes.io/service-account.name: mcm-user
type: kubernetes.io/service-account-token
EOF
# 4. 토큰 확인
kubectl -n karmada-system get secret mcm-console-secret \
-o go-template="{{.data.token | base64decode}}"
방법 3: 임시 토큰 생성 (Kubernetes 1.24+)
# 24시간 유효한 토큰 생성
kubectl -n karmada-system create token mcm-console --duration=24h
오류 처리
일반적인 오류
| 오류 메시지 | 원인 | 해결 방법 |
|---|---|---|
| 토큰을 입력해주세요 | 토큰이 비어있음 | 유효한 토큰 입력 |
| 유효하지 않은 토큰입니다 | 토큰 형식 오류 또는 길이 부족 | 토큰을 다시 발급받아 입력 |
| 인증에 실패했습니다 | 토큰 만료 또는 권한 부족 | 새 토큰 발급 |
| SSO 초기화 중... | Keycloak 서버 연결 대기 | 잠시 기다리거나 토큰 로그인 사용 |
오류 해결 팁
- 토큰 복사 시 공백 주의: 토큰 앞뒤 공백이 포함되지 않도록 합니다.
- 토큰 만료 확인: 토큰이 만료되었다면 새로 발급받습니다.
- 권한 확인: ServiceAccount에 적절한 권한(ClusterRole)이 있는지 확인합니다.
- 브라우저 캐시: SSO 오류 시 브라우저 캐시를 삭제하고 다시 시도합니다.
로그아웃
MCM Console 우측 상단의 사용자 메뉴에서 로그아웃할 수 있습니다.
- 우측 상단 사용자 아이콘 클릭
- "로그아웃" 선택
- 로그인 화면으로 이동
세션 관리
- 로그인 세션은 브라우저를 닫아도 유지됩니다 (토큰이 로컬 스토리지에 저장됨).
- 토큰이 만료되면 API 호출 시 오류가 발생합니다.
- SSO 인증의 경우, Keycloak 세션 정책에 따라 관리됩니다.