Altinn/altinn-access-management

Instansdelegering | API for instansdelegering fra Apps

Opened this issue · 0 comments

Beskrivelse

Vi skal lage en integrasjon for studio-apps hvor de skal kunne opprette instans delegeringer på vegne instanseier. En autorisert bruker på vegne av instanseier (kan være brukeren selv eller en organisasjon) fyller ut informasjon i en gitt app instans dersom andre brukere eller organisasjoner skal utføre deler av applikasjonsflyten.

Det er appen som fra egen backend vil kalle API for å utføre instansdelegering av rettighetene til part som brukeren fyller inn.

Denne featuren vil opprette database og core service implementasjoner for instansdelegering som senere skal understøtte backend API for #665

Definisjoner

Instans - et eksemplar av en app/ressurs/tjeneste
Instans ID - identifikator for en gitt instans av en app/ressurs/tjeneste
Instans-eier - part som er eier av en gitt instans av en app/ressurs/tjeneste. Kan være både en bruker eller en organisasjon.
Applikasjonsflyt - del av prosessen å fylle ut eller utføre handlinger i en app instans. Typisk: fylle ut skjema, signere og sende inn skjema.

Avklaringer

  • Authentication: mulig å få UUIDs inn i autentisering token/cookie
  • Ressursregister/App-Policy: Hvordan få registrert App subject regler i policy for hva appen har lov å delegere
  • Kan vi kreve From/To input fra Apps som UUIDs? I så fall må Register tilby "lookup" API som Apps kan benytte for å slå opp F.nr/Etternavn
  • Hvilke API endepunkter trenger Apps. Nok med Delegate/Revoke eller trenger de Get endepunkt?

Akseptansekriterier

  • Det skal være mulig å delegere instans til og fra både personer og organisasjoner
  • Autentisert bruker token fra app må følge med i API kall slik at vi kan logge info om utførende bruker
  • App som utfører delegering må være autorisert til å utføre delegering av reglene. Dette sjekkes mot App policy til Appen som forsøkes delegert, hvor det må foreligge matchende regler med delegerende-app som subject.

GITT en pålogget autorisert bruker benytter en instans av en Altinn App med brukerstyrt instansdelegering
NÅR brukeren fyller ut skjema for med informasjon om at en annen bruker/organisasjon skal utføre deler av app-flyten
SÅ skal appen kunne bruke API i access-management for å utføre instansdelegering for de rettighetene den andre parten trenger

API Design forslag

https://app.swaggerhub.com/apis/jon.kjetil.oye/AccessManagementInstanceDelegation/1.0

Arkitektur tegning

image

Oppgaver

Juridisk

  1. jus

Trusselmodellering

Dokumentasjon

Test