# 서브계정 및 권한 관리 기능 개발

**Task ID:** T-002
**Status:** BACKLOG
**Importance:** MUST
**Complexity:** 6/10
**Urgency:** 7/10
**Dependencies:** T-001

## Description

# 설명
벤더사 마스터 계정 아래 팀원용 서브계정을 생성·초대·삭제하고 업무별 읽기/쓰기/관리자 권한을 설정해 UI와 API 접근을 제어합니다.
## 구현 상세
1. DB 설계 및 Migration(CI4)
   - `sub_accounts`, `sub_account_invites`, `sub_account_roles` 테이블 추가
   - 외래키, 인덱스 구성 및 Redis 캐시 전략 설계
2. Backend API(CI4)
   - SubAccountController에 CRUD, 초대 발송, 초대 수락/거절 메서드 구현
   - RoleController로 역할 생성/조회/수정/삭제 기능 구현
   - 미들웨어에서 권한 체크 로직 추가 (JWT 기반, role_permissions 활용)
3. BFF (Node.js)
   - 프론트엔드 전용 엔드포인트 정의 및 Node-level 권한 유효성 검사 추가
4. Frontend(Nuxt3 + Vuetify)
   - 서브계정 관리 UI 페이지 및 모달 컴포넌트 개발(excelUpload, confirmDialog 활용)
   - 초대 이메일 발송 로직, 역할별 UI 컴포넌트 활성화/비활성화 구현
   - Pinia store로 서브계정 상태 관리, middleware/auth.global.js에 권한 분기 추가
5. 알림 연동(WebSocket)
   - Socket.IO로 초대·역할 변경 알림 실시간 수신 처리
## 테스트 전략
- Backend 단위 테스트: API 엔드포인트 입출력, 권한 미들링 성공/실패 케이스 검증
- Frontend 유닛 테스트: 컴포넌트 렌더링, 버튼 활성화/비활성화 로직 커버리지 80% 이상
- E2E(Cypress): 서브계정 초대 이메일 링크 클릭, 계정 생성 후 UI 기능 접근 제어 검증

---

**Created:** 2025-07-17T02:02:42.157Z
**Updated:** 2025-07-17T02:02:42.157Z
