Methodieken #
In de loop van de jaren is een aantal methodieken ontstaan. Dit zijn werkwijzen, oftewel categorieën van oplossingen, niet concrete implementaties. Dit is de gangbare indeling van methodieken:
- Lijsten van gebruikers (ACL
)
- Rolgebaseerd (RBAC
)
- Attribuutgebaseerd (ABAC
)
- Policy-gebaseerd (PBAC
)
- Relatiegebaseerd ReBAC
We beschrijven de methodieken hier niet; volg de links voor meer information.
Vergelijking #
Er zijn eerder al goede beschrijvingen en vergelijkingen gemaakt:
- Door het project FDS is een position paper
gemaakt
- Onder GEMMA is een vergelijking
gemaakt.
Het is duidelijk dat ACL en RBAC op de schaal en in filosofie van het FDS niet voldoen.
Dan blijven ABAC, PBAC en ReBAC over. Deze lijken nogal op elkaar.
- ABAC is al lang geleden bedacht en beschrijft de ‘driepoot’-architectuur zoals in het plaatje boven.
- De term PBAC kwam later en gebruikt het woord policy om te benadrukken dat het om apart staande beleidsregels gaat. Dit sloot ABAC echter niet uit, en dekt in essentie de lading al. Volgens Wikipedia bijvoorbeeld zijn ABAC en PBAC hetzelfde.
- ReBAC op zijn beurt schuift relaties naar de voorgrond, maar in essentie zijn relaties een categorie van eigenschappen.
Voor ons zit de essentie in de overeenkomsten:
- Regels worden apart van broncode geschreven, en met dezelfde zorgvuldigheid beheerd als broncode (’policy as code’)
- Regels zijn fijnmazig (’fine grained access control’), door gebruik te kunnen maken van eigenschappen van de vrager (‘subject’), de vraag (‘actie’), de context en het antwoord (‘resource’)
- Regels worden real-time toegepast, dus niet alleen bij login.
Externalized access management #
De term ‘Externalized access management’ kan als overkoepelend begrip gebruikt worden. De toegangscontrole is buiten de applicaties geplaatst, hetgeen de volgende voor ons belangrijke principes faciliteert:
- ‘Zero-trust’. Controleer toegang op elke plek waar interactie tussen systemen plaatsvindt en er dus een risico op onrechtmatige toegang is.
- Centraal beheerd, lokaal toegepast. Regels kunnen complex zijn en het beheer ervan vraagt kennis en tooling. Tegelijk moet toegang efficient bepaald worden om te voorkomen dat prestaties belemmerd worden. Door gedistribueerde systemen te gebruiken zijn beide tegelijk mogelijk.
Onderstaande video beschrijft het veld.