본문으로 건너뛰기

1.3. 로그인 및 인증

개요

OPENMARU MCM Console에 접근하려면 유효한 인증 정보가 필요합니다. 두 가지 인증 방식을 지원합니다:

  1. SSO (Single Sign-On): Keycloak 기반의 통합 인증 (권장)
  2. 토큰 인증: Kubernetes 서비스 계정 토큰을 사용한 직접 인증

로그인 화면

OPENMARU MCM Console에 접속하면 로그인 화면이 표시됩니다.

로그인 화면

화면 구성 요소

요소설명
로고 및 타이틀Kubernetes 로고와 "MCM Console" 타이틀, "멀티 클러스터 관리 대시보드" 설명
SSO로 로그인 버튼Keycloak SSO 인증 버튼 (활성화된 경우만 표시)
구분선"또는" 텍스트로 SSO와 토큰 로그인 구분
토큰 입력 필드Kubernetes 토큰 입력 필드
토큰 표시/숨김 버튼👁 아이콘 클릭으로 토큰 내용 확인
토큰으로 로그인 버튼토큰 인증 수행 버튼
도움말 링크Karmada 공식 문서 링크

인증 방식

1. SSO 로그인 (Keycloak) - 권장

SSO(Single Sign-On)가 활성화된 환경에서는 SSO로 로그인 버튼이 표시됩니다.

사용 방법:

  1. SSO로 로그인 버튼을 클릭합니다.
  2. Keycloak 인증 페이지로 리다이렉트됩니다.
  3. 조직의 계정 정보로 로그인합니다.
  4. 인증 완료 후 OPENMARU MCM Console로 돌아옵니다.

장점:

  • 조직의 기존 계정을 사용하여 편리하게 로그인
  • 중앙 집중식 사용자 관리
  • 세션 관리 및 보안 정책 적용

참고: SSO 설정은 관리자가 구성합니다. SSO 버튼이 보이지 않는다면 토큰 인증을 사용하세요.

2. 토큰 로그인

Kubernetes ServiceAccount 토큰을 사용하여 인증합니다.

사용 방법:

  1. 토큰 입력 필드에 Kubernetes 토큰을 붙여넣습니다.

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

    토큰 표시
  3. 토큰으로 로그인 버튼을 클릭합니다.

  4. 인증 성공 시 대시보드 메인 화면(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 서버 연결 대기잠시 기다리거나 토큰 로그인 사용

오류 해결 팁

  1. 토큰 복사 시 공백 주의: 토큰 앞뒤 공백이 포함되지 않도록 합니다.
  2. 토큰 만료 확인: 토큰이 만료되었다면 새로 발급받습니다.
  3. 권한 확인: ServiceAccount에 적절한 권한(ClusterRole)이 있는지 확인합니다.
  4. 브라우저 캐시: SSO 오류 시 브라우저 캐시를 삭제하고 다시 시도합니다.

로그아웃

MCM Console 우측 상단의 사용자 메뉴에서 로그아웃할 수 있습니다.

  1. 우측 상단 사용자 아이콘 클릭
  2. "로그아웃" 선택
  3. 로그인 화면으로 이동

세션 관리

  • 로그인 세션은 브라우저를 닫아도 유지됩니다 (토큰이 로컬 스토리지에 저장됨).
  • 토큰이 만료되면 API 호출 시 오류가 발생합니다.
  • SSO 인증의 경우, Keycloak 세션 정책에 따라 관리됩니다.
  • 보안을 위해 사용 후 로그아웃하는 것을 권장합니다.

보안 권장사항

  1. 최소 권한 원칙: 필요한 권한만 가진 ServiceAccount를 사용하세요.
  2. 토큰 보안: 토큰을 안전하게 보관하고 공유하지 마세요.
  3. 정기적 토큰 갱신: 보안을 위해 주기적으로 토큰을 갱신하세요.
  4. SSO 사용 권장: 가능하면 SSO를 통한 인증을 사용하세요.

다음 단계

  • UI 개요 - Console 화면 구성 살펴보기
  • Overview - 대시보드 홈 화면 사용하기