2007년 7월 10일 화요일

Solaris 활용하기 (RBAC)

참조 : http://docs.sun.com/app/docs/doc/819-3321/6n5i4b773?a=view


RBAC(Role Based Access Control)

RBAC는 Role Based Access Control의 약자로서 Solaris 의 보안체계 중
하나입니다. RBAC는 특정 application이나 task에 접근하는 user에게
접근권한을 부여 또는 금지하는 기능을 갖춘 체계를 의미합니다. 기존의
UNIX 계열의 all-or-nothing 체제의 관리시스템과는 다르게 권한을 각각
독립적으로 부여해서 훨씬 유연하게 관리를 할 수 있다는 장점이
있습니다. UNIX의 유저 관리 체계와 Solaris의 RBAC 모델의 차이점을
알아보고 RBAC에 대한 간략한 concept을 소개하고자 합니다.

1. UNIX

유닉스 체제하에서 root user(super user)는 시스템을 통제/관리할
수 있는 전권을 가집니다. Root유저는 시스템에 관련된 모든 활동(파일 관리,
프로세스 관리, 디바이스 관리 etc)이 가능합니다. 모든 활동이 가능하기
때문에 root user가 아닌 타 user가 root 권한을 어떠한 경로를 통해서
획득했을 때, 획득한 유저는 시스템을 임의로 바꿀 수 있게 됩니다.
또한 이러한 관리자의 역할을 유연하게 가져갈 수 있는 컨셉이 부족합니다.

2. RBAC

UNIX와는 다르게 Solaris의 RBAC 체제는 위에서 언급한 UNIX 체제를 보완하기
위해 root user외에 특정 역할을 수행할 수 있는 role의 개념을 도입했습니다.
Solaris 의 관리 모델은 특정 역할을 만들고 이러한 권한이 분산된 체계를
통해 유연하고 안전하게 관리할 수 있다는 장점을 가집니다.

RBAC 체계의 이해를 위해서는 Profiles, Role, User에 대한 정의를 내릴 필요가
있습니다.



  • Profile : RBAC 체계의 profile은 super user의 권한들을 세분화해서 정리한 것을 의미합니다. 예를 들어 네트워크에 대한 관리자의 권한 자체를 profile이라고 볼 수 있겠습니다.

  • Role : Role은 위에서 언급한 profile들을 알맞게 묶어서 하나의 가상 역할을 정의한 것을 의미합니다. 예를 들어 "Network Administrator"라고 정의된 Role은 Super user의 네트워크에 대한 profile들을 수행할수 있도록 승인된 역할이라고 보면 되겠습니다.

  • User : Solaris의 RBAC 시스템은 이렇게 정의된 Role을 User에게 부여함으로서 특화된 권한을 지니는 유저가 발생할 수 있도록 합니다. 예를 들어 Network Administrator의 역할을 User A에게 부여했다고 가정했을 경우 user A 는 일반 유저이지만 네트워크에 대해서는 관리자로서의 권한이 주어진다고 얘기할 수 있습니다.


위에서 살펴본 것처럼 Solaris의 RBAC은 Super User의 권한을 분산시켜서 시스템을 관리해 나가는 방식을 취하고 있고 보안적인 측면이나 효율성 측면에서 향상된 기능을 제공하고 있음을 살펴볼 수 있었습니다.



댓글 없음: