Skip to content

Microsoft Entra ID over OIDC

Forfatter: Rene Giovanni Borella


Ved at oprette en App Registration i Azure Portal kan man tillade brugere fra ens eget Microsoft miljø at oprette sig. Koblingen her benytter OIDC.

Opret App

Start med at oprette en App Registration som er bindeledet mellem Entra og Keycloak.

Opret App Registration
Opret App Registration
  • Name: Angiv et sigende navn
  • Supported account types: Vælg de relevante kontotyper for din organisation
  • Redirect URI (optional): Udfyldes senere under Authentication

Når applikationen er oprettet gemmes Application (client) ID, og Directory (tenant) ID til senere.

App Dashboard
App Dashboard

Opret adgang

Når applikationen er oprettet er det muligt at lave adgang udefra. Dette gøres ved at oprette en Client Secret. Naviger til Certificates & secrets og opret en New Client secret som vil fungere som nøgle.

Opret Client Secret
Opret Client Secret
  • Description: Angiv et sigende navn til nøglen
  • Expires: Angiv hvor længe nøglen skal være aktiv
Client Secret
Client Secret

Her gemmes Value (Client Secret) til senere.

Redirect

Ud over Client secret, skal der sættes en Redirect som sikrer at anmodninger kun bliver sendt det rigtige sted hen.

For at oprette en Redirect, navigeres til Authentication (Preview) og Add Redirect URI tilføjes

Opsæt Redirect
Opsæt Redirect
  • Select a platform to add redirect URI: Vælg Web under Web applications
  • Redirect URI: Sæt adressen som du har fået fra support

Rettigheder

Når man opretter App er der som standard tilladt User.Read som er nødvendig for at kunne logge ind. Det er ikke nødvendigt med andre rettigheder.

Gruppeforhold

Nogle af vores løsninger kan benytte brugerens gruppeforhold i AD til rettighedsstyring. Hvis man skal have overført gruppeforhold sammen med identiteten, skal disse sættes i token.

For at tilføje grupperne til token, navigeres til Token configuration og Add groups claim tilføjes.

Group Claims
Group Claims
  • Select group types to include in Access, ID, and SAML tokens: Sæt flueben i Groups assigned to the application
  • Customize token properties by type: Sæt sAMAccountName for alle typer

Man kan begrænse adgangen til App, navigerer man til sin applikation under Enterprise applications -> Manage -> Users and groups. Her tilføjes grupper som skal overføres sammen med claim. Eksempelvis kan man vha. grupper opdele nedarvning af rettigheder i MapConnect.

Tilladt adgang
Tilladt adgang

Hvis man er i tvivl om grupperne der er tilgængelig for Geopartner kan man benytte jwt.ms.

Start med at tilføje https://jwt.ms til redirect, og gå til et link som:

Terminal
https://login.microsoftonline.com/{TENANT_ID}/oauth2/v2.0/authorize?
client_id={CLIENT_ID}
&response_type=id_token
&redirect_uri=https%3A%2F%2Fjwt.ms
&response_mode=fragment
&scope=openid
&state=1asdfxxc0962aszdfasdfa
&nonce=6780

Erstat TENANT_ID og CLIENT_ID med jeres egne værdier. Hvis den afkodede token ser sådan ud:

{
...
}.{
...
"groups": [
"Gruppe_1",
"Gruppe_2",
"Gruppe_3",
],
...
}.[Signature]

Vil grupperne blive gemt på den enkelte bruger. Informationen vil blive opdateret hver gang brugeren logger på.

Når man er færdig med at teste, kan man med fordel fjerne https://jwt.ms fra redirect

Færdiggørelse

Vi er nu ved at være færdige med opsætning af Entra, og brugerne kan nu logge på. For at opsummere er her en tabel med informationer der er krævet for at få opsætningen til at lykkes.

VærdiHvor findes informationenHvem skaffer informationen
Client IDApp -> DashboardIT-afdeling
Tenant IDApp -> DashboardIT-afdeling
Client SecretApp -> Authentication (Preview)IT-afdeling
Gruppe claimEnterprise applications -> Manage -> UsersIT-afdeling
Redirect URIKeycloak IdPGeopartners implementeringsansvarlige