Sist endret: 23. mai 2024

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.

PDP-flyt
PDP-flyt

Flow forklart

  1. Beslutningsforespørsel sendes til kontekstbehandler for berikelse
  2. Kontekstbehandler kaller PIP for ressursattributter
  3. Kontekstbehandler kaller PIP for emneattributter
  4. PRP Identifiserer riktig policy basert på ressursattributter i en beriket beslutningsforespørsel
  5. PDP identifiserer samsvarsregler
  6. PDP sjekker om det er noen samsvarende regler og returnerer interderminate hvis ikke
  7. Matcher reglene med emneattributter
  8. Bekreft samsvar og returner ubestemt hvis ikke
  9. Vurder eventuelle forhold i politikken
  10. Hvis betingelsen ikke samsvarer, returner ubestemt
  11. Legg til eventuelle forpliktelser til resultatet
  12. Returner beslutningsresultatet

Implementerings- og konstruksjonsdetaljer

Detaljer om implementering av PDP finnes under konstruksjonskomponenter for PDP.