2014-01-14 8 views
0

두 개의 매개 변수가있는 RBAC 시스템의 예 또는 모범 사례를 찾고 있습니다. 단순히 역할과 연관된 사용자 및 권한 그룹과 연관된 역할을 가지는 것보다; 사용자는 "특정 프로젝트에 대한"역할과 연관 될 수 있으며, 사용자는 해당 프로젝트 (또는 사용자가 해당 역할을 보유하고있는 다른 프로젝트)에 대한 해당 역할의 권한을 가질 수 있습니다. 사용자는 한 프로젝트에서 특정 역할을 가질 수 있고 다른 프로젝트에서는 다른 역할을 가질 수 있습니다. 역할에 부여 된 권한은 모든 프로젝트에 대해 일관성이 있습니다. 및 프로젝트에 대한 사용자 권한은 사용자가 프로젝트에서 수행 한 역할에 기반합니다.두 개의 매개 변수가있는 RBAC 시스템

(그것이 어떤 차이가 있다면,은 페이지의 콘텐츠가 GET 문을 통해 프로젝트 ID를 설정하는 URL 쿼리 매개 변수를 통해 개발 된 페이지에 대한 액세스를 제한하기 위해 노력하고있어.)

ABAC 유망 보이지만, 나는 그 머리를 감싸는 데 어려움을 겪고있다. 내 이해는 사용자의 특성이 사용자에게 역할 (및/또는 권한)이 있는지 여부를 지정한다는 것입니다. 내 경우에는 프로젝트가 "사용자"이고 내 사용자가 프로젝트의 속성으로 간주 할 수있는 것처럼 보입니다 (내 사용자가 해당 프로젝트의 역할을 맡는다면 true).

답변

0

If RBAC 표준을 고수하기를 원한다면 다른 프로젝트에 다른 역할을 사용해야합니다. 예를 들어 "P1"및 "P2"프로젝트에서 "admin"역할을 사용하는 경우 "P1 : admin"역할과 "P2 : admin"역할을 만들 수 있습니다.

ABAC은 실제로 또 다른 가능성입니다. 그러나 사용자를 올바르게 이해하면 "사용자의 특성에 따라 사용자의 역할 (및/또는 권한)이 있는지 여부가 결정됩니다."라고 말하는 것이 정확하지 않습니다. ABAC에는 속성 (역할 속성 임)이 있으며 RBAC보다 유연성이 높습니다. 요청에서 프로젝트를 나타내는 속성 ("P1"또는 "P2")과 특정 프로젝트의 역할을 나타내는 다른 속성 ("admin")을 가질 수 있습니다. 올바르게 지정된 정책은 예를 들어 "P1"프로젝트의 일부로 "admin"역할을 언급하고 있음을 인식 할 수 있습니다.

+0

RBAC 솔루션이 내 응용 프로그램에서 가장 간단하다고 생각합니다. 이는 [RBAC 역할 및 권한의 동적 생성] (http://stackoverflow.com/questions/21121606/dynamic-generation-of-rbac-roles-and-permissions)에 대한 질문으로 이어집니다. – jcropp

관련 문제