Modelo de referência RBAC
O modelo RBAC permite que sejam impostas restrições na ativação de funções, de modo a impedir um usuário possua funções conflitantes. As funções podem ser organizadas de maneira hierárquica, gerando uma cadeia de herança de permissões.
O modelo de referência estabelece os conjuntos de entidades, os relacionamentos e as restrições. Está dividido em 4 componentes, conforme segue:
RBAC Básico:
O RBAC Básico incorpora os aspectos que caracterizam um modelo de controle de acesso como sendo um modelo para RBAC. É essencial que os usuários estejam associados a funções, que por sua vez estão associados às autorizações. Requer que as relações usuário–função e função–autorização sejam do tipo muitos-para-muitos. Introduz ainda o conceito de sessão, que permite ao usuário que a iniciou, a ativação e desativação simultâneas de mais de uma função.
RBAC Hierárquico:
O RBAC Hierárquico adiciona, ao RBAC Básico, requisitos para dar suporte às hierarquias de funções. Funções com maior responsabilidade adquirem as autorizações de funções com menor responsabilidade. Por outro lado, funções com menor responsabilidade também podem incorporar certas permissões de funções com maior responsabilidade. O RBAC Hierárquico admite duas formas possíveis de hierarquia, sendo, uma genérica, capaz de suportar uma ordem parcial arbitrária (que depende da escolha ou da vontade de alguém); e outra restrita, podendo suportar apenas estruturas como árvores ou árvores invertidas.
Relação de Separação Estática de Tarefas:
A Relação de Separação Estática de Tarefas (Static Separation of Duty Relations – SSD) entre funções é uma forma de estabelecer o conflito entre as atividades desempenhadas dentro de uma organização. Caso um usuário está na lista de membros de um “Função 1” e há um relacionamento de SSD entre o “Função 1” e um “Função 2”, este usuário não poderá ser incluído na lista de membros do “Função 2”.
Essa relação de SSD também deve ser respeitada pelo RBAC Hierárquico. Por exemplo, admita um cenário contendo três funções: 1, 2 e 3. Supondo que exista um conflito por SSD entre as funções 2 e 3 e que o “Função 1” herde da “Função 2”, então 1 e 3 também possuem um conflito por SSD entre si.
Relação de Separação Dinâmica de Tarefas:
De forma semelhante à Relação de Separação Estática de Tarefas, a Relação de Separação Dinâmica de Tarefas (Dynamic Separation of Duty Relations – DSD) também é utilizada para a limitação de permissões. No entanto, de forma menos restritiva, a DSD é criada no contexto dinâmico da ativação da sessão do usuário. Nesse caso, se um usuário está incluído na lista de membros da “Função 1” e há uma relação de DSD entre esta função 1 e a Função 2, o usuário também pode estar incluído na lista de membros do “Função 2”. Entretanto, durante uma sessão de usuário, ele não poderá assumir simultaneamente as duas funções. A relação de DSD é utilizada quando as funções não criam conflito quando agem de forma independente, mas apenas simultaneamente.
De forma similar às relações de SSD, as relações de DSD são especificadas com dois argumentos, o primeiro indicando o conjunto de funções e o segundo indicando a cardinalidade do conjunto.
RBAC Restrito:
O modo RBAC Restrito compõem os componentes Relação de Separação Estática de Tarefas e Relação de Separação Dinâmica de Tarefas.