본문으로 건너뛰기

사용자와 권한

계정 상태, 역할, 매니저 세부 권한이 어떻게 맞물리는지.

1. 권한 모델 개요

Works의 접근 권한은 하나의 역할 값만으로 결정되지 않습니다. 요청에 따라 다음 정보를 조합합니다.

  • 사용자 활성 상태와 기본 역할
  • 조직 소속과 조직 계층
  • 관리자 세부 메뉴 권한
  • 프로젝트·채팅방·드라이브·위키 등의 멤버십
  • 콘텐츠 소유자와 공유 대상
  • OAuth 또는 개인 액세스 토큰의 scope
  • 시스템 설정과 라이선스에 따른 기능 활성화 상태

화면의 메뉴 제어는 사용성을 위한 1차 필터이며, 최종 접근 통제는 서버 API에서 수행해야 합니다.

2. 사용자 생명주기

등록

관리자는 사용자 계정과 다음 기준 정보를 등록합니다.

  • 사번, 이름과 로그인 식별자
  • 조직과 직책·직급
  • 입사일과 근무 정보
  • 기본 역할과 관리자 권한
  • 연락처와 프로필 정보

대량 등록과 조직 이동을 지원하는 관리자 기능을 사용할 수 있습니다.

재직 중 변경

조직 이동, 승진과 겸직 같은 변경은 인사 발령 및 사용자 정보에 반영됩니다. 프로젝트 멤버십이나 콘텐츠 공유 권한은 조직 권한과 별도로 유지될 수 있으므로 변경 시 함께 점검합니다.

비활성화와 퇴직

퇴직 또는 계정 비활성화 시 신규 로그인을 차단하고 세션을 폐기할 수 있습니다. 업무 데이터는 감사와 인수인계를 위해 별도 정책에 따라 보존합니다. 관리자 화면에서 퇴직 사용자를 분리해 관리합니다.

3. 기본 역할

코드에서 사용하는 대표 역할은 다음과 같습니다.

역할일반적인 범위
일반 사용자본인 및 공유받은 업무 기능
team_leader팀 단위 조회·검토가 필요한 일부 기능
manager부여된 관리자 메뉴와 관리 범위
admin대부분의 관리자 기능
superadmin시스템을 포함한 전체 관리자 기능

역할명만으로 모든 권한을 추론하지 않습니다. 특히 managermanagerPermissions에 포함된 관리자 메뉴만 접근할 수 있습니다.

4. 조직 권한

조직은 계층 구조로 관리되며 일정, 인사, 평가, 설문, 문서와 보고 범위의 기준으로 사용됩니다.

  • 사용자는 하나의 주 조직과 업무상 추가 정보를 가질 수 있습니다.
  • 리더·관리 라인은 업무일지 검토, 팀 현황과 평가 범위에 사용됩니다.
  • 조직 변경이 과거 데이터의 소유권을 자동 변경하지 않도록 도메인별 정책을 구분합니다.
  • 조직별 공개 기능은 대상 조직 ID와 사용자 ID를 함께 검증합니다.

5. 관리자 권한

관리자 기능은 섹션과 하위 메뉴 단위로 구성됩니다.

  • 조직·사용자
  • 업무 운영
  • 급여
  • 게시판·드라이브·채팅
  • AI·워크플로우
  • 시스템

adminsuperadmin은 넓은 접근 권한을 가지며, manager는 명시적으로 부여된 메뉴 키를 기준으로 접근합니다. 클라이언트 미들웨어와 서버의 관리자 검증을 함께 적용합니다.

6. 도메인별 권한

프로젝트

  • 조직 관리자
  • 프로젝트 생성자
  • 프로젝트 관리자 멤버
  • 일반 프로젝트 멤버
  • 태스크 담당자·공유 대상

프로젝트 조회, 설정 변경과 태스크 편집 권한을 구분합니다.

채팅

채팅방 참가자 또는 공개방 정책에 따라 접근합니다. 방 설정, 메시지 관리와 웹훅은 별도 관리자 권한을 요구합니다.

드라이브

  • 개인 드라이브 소유자
  • 팀 드라이브 멤버
  • 프로젝트 드라이브 멤버
  • 파일·폴더 공유 대상
  • 만료 가능한 외부 공유 링크

위키

공간 권한, 페이지별 권한과 부모 페이지에서 상속된 권한을 조합합니다. 개인 공간과 조직 공간을 구분합니다.

인사·급여

인사 기록과 급여는 일반 협업 데이터보다 엄격한 관리자 범위와 본인 조회 규칙을 적용합니다. 민감 데이터는 API 응답 필드도 최소화합니다.

7. API 권한

브라우저 세션

웹은 인증 쿠키를 사용합니다. 서버는 쿠키의 access token을 검증하고 필요할 때 refresh token으로 갱신합니다.

OAuth 클라이언트

네이티브 앱과 외부 클라이언트는 Bearer 토큰을 사용합니다. 토큰에는 허용된 scope가 포함되며 각 API는 필요한 읽기·쓰기 scope를 검증합니다.

대표 범주는 다음과 같습니다.

  • 사용자 프로필
  • 채팅 읽기·쓰기
  • AI 채팅
  • 프로젝트 읽기·쓰기
  • 할 일 읽기·쓰기
  • 휴가 읽기·쓰기

개인 액세스 토큰

사용자는 허용된 scope와 만료일을 지정해 개인 액세스 토큰을 만들 수 있습니다. 토큰 원문은 생성 시에만 표시하고 안전하게 보관해야 합니다.

8. 권한 변경 운영 원칙

  1. 최소 권한으로 시작합니다.
  2. 임시 관리 권한에는 종료 시점을 둡니다.
  3. 관리자 권한 변경은 감사 가능한 기록을 남깁니다.
  4. 퇴직·분실 기기 발생 시 세션과 토큰을 함께 폐기합니다.
  5. 외부 클라이언트에는 필요한 scope만 허용합니다.
  6. 메뉴 노출 여부만으로 서버 권한 검증을 대체하지 않습니다.

9. 관련 문서

  • 사용자 컬렉션 스키마
  • 보안과 데이터 보호
  • 연동과 API

관리자 가이드 문서 더 보기