digdir / roadmap

Felles veikart for Digdir sine produkter.
https://github.com/orgs/digdir/projects/8/
7 stars 2 forks source link

Systembruker for virksomheter #284

Open ekorra opened 1 year ago

ekorra commented 1 year ago

Overordnet beskrivelse

Systembruker for virksomheter er en ny brukertype som gir finkornet tilgangsstyring ved maskin til maskin kommunikasjon. Brukeren skal fungere i samspill med Maskinporten og tvers av offentlig sektor. På sikt vil Systembruker erstatte erstatte dagens SystemID og Virksomhetsbruker

Definisjoner

Fagsystem - Eksternt system som en systembruker knyttes til for hvor brukeren skal benyttes. Type: Fiken, Visma Accounting etc. Fagssytemleverandør- Virksomheten som leverer fagsystem Sluttbrukersystem- aka SBS se Fagsystem Systemeier - Virksomhet som eier systemet. F.eks: 913312465 - Fiken AS System Tilgangskrav - Eksternt system registreres med krav/ønske om hvilke ressurser/apps systemet trenger tilgang til gjennom systembruker for at det skal få utført nødvendige oppgaver Systembruker - "bruker" opprettet for en gitt avgiver (eller "eier" av systembruker) og er entiteten som skal motta delegering av tilganger. Systembruker-Id - Uuid som identifiserer en gitt systembruker Eier av systembruker - Den organisasjonen eller avgiveren som systembrukeren blir opprettet for og er den som brukeren mottar tilganger fra. PEP - Policy Enforcement Point. I denne konteksten er dette enten interne systemer som benytter vår egen PEP pakke hvor kall går mot det internt Decision API, eller eksterne systemer som har egen implementasjon som integrerer mot eksternt Authorize API. PDP - Policy Decision Point. Her er det to endepunkter Decision som er internt og brukes av interne systemer i Altinn via PEP pakken, og Authorize som er eksternt API for tjenesteeiere eller samarbeidspartnere til Altinn som skal autorisere tilganger fra eksterne system integrasjoner. PIP - Policy Information Point. I denne konteksten er accessmanagement sitt PIP API eneste relevante PIP kilde, da systembrukere i første omgang bare kan motta delegering av enkelttilganger. Senere vil også Rolle oppslag være relevant PIP endepunkt for PDP.

Forventet resultat


Hvordan skal det fungere?

sequenceDiagram
    Sluttbrukersystem->>+Maskinporten: JWTGrant(client_id, systemUserOrgNo)
    Maskinporten->>Altinn Autorisasjon: GetSystemUser(client_id, systemUserOrgNo)
    Altinn Autorisasjon-->>Maskinporten: SystemUser (systemUserId)
    Maskinporten-->>Sluttbrukersystem: Token (systemUserId, consumerId, supplier)
    Sluttbrukersystem->>API: AllAPIOpperations(part, resoureId)
    API->>Altinn Autorisasjon: Authorize(systemUserId, res, action, part)
    Altinn Autorisasjon-->API: AuthorizationResponse
    API-->Sluttbrukersystem:API Result 

Gjennomføring

Løsningen vil leveres gjennom flere leveranser, som er spredt ut i tid basert på når funksjonalitet systembruker trenger i Maskinporten og Autorisasjon blir tilgjengelig.

L1: Sluttbrukerstyrt opprettelse

L2: Leverandørstyrt opprettelse

L3: Endre rettigheter

L4: Tilgangspakker

L5: Kunders-kunde

LX: Opprettelse ved egenutviklet system

gantt
    axisFormat %m.%Y

    title Systembruker
    dateFormat  DD.MM.YYYY
    section Systembruker
    L1  Sluttbrukerstyrt  : L1, 01.10.2023, 30.08.2024
    L2  Leverandørstyrt   : active, L2,  after L1  , 31.10.2024
    L3 Endre rettigheter : L3, after L2, 2M
    L4 Tilgangspakker : L4, after L3, 3M
    L5 Kunders-kunde: L5, after L3, 3M
    section Autorisasjon
    Delegering av enkeltrettigheter : A1, 01.03.2024, 30.07.2024
    Tilgangspakker: A2, 01.01.2025, 3M
    Klientdelegering: A3, after A2, 3M
    Ny brukerflate for tilgangsstyring for virksomheter : 01.08.2024, 31.04.2025
    section Digdir
    Systembruker maskinporten : 01.04.2024, 2M
### Oppgaver
- [x] [Anallyse](https://github.com/Altinn/altinn-authentication/issues/200)
- [ ] https://github.com/Altinn/altinn-authentication/issues/331
- [ ] https://github.com/Altinn/altinn-authentication/issues/525
- [ ] https://github.com/Altinn/altinn-authentication/issues/544
- [ ] https://github.com/Altinn/altinn-authentication/issues/545
- [ ] https://github.com/Altinn/altinn-authentication/issues/547
- [ ] https://github.com/Altinn/altinn-authentication/issues/548
- [ ] https://github.com/Altinn/altinn-authentication/issues/549
- [ ] https://github.com/Altinn/altinn-authentication/issues/550
### Avhengigheter
- [ ] https://github.com/digdir/roadmap/issues/194
- [ ] https://github.com/digdir/roadmap/issues/147