Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Description of federated authentication and authorization for Municipal Users using SEB and KOMBIT ConcextHandler.

Authorization Flow

When a client starts an OIDC Authorization Code Flow for a municipal user, it goes through the following federation process.

The sequence diagram for clinicians' logins, explained in https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/101122074/Login#Clinical-logins, shows how the OIDC Authorization Code Flow is redirected through a series of steps involving OIOSAML-based AuthNRequest and AuthNResponse.

Here's a summary of the responsibilities of the services involved:

  1. The KOMBIT Context Handler - This service created a SAML AuthnResponse based on registrations stored in the KOMBIT user administration system KOMBIT STS Administration (STS Admin or DK Admin for short).

  2. The eHealth Infrastructure-hosted SAML Proxy - This service does tasks like substituting and translating KOMBIT-flavor SAML Attributes to ensure uniform OIOSAML OIO-BPP Attributes are provided to SEB. It also enhances OIOSAML Attributes by adding the employee's CPR number, obtained from the KOMBIT FK Organisation system.

  3. Sundhedsvæsenets Elektroniske Brugerstyring (SEB) - This is the shared user administration platform for the Danish healthcare sector.

  4. The eHealth Authorization Service (KeyCloak) - When the KOMBIT NSIS Context Handler can connect directly with SEB and the SAML-proxy is removed from the flow. The KeyCloak service shall then modify and adapt KOMBIT-style SAML Attributes to ensure they match the uniform OIOSAML OIO-BPP Attributes used.

Registrations Required in Municipal KOMBIT Systems

The English terms used in the following do not constitute official, KOMBIT-vetted translations of the Danish terms used throughout KOMBIT documentation and systems. The Danish terms stem from section 3 in Brugervejledning til Administrationsmodulerne for leverandører.

The following terms are used in registrations in KOMBIT STS Admin in the KOMBIT external test environment:

Term

Description

User-faced system

(Danish: Brugervendt system)

A system directly or indirectly used by a user. Mostly if not always, this excludes KOMBIT services. A user-faced system is registered in KOMBIT STS Admin.

Concerning eHealth Infrastructure, these are:

  • SAML Proxy in eHealth Internal Test Environment (INTTEST)

  • SAML Proxy in eHealth External Test environment (EXTTEST)

  • SAML Proxy in eHealth Education environment (TEST002)

  • SAML Proxy in eHealth External Development environment (DEVENVCGI)

  • SAML Proxy in eHealth pre-production environment (PREPROD)

Data constraint

(Danish: Dataafgrænsning)

A configuration item for a User-faced system maintained in KOMBIT STS Admin.

Concerning eHealth Infrastructure, these are:

  • CareTeam identifier (UUID) - optional for some user system roles, required for others

  • Organisation identifier (from KOMBIT FK Organisation)

User system role

(Danish: Brugersystemrolle)

A system role defined by the system used by a user. Registered in KOMBIT STS Admin.

Job function role

(Danish: Jobfunktionsrolle)

A named role usable in municipal IdPs comprising a collection of user system roles and data constraints. Each municipality shall maintain a set in KOMBIT STS Admin.

Concerning eHealth Infrastructure, these comprise:

  • a collection of KOMBIT-flavored user system roles

  • A possible CareTeam identifier

  • an Organisation identifier

Similar registrations must be made in KOMBIT STS Admin in KOMBIT environment PROD, only here the sole SAML Proxy is the one in eHealth Infrastructure environment PROD.

KOMBIT-flavored user system roles for the eHealth Infrastructure

User system roles for the eHealth Infrastructure registered in KOMBIT STS Admin:

The <namespace> shall reflect the eHealth Infrastructure environment for which registration is made in the KOMBIT STS Admin. The <namespace> shall be one of the following:

eHealth Infrastructure Environment

<namespace>

INTTEST

saml-proxy.inttest.ehealth.sundhed.dk

EXTTEST

saml-proxy.exttest.ehealth.sundhed.dk

PREPROD

saml-proxy.preprod.ehealth.sundhed.dk

PROD

ehealth.sundhed.dk

In case of change in what eHealth Infrastructure environments shall support municipal federation of authentication and authorization, the above list needs to be updated. In addition, such a change needs to be implemented in the mapping performed by the SAML Proxy.

<KOMBIT user system role for the eHealth Infrastructure> shall be one from the list below:

The table shows the KOMBIT user system role, the corresponding OIO BPP roles, and what data constraints are possible and which are mandatory.

KOMBIT user system roles for the eHealth Infrastructure

eHealth Infrastructure OIO BPP system roles

OIO Data constraints (eHealth Exttest)
STS Organisationsenhed



Careteam

OIO Data constraints (Prod)
Organisation



SOR Organisationsenhed



SSL Organisationsenhed



Careteam

/roles/usersystemrole/order_placer/1

urn:dk:sundhed:ehealth:role:order_placer

Mandatory

Mandatory

X

/roles/usersystemrole/citizen_enroller/1

urn:dk:sundhed:ehealth:role:citizen_enroller

Mandatory

Mandatory

Mandatory

x

x

/roles/usersystemrole/careteam_administrator/1

urn:dk:sundhed:ehealth:role:careteam_administrator

Mandatory

Mandatory

x

/roles/usersystemrole/incident_reporter/1

urn:dk:sundhed:eHealth:role:incident_reporter

Mandatory

Mandatory

Mandatory

x

x

/roles/usersystemrole/clinical_viewer/1

urn:dk:sundhed:eHealth:role:clinical_viewer

Mandatory

Mandatory

Mandatory

x

/roles/usersystemrole/clinical_supporter/1

urn:dk:sundhed:eHealth:role:clinical_supporter

Mandatory

Mandatory

Mandatory

x

/roles/usersystemrole/monitoring_assistor/1

urn:dk:sundhed:eHealth:role:monitoring_assistor

Mandatory

Mandatory

Mandatory

x

x

/roles/usersystemrole/monitoring_adjuster/1

urn:dk:sundhed:eHealth:role:monitoring_adjuster

Mandatory

Mandatory

Mandatory

x

X

/roles/usersystemrole/report_user/1

urn:dk:sundhed:ehealth:role:report_user

Mandatory

Mandatory

x

x

/roles/usersystemrole/clinical_administrator/1

urn:dk:sundhed:eHealth:role:clinical_administrator

Mandatory

Mandatory

x

/roles/usersystemrole/service_and_logistics/1

urn:dk:sundhed:eHealth:role:service_and_logistics

Mandatory

Mandatory

x

x

/roles/usersystemrole/questionnaire_editor/1

urn:dk:sundhed:eHealth:role:questionnaire_editor

Mandatory

Mandatory

x

/roles/usersystemrole/incident_manager/1

urn:dk:sundhed:eHealth:role:incident_manager

Mandatory

Mandatory

x

x

/roles/usersystemrole/terminology_administrator/1

urn:dk:sundhed:eHealth:role:terminology_administrator

Mandatory

/roles/usersystemrole/ssl_catalogue_responsible/1

urn:dk:sundhed:eHealth:role:ssl_catalogue_responsible

Mandatory

x

x

/roles/usersystemrole/ssl_catalogue_annotator/1

urn:dk:sundhed:eHealth:role:ssl_catalogue_annotator

Mandatory

x

x

/roles/usersystemrole/ssl_contract_responsible/1

urn:dk:sundhed:eHealth:role:ssl_contract_responsible

Mandatory

x

x

If the OIO BPP system roles system listed above deviate from the list in eHealth Infrastructure OIO BPP system roles, the above list needs to be updated. In addition, such a change needs to be implemented in the mapping performed by the SAML Proxy.

  • No labels