Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Samlet beskrivelser af autentifikation og autorisation fra tjenestesiderne


Anchor
Toppen
Toppen


I Datafordeler Administration er data tilgængeligt via tre autentificeringsmetoderautentifikationsmetoder

Vær opmærksom på at adgang via autentifikationsmetoderne API-key, Shared Secret og Certifikat, som beskrevet nedenfor, også ved adgangsbegrænsede data kræver yderligere at IP-adressen for klienten, der prøver at hente data ved brug af et IT-system er på IP-Allowlisten for det pågældende IT-system. Læs mere om IP-Allowlister på siden IP-allowlist.


Table of Contents

Display Metadata
hidetableheadertrue




OAuth Shared Secret


En Shared Secret er en privat nøgle, som deles mellem en klient (f.eks. en applikation) og udbyderen (f.eks. en service som Datafordeleren). Denne nøgle bruges som en del af godkendelsesprocessen, hvor en klient får adgang til ressourcer på vegne af en bruger uden at afsløre brugerens loginoplysninger. 

En Shared Secret er en OAuth token, der kan bruges til at kalde alle typer af data hos Datafordeleren, dog med forbehold for at beskyttet data først kan hentes ved godkendt ansøgning. En Shared Secret skal ved alle kald til Datafordelerens tjenester sættes i en header.




Opret en Shared Secret


Du kan oprette Shared Secrets via Datafordeler Administration på et IT-system du ejer eller er administrator for, ved at klikke på "Opret"-knappen under "OAuth Shared Secret"-sektionen.



Ved klik på knappen "Opret" kommer du videre til en "Opret OAuth Shared Secret" side, hvor du skal angive et navn og en udløbsdato for din Shared Secret. Det er muligt at sætte udløbsdatoen til maksimalt 2 år frem i tiden. Vær opmærksom på at en Shared Secret ikke forlænges efter oprettelse.

Efter udfyldning af felter skal du klikke på "Opret", og der vil blive genereret en Shared Secret.



Bemærk, at en Shared Secret kun vises én gang og det vil efterfølgende ikke være muligt at få den vist igen, hvorfor den skal kopieres over i et værktøj af eget valg for at sikre at den ikke går tabt.

Ønsker du at deaktivere en Shared Secret gør du dette ved at klikke på "Deaktiver" knappen på Shared Secret overblikslisten. 



Når du har oprettet en Shared Secret sendes denne, samt Client ID og grant type til https://auth.datafordeler.dk/realms/distribution/protocol/openid-connect/token hvorefter du vil modtage et Access Token. 

Det resulterende token er et Bearer Token der kan bruges til autentifikation ved efterfølgende kald til datafordeleren. Bemærk at dette token kun er validt i 60 minutter efter udstedelsen. 



Access tokens og Shared Secrets


I OAuth er et Access Token en hemmelig nøgle som er med til at identificere en anvender hos Datafordeleren, uden at kende til brugernavn eller et password. Når du laver en query med et Access Token i en Authorization header med et Bearer Token, kan Datafordeleren finde ud af hvilke rettigheder og roller som du har. En query bliver derfor afvist hvis dit Access Token mangler. 

Nedenstående tabel indeholder en beskrivelse af de oplysninger der skal angives for at få udstedt et Access Token.


Client credentials

Beskrivelse

Eksempel på værdi

Client_id

Her skal angives den værdi som fremgår i ”Client ID”-kolonnen i overblikket over OAuth Shared Secret.

00001111-aaaa-2222-bbbb-3333cccc4444

Client_secret

Her skal angives værdien som blev vist da Shared Secret blev oprettet i Datafordeler Administration.

qWgdYAmab0YSkuL1qKv5bPX

Grant_type

Skal altid sættes til “client_credentials”.

client_credentials




Når du har modtaget et Access Token, skal det angives i en Authorization header i kaldet til tjenesterne. Nedenstående tabel beskriver hvorledes Access Token angives i kaldet.


HTTP header

Beskrivelse

Eksempel på værdi

Authorization

Her skal angives det Access Token som blev sendt tilbage ved kald til https://auth.datafordeler.dk/realms/distribution/protocol/openid-connect/token.

Bemærk at eksemplet er forkortet og at det faktiske Access Token er betydeligt længere.

Bearer eyJhbGciOiJSUzI1NiIsI….






OAuth Certifikater

Klientautentificering med certifikater i OAuth er en sikkerhedsmetode, hvor en klient (

f.eks.

for eksempel en applikation) bruger et digitalt certifikat i stedet for en hemmelig nøgle til at bevise sin identitet over for autorisationsserveren. Processen involverer, at klienten præsenterer sit certifikat under TLS-håndtrykket, hvorefter autorisationsserveren validerer det. Denne metode er særligt velegnet til miljøer med høje sikkerhedskrav eller ved håndtering af følsomme data. Certifikater sættes i kaldets header. OAuth Certifikater kan bruges i stedet for Oauth Shared Secrets og sættes på kaldet som en client assertion.

Der er i Datafordeler Administration mulighed for at uploade et OCES3 certifikat. Certifikater kan bruges til at kalde alle typer af data hos Datafordeleren. 



Upload certifikat


Du kan se Certifikater tilknyttet et IT-system under sektionen OAuth certifikat.

Ved brug af oversigten kan du, med rollen administrator eller ejer, slette og oprette certifikater, ved klik på "Opret"-knappen navigeres der til "Upload Certifikat"-siden.



Når der via "Upload Certifikat"-siden vælges et certifikat ved brug af knappen "Choose File", vil certifikatet blive valideret. Hvis certifikatet er validt, skal du navngive certifikatet, og efterfølgende vil "Opret"-knappen blive aktiv og certifikatet kan da tilføjes ved at klikke på "Opret". 

Der er følgende krav til et certifikat:

  • Certifikatet skal være et OCES3 (X.509-certifikat) og i PEM-format.
  • Certifikat skal være aktivt og ikke udløbet.
  • Certifikatet skal være udstedt af den danske stat.



På samme måde som OAuth Shared Secret, skal certifikatet bruges til at indhente et Access Token. Dette gøres ved at Client ID, samt certifikat til https://auth-oces.datafordeler.dk/realms/distribution/protocol/openid-connect/token i en POST-request.

Bemærk at dette token kun er validt i 60 minutter efter udstedelsen. 







API-Key

En API-key er en privat nøgle, som bruges til at autentificere mod et API. Denne nøgle bruges som en del af godkendelsesprocessen, hvor en klient får adgang til et API uden at afsløre brugerens loginoplysninger.

API-keys bruges som et query

-parameter.

-parameter ved at indsætte den i selve URL’en, for eksempel således i et GraphQL-kald: https://graphql.datafordeler.dk/<Register>/<Version>

En API-

nøgle

key er en unik token, der genereres én gang og er som udgangspunkt aktiv i 2 år. Inden for denne periode kan du forny den, hvilket giver en ny gyldighed på yderligere 2 år. Hvis du ikke fornyer din API-Key inden udløb, og du fortsat skal bruge en, skal du oprette en ny API-

nøgle

key.

API-keys bliver anvendt direkte i URL'en og vil kun give adgang til ubeskyttet data (offentlig tilgængelige data).


Info

Bemærk

API-keys kan ikke bruges til at tilgå adgangsbegrænsede data.




Opret API-key

Image Removed


Under et oprettet IT-system i Datafordeler Administration findes sektionen API-Keys.

Denne indeholder en oversigt over alle API-Keys på IT-systemet og giver mulighed for at forlænge, deaktivere og oprette en API-Key.


Image Added



Klik på "Opret"-knappen under API-Keys for at komme til "Opret API-Key"-siden, og angiv et navn på din API-key.



Efter du har navngivet din API-Key skal du klikke på Opret, og en API-Key vil herefter blive generet, og vises i sektionen "API-Key er oprettet" når den er klar.

Bemærk, at API-Key'en, ligesom en Shared Secret, kun vises én gang og det vil efterfølgende ikke være muligt at få den vist igen, hvorfor den skal kopieres over i et værktøj af eget valg for at sikre at den ikke går tabt.

Ved klik på "Kopier"-knappen vil den blive kopieret og kan derefter CTRL + V over et andet sted.