사용자 관리
D.Hub의 사용자 관리 화면에서는 플랫폼에 등록된 사용자를 조회하고, 새로운 로컬 사용자를 생성하거나, 외부 IdP(Identity Provider)에서 사용자를 동기화할 수 있습니다. 사용자 삭제 및 비활성화 기능도 이 화면에서 제공됩니다.
관리자 권한이 있는 사용자만 이 페이지에 접근할 수 있습니다. 일반 사용자가 /settings/users 경로에 접근하면 권한 부족 안내가 표시됩니다.
접근 방법
사이드바 하단의 설정(Settings) 메뉴를 클릭한 후, 사용자 관리 탭으로 이동합니다. 해당 화면은 /settings/users 경로에 매핑되며, AdminRoute로 보호되어 관리자 역할을 가진 사용자만 접근할 수 있습니다.
사용자 목록
사용자 관리 화면에 진입하면 등록된 전체 사용자 목록이 테이블 뷰로 표시됩니다.
테이블 컬럼
| 컬럼 | 설명 |
|---|---|
| 사용자명 | 로그인에 사용하는 고유 식별자 |
| 이메일 | 사용자 이메일 주소 |
| 역할 | admin 또는 user |
| 인증 방식 | local (로컬 계정) 또는 oidc (SSO 계정) |
| 상태 | 활성(Active) 또는 비활성(Inactive) |
| 생성일 | 계정이 등록된 날짜 |
검색 및 필터링
목록 상단의 검색 바를 사용하여 사용자명 또는 이메일로 빠르게 검색할 수 있습니다. 추가로 다음 필터를 조합하여 원하는 사용자만 추려볼 수 있습니다:
- 상태 필터: 활성 / 비활성 사용자 구분
- 역할 필터: 관리자(admin) / 일반 사용자(user) 구분
- 인증 방식 필터: 로컬 계정 / OIDC 계정 구분
로컬 사용자 생성
사용자 목록 화면에서 + 사용자 추가 버튼을 클릭하면 로컬 사용자 생성 다이얼로그가 열립니다.
생성 필드
| 필드 | 필수 | 설명 |
|---|---|---|
| 사용자명 | ✅ | 로그인에 사용할 고유 식별자입니다. 영문 소문자, 숫자, 하이픈을 사용할 수 있습니다. |
| 이메일 | ✅ | 사용자의 이메일 주소입니다. 중복 등록이 불가합니다. |
| 비밀번호 | ✅ | 최소 8자 이상의 비밀번호입니다. Argon2 알고리즘으로 해싱되어 저장됩니다. |
| 역할 | ✅ | admin 또는 user 중 선택합니다. |
모든 필드를 입력한 후 Create 버튼을 클릭하면 사용자가 생성됩니다.
로컬 사용자는 사용자명과 비밀번호로 직접 로그인합니다. OIDC SSO가 구성된 환경에서도 로컬 계정을 별도로 생성하여 비상 접근용으로 활용할 수 있습니다.
OIDC 사용자
OIDC SSO가 구성된 환경에서는 사용자가 외부 IdP(Keycloak, Azure AD, Zitadel 등)를 통해 처음 로그인하면 자동으로 D.Hub에 등록됩니다. 이렇게 등록된 사용자는 인증 방식이 oidc로 표시됩니다.
OIDC 사용자의 특징:
- 비밀번호는 D.Hub에 저장되지 않으며, 인증은 외부 IdP에서 처리됩니다
- 사용자 프로필(이메일, 이름 등)은 IdP의 토큰 클레임에서 자동으로 가져옵니다
- 관리자가 D.Hub 내에서 역할을 별도로 지정할 수 있습니다
사용자 동기화
외부 IdP에 등록된 사용자를 D.Hub로 일괄 동기화할 수 있습니다. 사용자가 직접 로그인하지 않아도 관리자가 미리 사용자 목록을 확보할 수 있어, 접근 제어 사전 설정에 유용합니다.
동기화 절차
- 사용자 목록 화면에서 사용자 동기화 버튼을 클릭합니다
- 연결된 IdP(Keycloak, Azure AD, Zitadel)에서 사용자 목록을 조회합니다
- D.Hub에 아직 등록되지 않은 사용자가 자동으로 추가됩니다
- 이미 등록된 사용자의 프로필 정보(이메일, 이름)가 IdP 정보로 갱신됩니다
지원 IdP
| IdP | 동기화 방식 | 비고 |
|---|---|---|
| Keycloak | Admin REST API | Realm 내 전체 사용자 조회 |
| Azure AD | Microsoft Graph API | 테넌트 내 사용자 조회 |
| Zitadel | Management API | 조직 내 사용자 조회 |
동기화는 IdP → D.Hub 방향의 단방향 작업입니다. D.Hub에서 생성한 로컬 사용자가 IdP로 역동기화되지는 않습니다.
사용자 삭제 및 비활성화
사용자 비활성화
사용자를 즉시 삭제하지 않고 비활성화하여 로그인을 차단할 수 있습니다. 비활성화된 사용자는 목록에 남아 있으며, 이후 다시 활성화할 수 있습니다.
사용자 삭제
사용자 목록에서 삭제할 사용자를 선택한 후 삭제 버튼을 클릭합니다. 삭제된 사용자는 복구할 수 없습니다.
- 사용자가 소유한 리소스(Collection, Dataset, Pipeline 등)의 소유권이 변경되지 않습니다. 삭제 전에 리소스 소유권을 다른 사용자에게 이전하는 것을 권장합니다.
- OIDC 사용자를 D.Hub에서 삭제해도 IdP에서는 삭제되지 않습니다. 해당 사용자가 다시 SSO 로그인하면 자동으로 재등록될 수 있습니다.
다음 단계
| 문서 | 설명 |
|---|---|
| 그룹 관리 | 사용자 그룹 생성 및 멤버 관리 |
| 인증 및 접근 제어 | 로컬 인증, OIDC SSO, ReBAC 기반 접근 제어 |