Altinn / altinn-access-management

PoC for new auth admin UI
MIT License
5 stars 3 forks source link

Instansdelegering | PDP for instanser #811

Open rtafj opened 3 weeks ago

rtafj commented 3 weeks ago

Beskrivelse

Brukerstyrt delegering av instanstilganger utført i Apps skal gjøre at mottaker av instanstilgangene skal få tilgang til instansen ved tilgangssjekk mot Authorization sitt Decision eller Authorize API.

PIP API må da i tillegg til nåværende sjekk etter tjeneste/ressurs-delegeringer også slå opp alle relevante instansdelegeringer bruker har tilgang til for avgiveren.

PIP API: Relevante instansdelegeringer

PIP API: Ikke relevante Instansdelegeringer

Deretter blir det PDP sin oppgave å vurdere om instansdelegeringene fra PIP API er relevante for requesten.

PDP: Relevante PIP API delegeringer: Når XACML request har InstansId:

Når XACML request IKKE har InstansId:

Definisjoner

Se #658

Avklaringer

Akseptansekriterier

Bruker som mottar instans tilgang fra avgiver

AC-1: GITT en bruker som har mottatt instansdelegering direkte fra en avgiver NÅR PDP Decision/Authorize får request om brukeren har tilgang til action den har mottatt i instansdelegering fra avgiver OG request spesifiserer korrekt instansId for instansdelegering fra avgiver SÅ skal PDP Decision/Authorize svare med Permit respons inkl. sikkerhetsnivå krav

AC-2: GITT en bruker som har mottatt instansdelegering direkte fra en avgiver NÅR PDP Decision/Authorize får request om brukeren har tilgang til action den har mottatt i instansdelegering fra avgiver OG request spesifiserer IKKE spesifiserer instansId men tilgang på Org/App, eller RessursId nivå SÅ skal PDP Decision/Authorize svare med NotApplicable respons

Bruker som mottar instans tilgang fra hovedenhet

AC-3: GITT en bruker som har mottatt instansdelegering fra hovedenheten til en underenhet NÅR PDP Decision/Authorize får request om brukeren har tilgang til action den har mottatt i instansdelegering fra hovedenheten OG request spesifiserer instansId for instansdelegeringen fra hovedenheten OG request spesifiserer underenheten som avgiver SÅ skal PDP Decision/Authorize svare med NotApplicable respons

AC-4: GITT en bruker som har mottatt instansdelegering fra hovedenheten til en underenhet NÅR PDP Decision/Authorize får request om brukeren har tilgang til action den har mottatt i instansdelegering fra hovedenheten OG request spesifiserer IKKE spesifiserer instansId men tilgang på Org/App, eller RessursId nivå OG request spesifiserer underenheten som avgiver SÅ skal PDP Decision/Authorize svare med NotApplicable respons

Bruker som mottar App/Ressurs tilgang fra avgiver

AC-5: GITT en bruker som har mottatt enkeltdelegering til App/Ressurs direkte fra en avgiver NÅR PDP Decision/Authorize får request om brukeren har tilgang til action den har mottatt i App/Ressurs delegering fra avgiver OG request spesifiserer en korrekt instansId for avgiveren SÅ skal PDP Decision/Authorize svare med Permit respons inkl. sikkerhetsnivå krav

Bruker som mottar App/Ressurs tilgang fra hovedenhet

AC-6: GITT en bruker som har mottatt App/Ressurs tilgang fra hovedenheten til en underenhet NÅR PDP Decision/Authorize får request om brukeren har tilgang til action den har mottatt i App/Ressurs delegering fra hovedenheten OG request spesifiserer en korrekt instansId for underenheten OG request spesifiserer underenheten som avgiver SÅ skal PDP Decision/Authorize svare med Permit respons inkl. sikkerhetsnivå krav

Bruker som har nøkkelrolle for avgiver

AC-7: GITT en bruker som er Dagligleder eller tilsvarende nøkkelrolle for en avgiver OG det foreligger en instansdelegering til avgiver fra en tredjepart NÅR PDP Decision/Authorize får request om brukeren har tilgang til action avgiver har mottatt i instansdelegering fra tredjepart OG request spesifiserer en korrekt instansId for tredjepart OG request spesifiserer tredjepart som avgiver SÅ skal PDP Decision/Authorize svare med Permit respons inkl. sikkerhetsnivå krav

Bruker som mottar Parallellsigneringsrolle fra avgiver

AC-8: GITT en bruker som har mottatt Parallellsigneringsrolle direkte fra en avgiver OG det foreligger en instansdelegering til avgiver fra en tredjepart NÅR PDP Decision/Authorize får request om brukeren har tilgang til action avgiver har mottatt i instansdelegering fra tredjepart OG request spesifiserer en korrekt instansId for tredjepart OG request spesifiserer tredjepart som avgiver SÅ skal PDP Decision/Authorize svare med Permit respons inkl. sikkerhetsnivå krav

Bruker som mottar Parallellsigneringsrolle fra hovedenhet

AC-9: GITT en bruker som har mottatt Parallellsigneringsrolle direkte fra en hovedenhet OG det foreligger en instansdelegering til underenhet fra en tredjepart NÅR PDP Decision/Authorize får request om brukeren har tilgang til action underenhet har mottatt i instansdelegering fra tredjepart OG request spesifiserer en korrekt instansId for tredjepart OG request spesifiserer tredjepart som avgiver SÅ skal PDP Decision/Authorize svare med Permit respons inkl. sikkerhetsnivå krav

Bilder/Tegninger

Oppgaver/Tasks

### Trusselmodellering
- [ ] Åpner denne endringen for mulige nye trusler eller misbruk?
### UX
- [ ] Add a draft title or issue reference here
### Frontend
- [ ] Add a draft title or issue reference here
### Backend
- [ ] PDP for instanser | Utvide PIP API
- [ ] PDP for instanser | Filtrere PIP API respons før delegering autorisasjon
### Dokumentasjon
- [ ] Add a draft title or issue reference here
### Test
- [ ] Permit svar inkl. sikkerhetsnivå svar når brukeren har riktig Action og instansdelegering mot PDP Decision/Authorize
- [ ] Permit svar inkl.sikkerhetsnivå obligation når underenhet har fått instancedelegering med riktig action og har riktig Action og instanceId mot PDP Decision/Authorize
- [ ] Verifisere bruker får "Not Applicable" med feil instanceId og Action