Tilgangskontroll (PDP)
Tilgangskontroll (Policy Decision Point,PDP) er ansvarlig for å evaluere om brukere og systemer er autorisert til å utføre den forespurte operasjonen på en ressurs.
Policy Decision Point er implementert i tilgangskontrollkomponenten som er distribuert til Altinn-plattformen.
Policy Decision Point følger eXtensible Access Control Markup Language (XACML) versjon 3.0.
Dette betyr at reglene er definert i XACML Policies-filer og PDP evaluerer forespørselen basert på reglene.
PDP evaluerer kontekstforespørselen basert på standard XACML 3.0-atferd. Det er ingen spesifikk Altinn-atferd.
Policy Decision Point viser en metode som autoriserer beslutningsforespørselen.
PDP bruker den konfigurerte Context Handler for å berike beslutningsforespørselen med attributter om emnet, ressursen og miljøet.
Hvis forekomst-ID eller data-ID brukes som ressurs-ID, vil PDP bruke kontekstbehandleren til å identifisere riktig app-ID, forekomstens arbeidsflyttilstand og reporteId for den eksisterende ressursen.
For forespørsel for ikke-eksisterende forekomster vil appId-en bli brukt, og rapporteringsmottakeren er en nødvendig inndata.
XACML 3.0-konformitet
PDP prøver å følge XACML 3.0-standarden og har implementert noen samsvarstester. Målet er å implementere fullt ut all samsvarstest.
Det finnes ingen offisiell XACML 3.0-konformitetstest, men AT&T-undersøkelser gjorde noe tilgjengelig for OASIS i denne tråden.
Se våre tester her.
Testdata for samsvarstester finner du her, og offisiell beskrivelse av tester her.
Se Github 2818 for status på dekning av samsvarstest
PDP-flyt
Diagrammet nedenfor viser den detaljerte flyten.
Flow forklart
- Beslutningsforespørsel sendes til kontekstbehandler for berikelse
- Kontekstbehandler kaller PIP for ressursattributter
- Kontekstbehandler kaller PIP for emneattributter
- PRP Identifiserer riktig policy basert på ressursattributter i en beriket beslutningsforespørsel
- PDP identifiserer samsvarsregler
- PDP sjekker om det er noen samsvarende regler og returnerer interderminate hvis ikke
- Matcher reglene med emneattributter
- Bekreft samsvar og returner ubestemt hvis ikke
- Vurder eventuelle forhold i politikken
- Hvis betingelsen ikke samsvarer, returner ubestemt
- Legg til eventuelle forpliktelser til resultatet
- Returner beslutningsresultatet
Implementerings- og konstruksjonsdetaljer
Detaljer om implementering av PDP finnes under konstruksjonskomponenter for PDP.