2014-10-27 19 views
5

dla potwierdzenia koncepcji Chcę przechowywać prawa. Wiem, że istnieją różne sposoby kontroli dostępu (DAC, MAC, RBAC, ..). Mój pierwszy pomysł polegał na korzystaniu z bazy danych, ale szukam bardziej utartych standardów, takich jak XACML, ale niestety nie byłem w stanie znaleźć prawdziwych alternatyw. dzięki za wszelkie tipps!Jak przechowywać prawa? alternatywy dla XACML

Odpowiedz

13

Najpierw cofnij się i spójrz na porównywalne pozycje.

W kontroli dostępu masz różne modele, które pojawiły się z czasem. Historycznie najpierw miałeś DAC i MAC. Miałeś pojęcie list kontroli dostępu (znany również jako kontrola dostępu na podstawie tożsamości lub IBAC).

Potem nagle jedyna tożsamość użytkownika przestała wystarczać. Zaczęliśmy organizować użytkowników w role i grupy. Doprowadziło to do stworzenia RBAC lub opartej na rolach kontroli dostępu, którą NIST sformalizował w standardzie.

Szybkie przewijanie do przodu 10+ lat i role już nie wystarczą. ACL i RBAC są zbyt zorientowane na użytkownika. Nie uwzględniają kontekstu ani relacji. Nie są wystarczająco drobnoziarniste. Pojawia się nowy model o nazwie ABAC lub kontrola dostępu oparta na atrybutach. NIST jest również w trakcie standaryzacji ABAC. ABAC jest w stanie wdrożyć dowolny typ wymagań kontroli dostępu i może obsłużyć atrybuty użytkownika, zasobów, działania i kontekstu.

Możesz przeczytać więcej na temat ABAC here.

A co z XACML? XACML - eXtensible Access Control Markup Language - jest implementacją modelu ABAC. Jest to najbardziej rozpowszechniona implementacja ABAC. Pytasz, czy istnieją alternatywy. Niektóre z nich przychodzą na myśl:

  • SecPal: to jest (było?) Inicjatywa badawcza Microsoft. Zgodnie z moją wiedzą, nie jest ona wykorzystywana poza badaniami.
  • Permis to oparty na regułach model kontroli dostępu. Nie jest też szeroko rozpowszechniony.
  • Firma Microsoft ma swój własny język dla systemu Windows Server o nazwie SDDL. Możesz przeczytać more on that from Microsoft.

W praktyce większość wdrożeń ABAC widziałem używać XACML lub mieszankę kodu domowego + RBAC. Nie trzeba dodawać, że ten ostatni nie jest tak naprawdę skalowalny i trudny do utrzymania.

Jeśli chcesz dowiedzieć się więcej, sprawdź następujące zasoby:

+0

pan obowiązek ujawnić swoją przynależność do produktów firmy podczas łączenia się spółek im. – meagar

+0

Które zawsze robię. W tej odpowiedzi nie zawierałem linku do produktu mojej firmy. –