Sist endret: 4. nov. 2025

Komponentarkitektur - Altinn Tilgangskontroll

Tilgangskontroll-komponenten i Altinn-plattformen er en ASP.NET Core 6 web API-applikasjon som driftes som en Docker-kontainer i Altinn-plattformens Kubernetes-klynge.

Se løsningssidene for detaljer om funksjonaliteten denne komponenten tilbyr.

Access Management
Construction Components Altinn Access Control

Diagrammet under viser hvor de ulike løsningskomponentene er plassert.

Autorisasjonskomponenten er bygget som en ASP.NET MVC-applikasjon som eksponerer API-er. API-ene kommuniserer med de ulike løsningskomponentene.

Diagrammet under viser dataflyten, inkludert PEP.

Data flow authorization
Data flow authorization

Decision API

Decision API-et orkestrerer beslutningsprosessen.

API-et støtter både XACML XML og XACML JSON Profile-forespørsler.

Se Decision Controller for kodedetaljer.

Policy Decision Point - PDP

Dette er implementert som et eget klassebibliotek som er publisert på NuGet.

Biblioteket inneholder alle modellene som er definert for XACML XML/JSON samt hjelpefunksjoner for å håndtere XACML-dokumenter.

Policy Decision Point er implementert i denne klassen.

Den forventer både beslutningsforespørsel og policy som input.

Policy Retrieval Point - PRP

Policy Retrieval Point-komponenten lagrer autorisasjonspolicyer for applikasjoner.

Policyene lagres som XACML (XML) dokumenter i en blob-lagring.

Når PDP mottar en autorisasjonsforespørsel, identifiserer PRP riktig policydokument i lagringen.

Se kode.

PRP er konfigurert som en tjeneste i autorisasjonskomponenten og kan enkelt erstattes med andre implementasjoner.

Context Handler

Context Handler beriker autorisasjonsforespørselen med informasjon om brukeren og ressursen. Roller hentes fra SBL Bridge, mens ressursinformasjon hentes fra Instances i lagringen.

Se kode.

Context Handler er konfigurert som en tjeneste i autorisasjonskomponenten og kan enkelt erstattes med andre implementasjoner.

Policy Information Point - Roles

PIP for roller kaller SBL Bridge for å hente reglene en bruker eller et system har for en ressurs-eier.

Dette er implementert som en tjeneste. Se implementasjon

Tjenesten kan enkelt erstattes med andre implementasjoner.

Policy Information Point - Party

Denne funksjonen er implementert som en tjeneste. Se implementasjon

Den kan enkelt erstattes med andre implementasjoner.

Policy Information Point - Resources

PIP for ressurser henter instansinformasjon fra lagringen.

Dette er implementert som en tjeneste. Se implementasjon

Tjenesten kan enkelt erstattes med andre implementasjoner.

API-kontrollere

Dependencies

Se csproj-filen.

Slik bruker du Altinn Platform Authorization i egen løsning

PDP-en inneholder ingen Altinn-spesifikk funksjonalitet. Dette må du implementere i din egen løsning:

Context Handler

Du må skrive din egen context handler som forstår domenet ditt og vet hvilken type berikelse som er nødvendig. I de enkleste scenarioene behøver den ikke gjøre noe dersom autorisasjonsforespørselen allerede inneholder all informasjon PDP trenger.

PRP

Du må implementere funksjonalitet for å finne riktig XACML-policy. I Altinn har vi forskjellige policyer for ulike apper, men i enkle scenarioer kan det holde å referere til en statisk XACML-policy.

PIP

Hvis context handler må berike