역할 기반 액세스 제어(Role-Based Access Control)는 조직 내 애플리케이션 사용자 권한을 제어하는 것을 의미합니다. SaaS 애플리케이션에서 팀 기능을 처음 시작할 때 모든 사용자에게 모든 기능에 액세스할 수 있는 전체 권한을 부여하는 경우가 많습니다. 그러나 엔터프라이즈 규모에서 이용하는 대규모 애플리케이션의 경우, 팀원별로 업무 수행에 필요한 기능에만 접근할 수 있는 요구 사항이 있습니다. 따라서 SaaS 애플리케이션은 역할 기반 액세스 제어로 사용자 권한을 제어할 수 있어야 합니다.
가장 기본적인 RBAC 구성에서는 사용자를 읽기 전용으로 식별합니다. 권한에 따라 사용자가 접근할 수 있는 기능은 차등적으로 부여할 수 있습니다.
RBAC 표준 구성에서는 다양한 기능과 리소스에 대한 읽기-쓰기, 읽기 전용 또는 액세스 권한이 없는 역할에 세밀한 제어를 할 수 있습니다. 많은 B2B SaaS 회사에서 정의된 권한을 아래 예시처럼 만들 수 있습니다.
슈퍼 관리자 - 사용자를 수정할 수 있을 뿐만 아니라 모든 기능과 접근 권한을 수정할 수 있습니다.
결제 담당자 - 계정 청구 데이터를 수정할 수 있지만 사용자나 기능은 수정할 수 없습니다.
일반 사용자 - 제품의 모든 기능을 사용할 수 있지만 사용자를 수정하거나 청구 정보를 볼 수 있는 액세스 권한은 없습니다.
리포트 사용자 - 보고 기능에만 접근할 수 있으며 리소스를 별도로 수정할 수 없습니다.
특정 기능 사용자 - 사용자가 애플리케이션 특정 기능 하나만 사용하도록 제한합니다. 와탭의 경우, 알림 설정을 할 수 없는 일반 사용자와 슈퍼 관리자 한 명이 있습니다.
RBAC를 효과적으로 이용하기 위해서는 사용자 관리 체계를 만들고, 신규 사용자가 추가됐을 때 초대 프로세스를 정하는 것이 중요합니다. 조직에서 SaaS 서비스를 사용하는 사용자의 역할이 명확해야 서비스 접근 권한을 지속해서 관리할 수 있습니다.
또한, 신규 사용자를 초대할 때 사용자 초대 횟수를 정하는 것도 중요합니다. 신규 입사자를 서비스에 초대하려 해도 사용자 초대 횟수가 부족하다면 접근할 수 없는데요. 사용자 초대 횟수와 '사용자 초대' 버튼이 권한 부족으로 인해 비활성화되었음을 명확하게 표시하여, 비활성화됐는지 확인합니다.
와탭 역시 SaaS 기반으로 모니터링 서비스를 제공하고 있습니다. 따라서, 멀티 테넌트를 제공하고 있어 테넌트와 사용자의 관계가 1대 다수인 경우가 많습니다. 그렇기에 다양한 역할과 임무에 따라 테넌트 자원과 기능에 대한 접근 제어가 필요합니다. 와탭의 역할 기반 권한 체계를 위한 기본 계층 개념을 소개해 드리겠습니다.
프로젝트는 와탭의 모니터링 프로젝트는 모니터링 단위를 의미합니다. 프로젝트 단위로 모니터링 단위가 구분되는 것과 더불어 테넌트 권한도 관리됩니다. 프로젝트는 가장 기본 계층입니다. 프로젝트 사용자는 그룹 사용자를 상속받습니다. 그룹에 속한 사용자는 그룹 내 모든 프로젝트를 모니터링할 수 있습니다. 프로젝트에만 권한이 부여된 사용자라면 그룹 여부와 상관없이 해당 프로젝트만 모니터링할 수 있습니다.
그룹은 은 여러 개의 프로젝트를 관리할 때 그룹을 활용하면 도움이 됩니다. 예를 들어, 프로젝트가 2개 이상만 되어도 관리하기가 번거로워집니다. 각각의 프로젝트마다 사용자를 추가하거나 권한을 부여하려면 어떻게 해야 할까요? 이 경우 두 프로젝트를 하나의 그룹으로 묶고 그룹으로 사용자를 관리할 수 있습니다. 한 명의 사용자는 하나의 그룹으로 프로젝트 여러 개를 소유할 수 있습니다.
조직은 그룹을 묶을 수 있는 상위 그룹입니다. 대부분 상황에서는 프로젝트와 그룹만으로도 충분합니다.
와탭은 사용자에게 각 프로젝트, 그룹 별로 다른 권한을 유연하게 다른 멤버에게 부여할 수 있습니다.
자세한 내용은 와탭 기술 문서와 아래 콘텐츠에서도 확인할 수 있습니다.
RBAC는 시스템을 통해 멤버에게 적절한 권한을 부여하고, 서비스 접근을 제어함으로써 효율적으로 서비스를 운영할 수 있습니다. 뿐만 아니라, 멀티 테넌트를 채택하는 SaaS 서비스에서 데이터 접근을 효율적으로 통제할 수 있습니다. 조직 내부에서 SaaS 서비스를 효율적으로 사용하기 위해 역할 기반으로 권한을 제어하시는 걸 추천합니다.