Skip to content

Latest commit

 

History

History
77 lines (70 loc) · 3.83 KB

altinn-maskinell-kontroll.md

File metadata and controls

77 lines (70 loc) · 3.83 KB

Altinn: maskinell kontroll av delegerte rettigheter (for systemleverandører)

Det er mulighet for at det delegeres mangelfulle rettigheter til systemleverandør. Slike mangelfulle oppsett kan være vanskelig å avdekke, og kan manifestere seg på forskjellig vis (for eksempel at en kunde har delegert leserettighet men ikke skriverettighet).

For å unngå mangelfulle oppsett er det mulig å gjøre en maskinell kontroll av kunders delegering og oppsett.

Forutsetninger

Implementasjonsforslag - maskinell sjekk via Altinn.no REST API

NB: alle REST API requests må kalles opp med request header Accept: application/hal+json, client certificate (virksomhetssertifikatet) må være registrert slik at det inkluderes av den http client'en som benyttes.

Steg 1

  • "Logg på" Altinn.no API for å få tak i .ASPXAUTH-auth cookien. Kallet må utføres med følgende credentials:
    • apikey
    • client certificate
    • brukernavn og passord tilhørende virksomhetsbrukeren
  • Eksempel request:
    POST https://www.altinn.no/api/authentication/authenticatewithpassword?ForceEIAuthentication=true

    Request body payload:
    { 
        "UserName": "din-virksomhetsbruker",
        "UserPassword": "din-virksomhetsbruker-passord"
    }
    
  • Hent .ASPXAUTH cookie fra responsen og ta vare på verdien

Steg 2

  • Hent alle virksomheter som har delegert rettighet til din organisasjon for DSVE-servicecode (4752)
  • Kallet må utføres med følgened credentials:
    • apikey
    • client certificate
    • .ASPXAUTH cookie fra steg 1
  • Eksempel request:
    GET https://www.altinn.no/api/reportees?ForceEIAuthentication=true&serviceCode=4752

Steg 3

  • For hver ReporteeId (format "rNNNNNNN") returnert i steg 2:
    • Hent delegerte rettigheter.
  • Kallet må utføres med følgende credentials:
    • apikey
    • client certificate
    • .ASPXAUTH cookie fra steg 1
  • Eksempel request:
    GET https://www.altinn.no/api/{ReporteeId}/authorization/rights?ForceEIAuthentication=true&$filter=ServiceCode eq '4752'

    (NB! Erstatt {ReporteeId} med faktisk ReporteeId fra steg 2)

Steg 4

  • Sjekk at virksomheten har delegert både Read og Write-rettighetene til DSVE (ServiceCode 4752) til din organisasjon/virksomhetsbruker:
  •    "_embedded": {
          "rights": [
              {
                  "RightID": nnnnnnnn,
                  "RightType": "Service",
                  "ServiceCode": "4752",
                  "ServiceEditionCode": 1,
                  "Action": "Read",
                  "RightSourceType": "DirectlyDelegatedRights",
                  "IsDelegatable": true
              },
              {
                  "RightID": nnnnnnnn,
                  "RightType": "Service",
                  "ServiceCode": "4752",
                  "ServiceEditionCode": 1,
                  "Action": "Write",
                  "RightSourceType": "DirectlyDelegatedRights",
                  "IsDelegatable": true
              }
          ]
      }
    
  • Valgfritt: sjekk at virksomheten ikke har delegert flere rettigheter enn det som er nødvendig for DSVE.