Wat is een rol?
Concept
Een rol is een verzameling van lees- & bewerkingsrechten op het niveau van configuratie-items. Het regelt de toegang tot de inhoud van een dossier (formulieren, communicaties, taken & mijlpalen). Rollen worden gedefinieerd op het niveau van de applicatie. Nadat een configurator deze rollen heeft opgezet in Studio, kunnen ze worden aangewend om dossierautorisaties te bouwen voor specifieke gebruikers in het backoffice adminscherm.
Rollen zijn een cruciaal onderdeel van de applicatie:
Ze bepalen welke dossierinhoud een gebruiker kan inkijken.
Ze bepalen welke dossierinhoud een gebruiker mag bewerken.
Rollen toewijzen
Het toewijzen van rollen gebeurt op een verschillende manier voor frontoffice en backoffice gebruikers:
Backoffice gebruikers: de beheerder moet voor elke gebruiker de gepaste dossierautorisaties opbouwen en daarbij gebruik maken van de rollen die binnen Studio zijn gedefinieerd. Typische rollen zijn dossierbehandelaar en dossierexpert. Dit gebeurt in het adminscherm van de backoffice.
Frontoffice gebruikers: gebruikers die het proces starten en hun aanvraag doorsturen, krijgen meestal de rol van aanvrager binnen hun eigen specifieke dossier. Deze rol wordt automatisch toegewezen bij het opstarten van het proces vanuit de frontoffice. Dit moet worden ingesteld in de dossiertype instellingen. Zoek naar de instelling
Rol voor dossierstarter
.
Volledige of fijnmazige toegangsrechten
Elke rol kan van twee types zijn.
Volledige toegangsrechten (geen FGA): lees- en bewerkingsrechten voor alle inhoudsitems binnen de applicatie.
Fijnmazige toegangsrechten (FGA): individuele configuratie van lees- en bewerkingsrechten voor elk inhoudelijk item (formulieren, communicatie, taken & mijlpalen) binnen de applicatie.
Vanuit het oogpunt van gegevensbeveiliging wordt het sterk aanbevolen om FGA rollen te configureren. Rollen die bedoeld zijn voor frontoffice gebruikers (bijvoorbeeld de aanvragersrol) zouden alleen lees- en bewerkingsrechten moeten hebben voor een beperkt aantal contentitems (niet meer dan strikt noodzakelijk). De reden hiervoor is dat, hoewel de frontoffice slechts een beperkte weergave binnen de applicatie biedt, de gebruiker alle content items waarvoor lees- & bewerkingsrechten zijn toegekend, kan opvragen via de inspect element tool van de browser.
Voorbeeld roldefinitie
In het onderstaande diagram zijn drie verschillende rollen zichtbaar.
Een dossierbehandelaar rol: lees- en bewerkingsrechten voor inhoudsitems binnen dossiertype A, geen voor inhoudsitems binnen dossiertype B.
Een adviserend expert rol: lees- en bewerkingsrechten voor een specifiek formulier binnen dossiertype B, leesrechten voor alle andere inhoudsitems binnen dat dossiertype, en geen lees- of bewerkingsrechten voor inhoudsitems van dossiertype A.
Een diensthoofd rol: geen FGA, d.w.z. onbeperkte lees- & bewerkingsrechten voor alle inhoudsitems, ongeacht hun dossiertype.
Formaat
Voorbeeld FGA volgens black list principe
Een roldefinitie wordt vastgelegd in een JSON-bestand. Hieronder staat een voorbeeld van een rol die lees- en bewerkingsrechten heeft voor alle inhoudsitems binnen de applicatie, behalve voor de items die op de lijst staan (black list principe).
Merk op dat de JSON beschrijving van de rol geen notie van dossiertypes kent.
{
"key": "caseHandler",
"name": "Case handler",
"canAssignTasksToOthers": true,
"hasFullDossierAccess": false,
"dossierAccessRules": {
"attachmentsNotUploadedThroughForms": true,
"comments": true,
"milestones": {
"noRead": [],
"noEdit": []
},
"documents": {
"noRead": [
"versie",
"reservation",
"newForm",
"exampleForm",
"controleA",
"bookingRequest",
"beslissingA",
"aanvraagA"
],
"noEdit": [
"versie",
"reservation",
"newForm",
"exampleForm",
"controleA",
"bookingRequest",
"beslissingA",
"aanvraagA"
]
},
"tasks": {
"noRead": [
"Activity_1ae6ept",
"Activity_1luerpy",
"Activity_0g8stpa"
],
"noEdit": []
},
"communications": {
"noRead": [
"sd",
"emailB",
"email"
],
"noEdit": [
"sd",
"emailB",
"email"
]
}
}
}
Voorbeeld FGA met white list principe
Hieronder staat een voorbeeld van een rol die geen lees- en bewerkingsrechten heeft voor geen enkele van de inhoudsitems binnen de applicatie, behalve voor de items in de lijst (white list principe).
Merk op dat de JSON beschrijving van de rol geen notie van dossiertypes kent.
{
"key": "caseHandler",
"name": "Case handlerful",
"canAssignTasksToOthers": true,
"hasFullDossierAccess": false,
"dossierAccessRules": {
"attachmentsNotUploadedThroughForms": true,
"comments": true,
"milestones": {
"edit": [],
"read": []
},
"documents": {
"edit": [
"versie",
"reservation",
"newForm",
"exampleForm",
"controleA",
"bookingRequest",
"beslissingA",
"aanvraagA"
],
"read": [
"versie",
"reservation",
"newForm",
"exampleForm",
"controleA",
"bookingRequest",
"beslissingA",
"aanvraagA"
]
},
"tasks": {
"edit": [],
"read": [
"Activity_1ae6ept",
"Activity_1luerpy",
"Activity_0g8stpa"
]
},
"communications": {
"edit": [
"sd",
"emailB",
"email"
],
"read": [
"sd",
"emailB",
"email"
]
}
}
}
Extra context
Rollen worden gebruikt door de backofficebeheerder om dossierautorisaties aan te maken voor elke backoffice gebruiker. In combinatie met gebruikersinterfaceautorisaties zorgen deze dossierautorisaties ervoor dat backofficemedewerkers de juiste dossiertoegang en -bewerkingsrechten hebben. Uiteindelijk garandeert dit privacy (dossierinformatie is alleen beschikbaar op een 'need-to-know' basis) en bruikbaarheid (backoffice gebruikers krijgen de juiste hoeveelheid en type van informatie, niets meer, niets minder).
Een dossierautorisatie is een combinatie van twee verschillende elementen:
Dossier scope: bepaalt tot welke dossiers de gebruiker toegang heeft.
Rol: bepaalt lees- en bewerkingsrechten voor de inhoud van een dossier.
Let op: een rol bepaalt alleen lees- en bewerkingsrechten voor inhoudelijke items. Dit betekent niet noodzakelijk dat een gebruiker toegang heeft tot een dossier, omdat toegangsrechten worden bepaald door de dossier scope binnen een dossierautorisatie.