🔐 역할과 권한 체계 (RBAC)
파트너포털은 역할(Role) 기반 접근 제어(RBAC) 로 "누가 무엇을 할 수 있는지"를 통제합니다. 모든 사용자는 하나의 역할을 가지며, 역할에 따라 파일 업로드·승인, 프로젝트·사용자 관리, 디카이브 열람, 회의 관리 등 개별 권한의 보유 여부가 결정됩니다. 이 문서는 5개 역할과 각 역할이 가진 권한을 한눈에 비교하고, 권한 상승을 막는 잠금 권한과 승인 흐름을 좌우하는 승인주체 개념까지 정리합니다.
💡 권한은 역할 단위로 일괄 부여됩니다. 같은 역할의 사용자는 동일한 권한을 가지며, 사용자별로 권한을 따로 켜고 끄지 않습니다.
이 문서에서 다루는 내용
- RBAC 기본 개념 - 역할과 권한
- 5개 역할 한눈에 보기
- 권한 매트릭스 (역할 × 권한 전체 표)
- 권한 카테고리별 상세 - 파일 / 운영 관리 / 회의 / 데이터·디카이브
- 잠금 권한(권한 상승 방지)
- 승인주체 전환과 파일 승인 권한
- 자기 업로드 승인 금지 규칙
- 자주 묻는 질문
1. RBAC 기본 개념: 역할과 권한
RBAC는 두 가지 요소로 구성됩니다.
| 요소 | 의미 | 예시 |
|---|---|---|
| 역할(Role) | 사용자에게 부여되는 신분·직책 | 관리자, 팀장, 파트너 |
| 권한(Permission) | 특정 동작을 수행할 수 있는 자격 | 파일 업로드, 파일 승인, 사용자 관리 |
각 역할에는 미리 정의된 권한 묶음이 연결되어 있습니다. 사용자가 어떤 화면의 버튼을 누르거나 데이터를 열람하려 하면, 시스템은 그 사용자의 역할이 해당 권한을 보유하는지를 확인한 뒤 허용 또는 차단합니다.
권한은 사용자 → 역할 → 권한 순으로 이어집니다.
| 단계 | 내용 |
|---|---|
| 사용자 | 역할을 하나 가집니다 |
| 역할 | 여러 개의 권한과 연결됩니다 |
| 권한 | 화면·버튼·데이터 접근을 허용하거나 막습니다 |
사용자에게 권한을 하나씩 붙이는 방식이 아니라 역할을 통해 부여하므로, 역할만 바꾸면 관련 권한이 한 번에 바뀝니다.
💡 권한 검사는 화면(버튼 노출)과 서버(실제 처리) 양쪽에서 이루어집니다. 화면에 버튼이 보이지 않아도, 우회 요청은 서버에서 한 번 더 차단됩니다.
2. 5개 역할 한눈에 보기
파트너포털에는 5개의 기본 역할이 있습니다. 크게 플랫폼 운영(슈퍼관리자), 고객사 내부(관리자·팀장·팀원), 외부 협업(파트너) 세 계층으로 나뉩니다.
| 역할 | 계층 | 한 줄 정의 |
|---|---|---|
| 슈퍼관리자 | 플랫폼 운영 | 서비스 전체를 운영하는 최고 권한. 고객사에는 부여되지 않음 |
| 관리자 | 고객사 내부 | 자기 회사(테넌트)의 최고 관리자. 회사 설정·구성원·권한 전반 관할 |
| 팀장 | 고객사 내부 | 프로젝트와 팀원을 관리하는 내부 직책 |
| 팀원 | 고객사 내부 | 배정된 프로젝트에서 실무를 수행하는 내부 직책 |
| 파트너 | 외부 협업 | 회사 외부의 수행사·발주사 등 협업 상대. 배정된 프로젝트만 접근 |
2.1 역할 계층(등급)
역할에는 상하 등급이 있습니다. 등급이 높은 역할은 낮은 역할의 권한을 대체로 포함하며, 사용자 역할을 변경할 때는 자기 등급 이하로만 부여할 수 있습니다.
💡 슈퍼관리자는 서비스를 제공하는 운영 주체 전용 역할로, 일반 고객사 계정에는 나타나지 않습니다. 고객사 안에서 가장 높은 역할은 관리자입니다.
3. 권한 매트릭스 (역할 × 권한 전체 표)
아래 표는 역할별로 어떤 권한을 기본 보유하는지 정리한 것입니다. ✓ = 보유, ✗ = 미보유입니다.
| 권한 | 슈퍼관리자 | 관리자 | 팀장 | 팀원 | 파트너 |
|---|---|---|---|---|---|
| 파일 업로드 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 파일 승인/반려 | ✓ | ✓ | ✓ | ✗ | ✓ |
| 파일 강제 처리(override) | ✓ | ✗ | ✗ | ✗ | ✗ |
| 프로젝트 관리 | ✓ | ✓ | ✓ | ✗ | ✗ |
| 사용자 관리 | ✓ | ✓ | ✓ | ✗ | ✗ |
| 사용자 역할 변경 | ✓ | ✓ | ✗ | ✗ | ✗ |
| 권한 관리(RBAC) | ✓ | ✓ | ✗ | ✗ | ✗ |
| 구독·결제 관리 | ✓ | ✓ | ✗ | ✗ | ✗ |
| 테넌트 삭제 | ✓ | ✗ | ✗ | ✗ | ✗ |
| 디카이브 접근 | ✓ | ✓ | ✓ | ✓ | ✗ |
| 회의 신청 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 회의 수정 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 회의 삭제 | ✓ | ✓ | ✓ | ✗ | ✗ |
| 회의록 등록 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 사용자 데이터 열람 | ✓ | ✓ | ✓ | ✗ | ✗ |
| 프로젝트 데이터 열람 | ✓ | ✓ | ✓ | ✓ | ✓ |
💡 위 표는 기본값입니다. 일부 권한(특히 파일 승인)은 회사의 승인주체 설정(6장)에 따라 실제 동작이 달라질 수 있습니다.
4. 권한 카테고리별 상세
권한은 성격에 따라 네 묶음으로 나눠 보면 이해가 쉽습니다.
4.1 파일 관련 권한
| 권한 | 설명 | 보유 역할 |
|---|---|---|
| 파일 업로드 | 산출물·문서를 올리고 새 버전을 등록 | 전 역할(슈퍼관리자·관리자·팀장·팀원·파트너) |
| 파일 승인/반려 | 제출된 파일을 검토해 승인 또는 반려 | 슈퍼관리자·관리자·팀장·파트너 (팀원 제외) |
| 파일 강제 처리 | 일반 승인 절차를 무시하고 강제로 처리 | 슈퍼관리자만 |
업로드하면 검토 대기 가 되고, 여기서 두 갈래로 나뉩니다.
- 승인 → 확정됩니다
- 반려 → 사유가 전달되고, 보완해서 새 버전을 올리면 다시 검토 대기로 돌아옵니다
승인 권한이 어느 쪽에 있는지는 회사 설정의 승인주체를 따릅니다.
⚠️ 팀원은 파일을 올릴 수는 있지만 승인/반려는 할 수 없습니다. 검토는 상위 역할 또는 승인 권한을 가진 측이 담당합니다.
4.2 운영·관리 권한
| 권한 | 설명 | 보유 역할 |
|---|---|---|
| 프로젝트 관리 | 프로젝트 생성·수정, 팀 배정 | 슈퍼관리자·관리자·팀장 |
| 사용자 관리 | 구성원 조회·관리 | 슈퍼관리자·관리자·팀장 |
| 사용자 역할 변경 | 구성원의 역할(등급) 변경 | 슈퍼관리자·관리자 |
| 권한 관리(RBAC) | 역할·권한 설정 관할 | 슈퍼관리자·관리자 |
| 구독·결제 관리 | 요금제·결제 정보 변경 | 슈퍼관리자·관리자 |
| 테넌트 삭제 | 회사(테넌트) 자체 삭제 | 슈퍼관리자만 |
💡 팀장은 프로젝트와 구성원을 "관리"할 수 있지만, 구성원의 역할을 바꾸는 것은 관리자 이상만 가능합니다. 등급 변경은 조직 운영에 직접 영향을 주므로 더 높은 권한이 필요합니다.
4.3 회의 관련 권한
| 권한 | 설명 | 보유 역할 |
|---|---|---|
| 회의 신청 | 새 회의 생성·요청 | 전 역할 |
| 회의 수정 | 일정·내용 변경 | 전 역할 |
| 회의록 등록 | 회의 기록 작성·첨부 | 전 역할 |
| 회의 삭제 | 회의 자체 삭제 | 슈퍼관리자·관리자·팀장 |
💡 회의 삭제만 상위 역할로 제한됩니다. 팀원과 파트너는 회의를 만들고 수정하고 기록할 수 있지만, 이미 만들어진 회의를 삭제할 수는 없습니다.
4.4 데이터·디카이브 접근 권한
| 권한 | 설명 | 보유 역할 |
|---|---|---|
| 디카이브 접근 | 디카이브(자료 보관·검색 영역) 열람 | 슈퍼관리자·관리자·팀장·팀원 (파트너 제외) |
| 사용자 데이터 열람 | 구성원 데이터 조회 | 슈퍼관리자·관리자·팀장 |
| 프로젝트 데이터 열람 | 프로젝트 데이터 조회 | 전 역할 |
⚠️ 파트너는 외부 협업 상대이므로 디카이브에 접근할 수 없고, 사용자 데이터도 볼 수 없습니다. 파트너는 자신이 배정된 프로젝트 데이터까지만 열람합니다.
5. 잠금 권한 (권한 상승 방지)
권한 중 일부는 잠금(Locked) 권한으로 지정되어 있습니다. 잠금 권한은 회사 관리자가 임의로 다른 역할에 부여하거나 회수할 수 없으며, 권한 관리 화면에서도 회색으로 비활성화되어 표시됩니다.
5.1 잠금 권한 목록
| 잠금 권한 | 이유 |
|---|---|
| 파일 강제 처리(override) | 승인 절차 자체를 건너뛰므로 오남용 시 통제 무력화 |
| 사용자 역할 변경 | 자기보다 높은 등급을 임의 부여하면 권한 상승 위험 |
| 권한 관리(RBAC) | 권한 체계 자체를 바꾸는 메타 권한 |
| 구독·결제 관리 | 비용·계약에 직접 영향 |
| 테넌트 삭제 | 회사 데이터 전체를 영구 삭제하는 비가역 동작 |
5.2 왜 잠그는가
이 권한들은 모두 "권한을 가진 사람이 스스로 더 큰 권한을 만들어 낼 수 있는" 위험을 내포합니다. 예를 들어 사용자 역할 변경 권한이 자유롭게 부여된다면, 누군가 자신을 최고 등급으로 올려 통제를 벗어날 수 있습니다. 이를 막기 위해 잠금 권한은 역할에 고정되어 있으며 회사 단위에서 토글할 수 없습니다.
| 일반 권한 (편집 가능) | 잠금 권한 🔒 |
|---|---|
| 파일 업로드 | 파일 강제 처리 |
| 프로젝트 관리 | 사용자 역할 변경 |
| 디카이브 접근 | 권한 관리 |
| 회의 신청·수정·삭제 | 구독·결제 관리 |
| 데이터 열람 |
🔒 잠금 권한은 관리자도 임의로 바꿀 수 없습니다. 계정 탈취나 내부 오조작이 곧바로 큰 사고로 번지지 않게 막아 둔 항목입니다.
💡 잠금 권한은 "안전장치"입니다. 가장 위험한 동작일수록 더 높은 권한 또는 운영 정책으로만 통제되도록 설계되어 있습니다.
6. 승인주체 전환과 파일 승인 권한
파일 승인/반려는 회사마다 흐름이 다를 수 있습니다. 그래서 파트너포털은 회사 단위로 승인주체(Approval Authority) 를 설정할 수 있습니다. 이 설정은 회사 설정 화면에서 관리자가 전환합니다.
6.1 두 가지 승인주체 모드
| 모드 | 업로드(제출) | 승인(검토) | 적합한 상황 |
|---|---|---|---|
| 파트너 승인(기본) | 회사 내부(관리자·팀장·팀원) | 파트너 | 내부가 산출물을 올리고 외부 파트너(발주사)가 검수·승인하는 구조 |
| 관리자 승인 | 파트너(수행사) | 회사 내부(관리자·팀장 등) | 외부 수행사가 산출물을 올리고 회사 내부(발주사)가 승인하는 표준 구조 |
| 모드 | 올리는 쪽 | 승인하는 쪽 |
|---|---|---|
| 파트너 승인 (기본) | 내부 (관리자·팀) | 파트너 |
| 관리자 승인 | 파트너 (수행사) | 내부 (관리자·팀장) |
6.2 승인주체에 따라 승인 권한이 달라진다
3장의 권한 매트릭스에서 "파일 승인/반려"는 기본값일 뿐이며, 실제로 누가 승인 버튼을 쓸 수 있는지는 승인주체 설정이 최종 결정합니다. 승인자는 항상 "권한을 가진 측"이고, 제출자는 그 반대 측입니다.
| 승인주체 모드 | 승인자 측(승인 버튼 노출) |
|---|---|
| 파트너 승인 | 파트너 |
| 관리자 승인 | 회사 내부 - 관리자·팀장(및 슈퍼관리자) |
6.3 전환 시 주의
승인주체는 회사 설정 화면에서 관리자만 변경할 수 있습니다. 진행 중인 승인 건이 있는 동안에는 혼란을 막기 위해 전환이 제한될 수 있습니다.
⚠️ 승인주체를 바꾸면 승인 버튼이 보이는 대상과 승인 요청 알림의 방향이 함께 바뀝니다. 운영 중 전환은 신중히 결정하세요.
7. 자기 업로드 승인 금지 규칙
승인주체와 무관하게 적용되는 핵심 안전 규칙이 있습니다. 자신이 속한 측이 올린 파일은 자기 측이 승인할 수 없습니다.
| 상황 | 결과 |
|---|---|
| 파트너가 업로드 → 내부가 승인 | ✅ 허용 |
| 내부가 업로드 → 내부가 승인 | ❌ 차단 (같은 측) |
셀프 컨펌 방지입니다. 올린 쪽과 승인하는 쪽이 달라야 합니다.
이는 "제출자와 승인자가 같으면 안 된다"는 통제 원칙을 시스템이 강제하는 것입니다. 따라서 승인 권한을 가진 역할이라도, 제출자 측이 올린 파일에 대해서만 승인/반려 버튼이 활성화됩니다.
💡 이 규칙 덕분에 한 사람이 올리고 스스로 승인하는 "셀프 승인"이 원천적으로 차단됩니다.
8. 자주 묻는 질문
Q. 팀원인데 파일 승인 버튼이 보이지 않아요.
정상입니다. 팀원은 파일 업로드는 가능하지만 승인/반려 권한이 없습니다. 검토·승인은 상위 역할 또는 승인주체로 지정된 측이 담당합니다.
Q. 관리자인데 권한 관리에서 일부 항목이 회색으로 잠겨 있어요.
강제 처리·역할 변경·권한 관리·결제·테넌트 삭제 같은 잠금 권한은 권한 상승을 막기 위해 고정되어 있어 임의로 켜고 끌 수 없습니다(5장 참고).
Q. 파트너는 왜 디카이브에 못 들어가나요?
파트너는 회사 외부의 협업 상대이므로 내부 자료 보관 영역인 디카이브와 사용자 데이터에는 접근하지 않습니다. 파트너는 배정된 프로젝트 데이터까지만 볼 수 있습니다.
Q. 승인주체를 관리자 승인으로 바꿨더니 파트너의 승인 버튼이 사라졌어요.
의도된 동작입니다. 관리자 승인 모드에서는 파트너가 제출자, 회사 내부가 승인자가 됩니다. 승인 버튼은 승인자 측에게만 노출됩니다(6장 참고).
Q. 내가 올린 파일을 내가 승인할 수 있나요?
아니요. 제출자와 같은 측은 그 파일을 승인할 수 없습니다(7장의 자기 업로드 승인 금지 규칙).
Q. 슈퍼관리자 역할은 왜 우리 회사에 안 보이나요?
슈퍼관리자는 서비스 운영 주체 전용 역할로, 개별 고객사 계정에는 부여되지 않습니다. 고객사 내 최고 역할은 관리자입니다.