Pergunta

Comecei a fazer algumas pesquisas sobre XACML e autorização externa. No momento, tenho um aplicativo existente que utiliza um modelo RBAC. No entanto, a implementação tem muitas deficiências (as funções não podem ser facilmente definidas, as funções são muito graduadas).

O XACML é uma boa alternativa para olhar? Existem aplicativos exisitng que mudaram para o XACML de uma origem do RBAC? Existem deficiências?

Foi útil?

Solução

Isenção de responsabilidade: Sou desenvolvedor da IBM e trabalho em nosso produto que usa o XACML extensivamente (Tivoli Security Policy Manager). Estou um pouco tendencioso em relação ao XACML.

Eu acho que o XACML é uma ótima alternativa, principalmente porque pode suportar quase qualquer modelo de segurança. Eu sugiro modelar sua solução RBAC existente no XACML (ver o perfil), em seguida, estendendo-o para incluir o controle de acesso de granulação mais fino, onde seus requisitos de negócios exigem.

A externalização do seu código de autorização para a política tem a vantagem adicional de poder modificar o modelo de segurança do seu aplicativo sem recompilá -lo.

Existem aplicativos exisitng que mudaram para o XACML de uma origem do RBAC?

Infelizmente, não estou ciente de nenhum exemplo específico, pelo menos sobre o qual posso falar publicamente. Há um projeto IBM interno que alocou um mês para implementar seu módulo de autorização, mas o fez em uma semana, externalizando -o usando nossa implementação XACML. Obviamente, isso é diferente do seu exemplo, pois foi um projeto de desenvolvimento "Green Fields", mas destaca que há benefícios a serem obtidos com a abordagem geral que você está considerando.

Outras dicas

Eu sou o arquiteto de segurança do WSO2 - que desenvolve o WSO2 Identity Server, um servidor de gerenciamento de identidade e direito de código aberto, com o XACML SUPORT.

Eu também acredito que o XACML é uma boa alternativa para externalizar a lógica de autorização do código do aplicativo. Recentemente, trabalhamos com poucos clientes [um deles está entre a Fortune 100] - mudando para o XACML de diferentes regras de autorização proprietária.

Eu concordo com meus colegas da IBM e WS02, respectivamente. Eu trabalho para axiomática. Focamos exclusivamente na autorização com base no XACML.

Temos clientes que se mudaram do RBAC para o ABAC. Alguns decidiram usar o perfil RBAC para XACML como uma etapa do meio (http://docs.oasis-open.org/xacml/3.0/xacml-3.0-rbac-v1-spec-cd-03-en.html). O interessante é que você pode usar sua infraestrutura RBAC existente para criar o ABAC no topo.

Ainda não vimos nenhuma falha. De qualquer forma, os clientes veem rapidamente o ROI com XACML: é mais barato e mais flexível. Você pode usar várias implementações (você pode misturar IBM, WS02 e Axiomatics e ainda funcionaria) e há um forte apoio do setor.

Confira a página XACML TC para obter mais informações: http://www.oasis-open.org/comithees/xacml/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top