Dit artikel beschrijft de werking van de OpenID Connect
SSO-koppeling en hoe een functioneel applicatiebeheerder de koppeling
beheert in Medimo.
Omschrijving
Een
OpenID Connect (OIDC) koppeling is een manier om veilige en
gestandaardiseerde authenticatie en autorisatie aan een webapplicatie
toe te voegen via een externe authenticatieservice (de "Identity
Provider" of IdP). OIDC wordt gebruikt om gebruikers te identificeren,
te verifiëren en om gegevens over de gebruiker op te halen, zoals het
e-mailadres, de naam of autorisaties van de gebruiker.
Proces
Dit hoofdstuk legt het proces (of stappen) uit die de koppeling doorloopt.
- Gebruiker logt in
Hiervoor wordt een specifieke url gebruikt. Middels deze URL weet
Medimo naar welk koppelvlak er gekeken moet worden. Medimo gaat na of de
gegevens die uit de bronapplicatie worden meegestuurd, overeenkomen met
wat er in het koppelvlak is geconfigureerd. Komen deze gegevens niet
overeen, dan wordt de toegang tot Medimo geweigerd. Meer informatie over
het koppelvlak komt aan bod in het hoofdstuk Koppelvlak.
- Medimo-gebruiker nagaan
Medimo gaat na welke Medimo-gebruiker is geselecteerd
in het koppelvlak. Permissies toegekend aan deze gebruiker bepalen welke
functionaliteit beschikbaar is voor gebruikers die inloggen via de
OIDC-koppeling. Dit staat los van wat een gebruiker daadwerkelijk kan in
Medimo. Hiervoor wordt de OpenID Connect-beveiligingsgroep tabel
gebruikt. Meer informatie over het koppelvlak en de Medimo-gebruiker
vindt u in hoofdstuk Koppelvlak.
- OpenID Connect-beveiligingsgroep tabel nagaan
De volgende stap is het nagaan van de OpenID Connect-beveiligingsgroep
tabel. Medimo gebruikt de autorisatiecodes die met de gebruiker uit de
bronapplicatie worden meegezonden om mee te zoeken in de tabel. Vindt
Medimo geen match, dan wordt automatisch een nieuwe regel toegevoegd aan
de OpenID Connect-beveiligingsgroep tabel.
Vindt Medimo een match in de tabel, dan wordt nagegaan of de regel is
gekoppeld aan een beveiligingsgroep. Is er geen beveiligingsgroep
gekoppeld aan de regel, dan negeert Medimo deze en daarmee de
autorisatiecode. Als er geen enkele autorisatiecode van de gebruiker is
gekoppeld, kan Medimo niet bepalen wat de autorisaties zijn en wordt de
toegang geweigerd. De foutmelding "..." wordt aan de gebruiker getoond.
Als er een autorisatiecode van de gebruiker is gekoppeld aan een
beveiligingsgroep in de OpenID Connect-beveiligingsgroep tabel, gaat
Medimo de details van de gekoppelde regel(s) na.
- Details koppelregels nagaan
Per gekoppelde regel worden de details nagegaan. Naast de gekoppelde
beveiligingsgroep wordt in de details het volgende nagegaan: - Actief - Regels die actief zijn worden
gebruikt, inactieve regels worden door Medimo genegeerd, ondanks dat
deze gekoppeld zijn aan een beveiligingsgroep.
- Persoonlijke login vereist - Medimo dwingt een persoonlijke login af. De
gebruiker dient de Medimo inloggegevens op te geven en heeft in dat
geval een Medimo-account op naam nodig. Doet de gebruiker dit voor het
eerst, dan koppelt die met deze methode zelf 1 op 1 de accounts.
- Nagaan beveiligingsgroep(en)
Nu bekend is welke beveiligingsgroepen gekoppeld zijn aan de
permissiecodes van de gebruiker, wordt nagegaan welke permissies zijn
toegevoegd aan de beveiligingsgroep. Zijn dit voorschrijf- of
beheerpermissies, dan dwingt Medimo alsnog een persoonlijke login af. De
gebruiker dient de Medimo inloggegevens op te geven en heeft in dat
geval een Medimo-account op naam nodig. Doet de gebruiker dit voor het
eerst, dan koppelt die met deze methode zelf 1 op 1 de accounts.
Hebben de gekoppelde beveiligingsgroepen geen voorschrijf- of
beheerpermissies, dan wordt de gebruiker direct ingelogd en worden de
permissies uit de beveiligingsgroepen toegekend.
Wel (of niet) tonen van cliënt
Er kan gebruik worden gemaakt van deeplinking om op verschillende
plekken in Medimo te landen. Hierdoor kan een gebruiker landen in het
hoofdmenu, werklijst of de status van een cliënt. Om te kunnen landen in
de status en daarmee de specifieke cliënt te tonen zijn er een aantal
voorwaarden. Het verschilt per bronapplicatie of hieraan kan worden
voldaan. Om de cliënt te kunnen tonen moet het volgende bekend zijn in
de bronapplicatie:
- Cliëntcontext - In de
bron moeten cliënten bekend zijn (zoals in de applicatie Puur). Zijn
deze niet bekend (bijvoorbeeld in applicatie Azure), dan is er geen
cliëntcontext.
- Cliënt-ID - Medimo kan dit ID
gebruiken om te zoeken in de database. Medimo matcht dit ID op het veld
'ExternID' van de cliënt in Medimo. Belangrijk is dat het ID van de
cliënt in de bronapplicatie overeenkomt met het veld 'ExternID' in
Medimo.
Als aan bovenstaande punten kan worden voldaan, dan kan met deeplinking
de gebruiker bijvoorbeeld landen in de status of toedienregistratie van
een specifieke cliënt. Voor meer informatie hierover kunt u het artikel
Deeplinking raadplegen.
Naam en initialen
Vanuit
de bronapplicatie krijgt Medimo door wat de naam van de gebruiker is.
Medimo gebruikt deze naam voor het maken van de geschiedenis (logs) en
om de initialen voor de toedienregistratie op te bouwen. Als de naam
geen spaties bevat en dus uit één woord bestaat, worden de eerste 4
karakters van de naam gebruikt als initialen.
Berichten en acties
Standaard wordt in het hoofdmenu in rode badges getoond hoeveel openstaande berichten en/of acties er voor u zijn voor cliënten die op uw naam staan ingeschreven. Wanneer men inlogt via single-sign-on, dan is men mogelijk wel gerechtigd voor meerdere locaties, maar is het niet altijd duidelijk wie uw 'eigen cliënten' zijn. Om de reden wordt in dit scherm direct de waarneming-variant getoond, met andere woorden, alle openstaande berichten en/of acties voor alle cliënten waar u permissies toe heeft.
(Koppelvlaktabel) OpenId-beveiligingsgroep
Wanneer
een gebruiker inlogt met de OIDC-koppeling, worden er een aantal
gegevens meegestuurd. Eén van deze gegevens is de ID van de
'permissiecode' die de gebruiker in de bronapplicatie heeft. Medimo
gebruikt deze ID om te zoeken in de 'OpenId-Connect
Beveiligingsgroep'-tabel. Regels die gekoppeld zijn aan een
beveiligingsgroep worden gebruikt door Medimo om permissies toe te
kennen aan de gebruiker. Regels die niet gekoppeld zijn, worden door
Medimo genegeerd.
Gebruik het 'Zoeken in
alles'-veld of klik vanuit het hoofdmenu op Beheer > Koppelvlakbeheer
> OpenId-Connect Beveiligingsgroep. De onderstaande afbeelding is
een voorbeeld van een 'OpenId-Connect Beveiligingsgroep'-tabel.
Regel koppelen
Als
bepaald is welke permissiecodes uit de bronapplicatie gebruikt worden
voor de OIDC-koppeling met Medimo, moeten deze gekoppeld worden aan een
beveiligingsgroep. Medimo raadt aan deze beveiligingsgroepen in te
richten voordat u de regels koppelt in de 'OpenId-Connect
Beveiligingsgroep'-tabel. Hierdoor kan na het koppelen direct worden
getest of de juiste permissies worden toegekend aan de gebruiker. Volg
de onderstaande instructies om een regel te koppelen:
Klik op de regel die u wilt koppelen
Medimo toont hierdoor de details. De onderstaande afbeelding is daarvan een voorbeeld.
Kies de beveiligingsgroep die gekoppeld moet worden aan het ID
Klik in het veld achter 'Beveiligingsgroep' om te zoeken naar de groep.
Klik op de groep om deze te selecteren. De onderstaande afbeelding toont
de details van de regel in de 'OpenId-Connect Beveiligingsgroep'-tabel
met geselecteerde beveiligingsgroep.
Persoonlijke login vereist
In
de koppelregel kan de optie 'Persoonlijke login vereist' worden
geactiveerd. Hierdoor moeten gebruikers bij gebruik van de SSO-koppeling
ook de Medimo inloggegevens opgeven.
Lock op 1 cliënt vereist
Bij
het gebruik van OpenIdConnect kan
het wenselijk zijn om voor bepaalde groepen de toegang te limiteren tot
een enkelvoudige cliënt. Bijvoorbeeld voor een groep dagbesteding,
waarbij u zelf de permissies wilt instellen. Om hiervan gebruik te
kunnen maken moet in in de koppelvlaktabel de regel zijn gekoppeld
waarbij 'Lock op 1 cliënt vereist' is geactiveerd.
Koppelvlak
Voor
de OIDC-koppeling wordt in Medimo een koppelvlak ingericht. In het
koppelvlak worden onder andere gegevens vastgelegd voor een veilige
verbinding en kunnen koppelvlak opties worden geactiveerd. Medimo
gebruikt het koppelvlak om te bepalen of de SSO
verwerkt kan worden en op welke manier. Ook gebruikt
Medimo het koppelvlak om te bepalen to welke cluster(s) de koppeling
toegang heeft.
U kunt geen
aanpassingen doen aan het koppelvlak, maar het koppelvlak is wel
inzichtelijk voor u. Gebruik het 'Zoeken in alles'-veld of klik va uit
het hoofdmenu op
Beheer > Koppelvlak beheer > Koppelvlak.
Deeplinks
Er
kan met verschillende SSO-koppelingen gebruik worden gemaakt van
'Deeplinks'. Hierdoor landt de gebruiker op een specifieke pagina in
Medimo. Voor meer informatie daarover kunt u artikel
Beschrijving van Deeplinking raadplegen.
Koppelvlak opties
Om
de koppeling beter te laten aansluiten op de werkwijze, zijn er een
aantal SSO-opties die kunnen worden geactiveerd. Voor meer informatie
over deze opties kunt u artikel
Wat zijn de SSO-optie(s) in het koppelvlak? raadplegen.
Koppelvlak optie 'Gebruikt beveiligingsgroepen'
Standaard worden in de single sign-on oplossingen middels OpenIdConnect
voor individuele gebruikers gebruik gemaakt van de permissies die deze
gebruikers hebben ingesteld gekregen in Medimo. Het is ook mogelijk om voor individuele gebruikers de rechten te
overschrijven met de rechten uit de bronapplicatie (identity-provider).
Wilt
u hiervan gebruik maken dat dient de optie 'Altijd' te zijn geactiveerd
bij de koppelvlak optie 'Gebruikt beveiligingsgroepen'.
MedimoApp: Opnieuw inloggen na x uur
Standaard wordt bij het heropenen van de MedimoApp na 22 uur opnieuw gevraagd om de OIDC-credentials in te voeren. Op verzoek van de functioneel applicatiebeheerder kan dit nu per OIDC-koppelvlak worden ingesteld door de Medimo helpdesk, met een maximum van 168 uur (1 week).
De autorisaties van de gebruiker worden bij het opgeven van de OIDC-credentials opgehaald. Een groter aantal uur voordat om herauthenticatie wordt gevraagd, betekent dat er minder frequent autorisaties van de gebruiker automatisch worden opgehaald.