비디오: IBM 클라우던트 : 웹, 모바일, 인터넷에 최적화된 NoSQL 데이터베이스 솔루션 2024
NoSQL에서 데이터를 보안하는 가장 일반적인 방법 중 하나는 데이터베이스 유형에 따라 각 레코드 (또는 문서 또는 그래프)를 할당하는 것입니다)와 역할에 연결된 사용 권한 세트가 포함되어 있습니다. 이는 역할 기반 액세스 제어 또는 간단히 RBAC입니다.
문서 (집계) NoSQL 데이터베이스에 저장되는 웹 사이트의 보도 자료를 고려하십시오. 편집기 역할에는 문서에 대한 업데이트 권한이있을 수 있지만 공개 역할에는 읽기 권한 만있을 수 있습니다.
이 사용 사례는 role 권한이 아니라 user 권한을 지정해야합니다. 사용자는 하나 이상의 역할에 할당 될 수 있습니다. 따라서 사용자는 역할의 합계에 따라 사용 권한을 상속받습니다.
특정 기능을 수행 할 수있는 권한을 사용자에게 부여하기 위해 역할을 만들어야하는 것은 추가 작업처럼 보일 수 있지만이 접근법은 매우 유용합니다. 다른 부서로 이동하거나 완전히 퇴사 한 사용자를 생각해보십시오.
이 사용자에 대한 사용 권한을 언급하고 변경하거나 제거하는 모든 문서를 수동으로 확인하지 않아도됩니다. 대신 단일 작업에서 해당 사용자의 역할 할당을 변경하십시오. 역할 기반 액세스 제어 (RBAC)를 사용하면 보안 권한을 장기간 유지 관리하는 것이 훨씬 쉽습니다.
데이터베이스가 사용 권한 및 역할 상속을 처리하는 방법을 살펴보십시오. 연수생, 중학교 및 고령 보험자가있을 수있는 보험 회사의 보험업자를 고려해보십시오. 각자는 다양한 유형의 정보에 대한 액세스가 증가하고 있습니다.
연수 주선자에게 연수생이 배정 된 권한을 부여 할 수 있습니다. 그런 다음 주니어 보험업자의 모든 권한을 수석 보험업자에게 양도 할 수 있습니다. 그러나 이러한 모든 역할에 추가 권한을 추가하려는 경우 세 가지 동일한 변경을 수행해야합니다.
5 단계의 역할을한다면 5 부입니다. 또한 모든 시스템에는 이와 같은 많은 역할이 있습니다. 동일한 일상 업무를 반복해서 수행하는 것보다 나은 방법이 있습니다. 역할 상속.
일부 시스템에는 역할 상속이 포함됩니다. 이 경우 JuniorUnderwriter 역할은 TraineeUnderwriter 역할을 상속하고 SeniorUnderwriter 역할은 JuniorUnderwiter 역할을 상속합니다. 이제 모든 역할에 권한을 추가하기 위해 수행해야하는 작업은 TraineeUnderwriter 역할 (최저 수준의 상속)에만 추가하는 것입니다. 모든 역할은 권한을 상속합니다. 역할 상속은 이해하고 유지하는 것이 훨씬 쉽습니다.
역할 허용 논리는 일반적으로 OR 논리로 구현됩니다. 즉, RoleA, RoleB 및 RoleC의 세 가지 역할을 읽기 권한이있는 레코드에 할당하면 RoleA 또는 RoleB 또는 RoleC가있는 경우 사용자에게이 권한이 부여됩니다.레코드에 대한 읽기 권한을 할당하지 않으면 그 레코드에 대한 읽기 권한이없는 사용자는 없습니다 (물론 상속은 제외).