역할 기반 엑세스제어(RBAC)란?

2024. 3. 20. 16:42
728x90

사용자에 따른 권한을 다르게 부여하고 접근할 수 있는 기능을 달리 하기 위하여 어떻게 해야할지 알아보다가 새로운 용어를 마주하였다.

아래 내용은 chat GPT 에게 궁금한 점을 물어보고 정리해서 업로드한 것이다.

역할 기반 엑세스 제어(RBAC) 란?

RBAC (Role-Based Access Control)는 개별 사용자의 역할에 따라 리소스에 대한 접근을 제어하기 위해 컴퓨터 시스템에서 사용되는 방법을 말한다.

RBAC 에서는 권한이 역할과 연결되고 사용자는 적절한 역할에 할당된다.

이를 통해 관리자는 개별 사용자 계정이 아닌 역할을 기반으로 리소스에 대한 액세스 권한을 부여하거나 취소할 수 있으므로 보안관리가 단순화된다.

 

RBAC 의 주요 구성요소

1. 역할

  • 조직 내의 특정 직무 또는 책임과 관련된 권한 그룹

2. 권한

  • 사용자가 리소스에 대해 수행할수 있는 작업으로, 데이터 읽기, 쓰기, 실행 또는 수정이 포함된다.

3. 사용자

  • 사용자는 시스템과 상호작용하는 개인 또는 법인을 말한다. 사용자에게는 역할이 할당되며 리소스에 대한 권한은 해당 역할과 연결된 권한에 따라 결정된다.

4. 액세스 제어

  • 엑세스 제어 메커니즘은 사용자의 역할 및 관련 권한을 기반으로 리소스에 대해 요청된 작업을 수행할수있는 권한이 사용자에게 부여되었는지 여부를 결정하여 보안정책을 시행한다.

RBAC 의 이점

1. 관리의 간소화

  • 개별 사용자가 아닌 역할에 권한을 할당하게 되어 액세스 제어 정책을 보다 쉽게 관리할 수 있다.
  • 즉, 사용자별로 따로 관리하는것이 아닌 사용자들을 그룹에 넣어 그룹 별로 권한을 관리할 수 있게 하는 것.

2. 확장성

  • 역할과 권한을 계층적으로 정의하여 크고 복잡한 조직을 수용하는데에도 효과적이다.
  • 마찬가지로 그룹에 대한 권한을 지정하면 되므로 사용자 한명 한명에 대한 권한 설정을 일일이 하지 않아도 이미 그룹에 부여된 권한을 그대로 부여해줄 수 있다.

3. 오류 감소

  • 개별 사용자에 대한 권한을 수동으로 관리하는 것에 비해 접근제어 정책의 오류 및 불일치 위험을 줄인다.
  • 개인으로 관리할때에는 같은 권한을 부여해야하는 사용자마다 따로 설정을 해야하기 때문에 오류 및 불일치의 위험이 있었으나 그룹으로 관리한다면 한번의 수정으로 모두가 같은 권한을 갖게 되므로 오류가 감소한다

4. 향상된 보안

  • RBAC는 최소 권한원칙을 적용하여 무단 액세스 또는 리소스 오용으로 인한 잠재적 피해를 최소화 하는데 도움이 된다.
  • 그룹별로 관리되므로 개인마다 권한을 다르게 부여하여 무단 액세스를 하거나 리소스를 오용하는 피해를 줄일 수있다.

 

RBAC 구현 방법

RBAC(역할 기반 액세스 제어) 시스템 구축에는 계획, 설계, 구현 및 테스트를 포함한 여러 단계가 포함된다.

 

1. 역할 및 권한 분리

  • 조직의 구조를 분석하고 사용자가 가질 수 있는 다양한 역할을 결정한다.
  • 각 역할이 수행해야하는 권한이나 작업을 식별한다.

2. RBAC 모델 설계

  • 역할 상속과 같은 역할에 대한 계층 구조 정의
  • 역할과 권한이 시스템 내에서 어떻게 저장되고 관리되는지 결정 (DB)

3. 사용자관리

  • 사용자 계정 생성, 업데이트 ,삭제 기능 구현
  • 직무 책임 또는 액세스 요구사항에 다른 적절한 역할 할당

4. 역할 관리

  • 역할 생성, 수정, 삭제 기능 개발
  • 역할에 권한을 할당하는 매커니즘 정의

5. 권한관리

  • 권한 정의 및 이를 역할과 연결하는 기능 구현
  • 역할에 적절한 액세스 수준이 있는지 확인하기 위해 권한 정의 세분화 검토

6. 액세스 제어 매커니즘

  • RBAC 기반으로 보안 정책을 시행하기 위한 개발
  • 리소스 액세스 시 사용자 권한을 확인하는 매커니즘을 구현

7. 어플리케이션 통합

  • 리소스 를 액세스 하기전 사용자가 올바르게 인증되었는지 확인하는 인증 매커니즘이 구현되어야함.

 

-> 이부분은 내가 직접 구현을 진행하면서 DB 설계를 어떻게 해야하는지 등 한번 다뤄봐야할 것 같다.

반응형

BELATED ARTICLES

more