Resposta longa:
Resumo:
Autorização - conjunto de {(usuário, recurso, ação)} Premission - par (recurso, ação)
Grupos são conjuntos de pessoas (usuário) Funções são definidas de permissão
Explicação: Grupos e papéis são um conceito confuso e confuso. Eu descobri que, se existe algum consenso, ambos são usados para conectar usuários e permissões (a capacidade de agir em algum recurso). Por fim, toda autorização está relacionada à conexão de um usuário, recurso e ação; por exemplo Jane e faça uma reserva no vôo 123 da American Airlines ... O usuário é Jane, o recurso é AA 123, e a ação é fazer reserva. Pense nisso como uma grande tabela 3D ou matriz ao longo de um lado que temos usuários, ao longo do outro temos recursos e ao longo do terceiro lado temos ações. Isso se torna grande muito rapidamente. Quanto mais finamente dividimos os recursos, maior o problema de administração.
Para tornar essa matriz menor, colocamos o usuário semelhante em grupos nomeados e os chamamos de grupos. Combinamos recursos, ações e permissões de chamadas, e combinamos conjuntos dessas permissões e as chamamos de funções. A ideia é tornar os lados (dimensões) da matriz menores. Agora podemos transformar a matriz antiga em uma das funções e grupos de conexão para gerenciar a autorização.
Descobri que esse modo de pensar sobre o problema torna isso possível. Infelizmente o mundo real é complexo e às vezes as pessoas querem administrar o sistema onde eles adicionam usuários a funções e recursos (recurso e ação) a grupos e essa conveniência é o que torna os papéis e grupos tão confusos.