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
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:
- my own personal blog
- mój osobisty SlideShare
- 1. Czym XACML 3.0 różni się od XACML 2.0?
- 2. Alternatywne alternatywy dla DbUnit.NET
- 3. Alternatywy dla popen/pclose?
- 4. Optymalizowanie alternatywy dla DateTime.Now
- 5. Alternatywy dla wzoru singleton?
- 6. Alternatywy dla chmurnego CDN?
- 7. Alternatywy dla Bootstrap dla Railsów
- 8. Darmowe alternatywy dla PowerGREP
- 9. Alternatywy dla marynowania
- 10. Alternatywy dla TOAD (Linux)
- 11. Alternatywy dla WCF
- 12. Darmowe alternatywy dla Kodów?
- 13. Alternatywy dla @VisibleForTesting
- 14. Alternatywy dla YQL
- 15. Alternatywy dla JUnit
- 16. Szukałem alternatywy dla JasperReports
- 17. Alternatywy dla Inflector.Net
- 18. Alternatywy dla ERB
- 19. Alternatywy dla iframe srcdoc?
- 20. Alternatywy dla serwera ArcGIS
- 21. Alternatywy dla członkostwa .Net
- 22. Alternatywy dla window.scrollMaxY?
- 23. Alternatywy dla selekcji wiśni
- 24. AWS S3 alternatywy dla chmury prywatnej
- 25. Jakie są alternatywy dla PlayN?
- 26. T-SQL dla każdej alternatywy?
- 27. Używanie Injection Dependency jako alternatywy dla Singletonów
- 28. Alternatywy dla JasperReports i BIRT
- 29. Alternatywy dla UI-routera AngularJS
- 30. Alternatywy dla pętli w R?
pan obowiązek ujawnić swoją przynależność do produktów firmy podczas łączenia się spółek im. – meagar
Które zawsze robię. W tej odpowiedzi nie zawierałem linku do produktu mojej firmy. –