Professional Documents
Culture Documents
plataformas multi-domínios
Agosto 2016
Contexto
Introdução
Modelo Lógico
Neste modelo, define-se cinco classes que constituem a base para a construção
do componente.
A classe UserBean representa os usuários do sistema. Além de seus próprios
atributos, há uma lista de elementos RoleBean, com relacionamento muitos para
muitos. A classe RoleBean representa cada papel (ou grupo de usuários) a ser
gerenciado, e além de seus atributos necessários, possui uma lista de elementos do tipo
UserBean e ProtectedResourceBean. A classe ProtectedResourceBean é responsável
pelos pontos de controle de acesso que serão verificados na aplicação cliente. Os
objetos dessa classe definem a granularidade do controle de acesso e a classe possui
uma lista de elementos do tipo RoleBean, também com relacionamento muitos para
muitos.
Para suportar a extensão do modelo RBAC original (suporte a múltiplos
domínios), são incluídas duas novas classes e a primeira nova classe é denominada
DomainBean, e representa cada subsistema ou domínio de aplicação para o qual se
deseja gerenciar permissões. A segunda classe se chama AssignedRoleBean, e
representa a “atribuição de uma Role a um User para determinado Domain”. A Fig 1
ilustra melhor o modelo lógico.
Fig 1 – Diagrama de Classe do Modelo Lógico
Modelo Físico
Todas as classes constituintes do sistema são mapeadas por tabelas em uma base
de dados, garantindo a persistência das informações. Relacionamentos múltiplos utiliza
tabelas intermediárias, como se pode ver na Fig. 2.
A concessão ou revogação de cada permissão para um determinado papel é
gerenciada pelos registros da tabela rbac_permission. As associações entre usuários e
papéis seguem o mesmo método, e são registradas na tabela rbac_role_user. E para a
extensão do modelo para suporte a multi-domínios, é criada a tabela rbac_domain, e
rbac_assigned_role substitui a tabela de relacionamento usuário-papel.
Fig. 2 – Diagrama Entidade Relacionamento do Modelo Físico
Implementação
Conclusão e Continuidade
Referências
FERRAIOLO, D.F., KUHN, D. R., Role-Based Access Controls, 15th National Computer
Security Conference (1992). Baltimore, Oct 13-16, 1992, pp. 554-563
BRAGA, R.T.V, FELONI, D., PACINI, K., SCHETTINI FILHO, D., GOTTARDI, T., AIRES: An
Architecture to Improve Software Reuse, 15th International Conference, 2016, pp. 231-
246
SANDHU, R., FERRAIOLO, D.F., KUHN, D. R., The NIST Model for Role-Based Access
Control: Towards A Unified Standard, 200
http://csrc.nist.gov/groups/SNS/rbac/
http://csrc.nist.gov/groups/SNS/rbac/documents/ferraiolo-kuhn-92.pdf