Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. The KOMBIT Context Handler 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.

...

KOMBIT Terms and Concepts

...

The following terms are used in registrations in “Fælleskommunalt Administrationsmodul” (KOMBIT STS Admin):

Term

Description

Usersystem User system

(Danish: Brugervendt system)

An IT system that provides an access-controlled user interface,
accessed via a browser. That is, a system directly used by an enduserend-user.

A usersystem user system registered in the KOMBIT STS admin enables it to use KOMBIT systems for access control of end-users.

Usersystem User system role

(Danish: Brugersystemrolle)

Grouping of rights or permissions that define access and access restrictions to a specific user-facing system

Data constraint

(Danish: Dataafgrænsning)

Restriction of a “user system role”, which narrows the system role's field of action

Job function role

(Danish: Jobfunktionsrolle)

Grouping of user system roles for an authority (e.g. municipality) used by the authority to assign access to the user.

Each municipality shall maintain a set in KOMBIT STS Admin.

Concerning eHealth Infrastructure, the job function role should comprise:

  • A collection of user system roles

  • An Organisation identifier

  • A possible CareTeam identifier

Registrations Required in Municipal KOMBIT Systems

eHealth Infrastructure as User-systems

For the KOMBIT external test environment the The eHealth test environments use KOMBIT Context Handler for access control and therefore are registered as user-facing systems in the FK Administration system

The following eHealth environments are registered as user-facing systems , and thereby use KOMBIT systems for access controlin the KOMBIT external test:

Usersystem in FK Administration

System

1

FUT - SAML Proxy (devtest)

FUT saml-proxy for the internal Systematic Test Environment.

2

FUT - SAML Proxy (inttest)

FUT saml-proxy for the eHealth Internal Test Environment

3

FUT - SAML Proxy (exttest)

FUT saml-proxy for the eHealth External Test environment (exttest) and external development environment (devenvcgi).

4

FUT - SAML Proxy (test002)

FUT saml-proxy for the eHealth Education environment (TEST002)

5

FUT - SAML Proxy (preprod)

FUT saml-proxy for the eHealth pre-production environment

6

“T-SEB”

Note

Being They are being used in the future when SEB and ContextHandler are directly connected. The name is not known by Systematic.

T-SEB for all eHealth test (incl. pre-prod) environments.

Similar registrations are made FUT-S has created similar registrations in the KOMBIT STS Admin FK Admininistratino in the KOMBIT production environment, . This only here has the sole SAML Proxy is in for the eHealth Infrastructure production environment (PROD).

Data constraints (Danish: “data afgrænsninger”)

The data constraints are which narrow the user system role. In eHealth Infrastructure, there are two data constraints in use:

  • CareTeam - a system-specific data constraint identifying a CareTeam. The optional for some user system roles, required for others (see below)

  • Organisation - CrossOrganisation—This is a cross-cutting (data constraint) identifying Organisation from KOMBIT FK Organisation. This data constraint is defined and maintained outside eHealth.

The following screenshot shows the “Fælleskommunalt Administrationsmodul” user interface for creating data constraints and mandatory fields.

...

User-facing system

Data Contraint Constraint Name

EntityId

(domain + “/constraint/”+ filter + version)

Syntax validation

1

DEVTEST

Careteam

http://ehealth.sundhed.dk/constraints/careteam/1

([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})+(,\s*[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})*

2

INTTEST

Careteam

http://saml-proxy.inttest.ehealth.sundhed.dk/constraints/careteam/1

([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})+(,\s*[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})*

3

EXTTEST, DEVENVCGI

Careteam

http://saml-proxy.exttest.ehealth.sundhed.dk/constraints/careteam/1

([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})+(,\s*[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})*

4

TEST002

Careteam

http://saml-proxy.test002.ehealth.sundhed.dk/constraints/careteam/1

([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})+(,\s*[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})*

5

PREPROD

Careteam

http://saml-proxy.preprod.ehealth.sundhed.dk/constraints/careteam/1

([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})+(,\s*[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})*

6

“T-SEB”

Note

Name not known by Systematic.

Careteam

Note

Does SEB require Data Constraint's names are to be prepended with “fut” or “eHealth”

http://exttest.ehealth.sundhed.dk/constraints/careteam/1

Note

We assume

constraint

constraints can

reuse

be reused and have been named as a “FUT exttest” user-facing system.

([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})+(,\s*[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12})*

...

  • shall have an EntityId on the form: <Domain> appended with <KOMBIT role name for the eHealth Infrastructure> and <version> (see below).

  • can have (and should have) a Danish name in Danish which is , the Danish designationhttps://docs.ehealth.sundhed.dk/latest-released/igfhir/CodeSystem-ehealth-oio-bpp-roles.html for the corresponding eHealth Infrastructure OIO BPP system role.

  • <Domain> shall reflect the eHealth Infrastructure environment for registration in the KOMBIT STS Admin. The <Domain> shall be one of the following:

eHealth Infrastructure Environment

Domain

1

INTTEST

saml-proxy.inttest.ehealth.sundhed.dk

2

EXTTEST, DEVENVCGI

saml-proxy.exttest.ehealth.sundhed.dk

3

TEST002

saml-proxy.test002.ehealth.sundhed.dk

4

PREPROD

saml-proxy.preprod.ehealth.sundhed.dk

5

PROD

ehealth.sundhed.dk

6

“T-SEB”

Note

Name not known by Systematic

exttest.ehealth.sundhedseb.dk

Note

Suggestion.

Note

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.

eHealth Infrastructure User system roles for FUT Proxy (exttest)

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

...

Mapping between KOMBIT user system role, the corresponding OIO BPP roles

The KOMBIT user system role has a different format than the eHealth Infrastructure OIO BPP system roles. The following table shows the KOMBIT user system role , and the corresponding OIO BPP roles, and what data constraints are possible and which are mandatory for “FUT Proxy (exttest).

KOMBIT user system roles for the eHealth Infrastructure

eHealth Infrastructure OIO BPP system roles

Data constraints (EXTTEST)

STS Organisationsenhed

Careteam

/roles/usersystemrole/order_placer/1

urn:dk:sundhed:ehealth:role:order_placer

Mandatory

/roles/usersystemrole/citizen_enroller/1

urn:dk:sundhed:ehealth:role:citizen_enroller

Mandatory

Mandatory

/roles/usersystemrole/careteam_administrator/1

urn:dk:sundhed:ehealth:role:careteam_administrator

Mandatory

/roles/usersystemrole/incident_reporter/1

urn:dk:sundhed:eHealth:role:incident_reporter

Mandatory

Mandatory

/roles/usersystemrole/clinical_viewer/1

urn:dk:sundhed:eHealth:role:clinical_viewer

Mandatory

Mandatory

/roles/usersystemrole/clinical_supporter/1

urn:dk:sundhed:eHealth:role:clinical_supporter

Mandatory

Mandatory

/roles/usersystemrole/monitoring_assistor/1

urn:dk:sundhed:eHealth:role:monitoring_assistor

Mandatory

Mandatory

/roles/usersystemrole/monitoring_adjuster/1

urn:dk:sundhed:eHealth:role:monitoring_adjuster

Mandatory

Mandatory

/roles/usersystemrole/report_user/1

urn:dk:sundhed:ehealth:role:report_user

Mandatory

/

/roles/usersystemrole/clinical_administrator/1

urn:dk:sundhed:eHealth:role:clinical_administrator

Mandatory

/roles/usersystemrole/service_and_logistics/1

urn:dk:sundhed:eHealth:role:service_and_logistics

Mandatory

Mandatory

/roles/usersystemrole/questionnaire_editor/1

urn:dk:sundhed:eHealth:role:questionnaire_editor

Mandatory

/roles/usersystemrole/incident_manager/1

urn:dk:sundhed:eHealth:role:incident_manager

Mandatory

Mandatory

/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

/roles/usersystemrole/ssl_catalogue_annotator/1

urn:dk:sundhed:eHealth:role:ssl_catalogue_annotator

Mandatory

/roles/usersystemrole/ssl_contract_responsible/1

urn:dk:sundhed:eHealth:role:ssl_contract_responsible

Mandatory

eHealth Infrastructure User system roles for FUT Proxy (

...

exttest)

<KOMBIT role name 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 and the possible data constraints, which are mandatory for “FUT Proxy (prodexttest)”.

KOMBIT user system roles for the eHealth Infrastructure

eHealth Infrastructure OIO BPP system roles

Data constraints

Organisation

SOR Organisationsenhed

SSL

(EXTTEST)

STS Organisationsenhed

Careteam

/roles/usersystemrole/order_placer/1

urn:dk:sundhed:ehealth:role:order_placer

Mandatory

Optional

/roles/usersystemrole/citizen_enroller/1

urn:dk:sundhed:ehealth:role:citizen_enroller

Mandatory

Mandatory

Optional

Optional

/roles/usersystemrole/careteam_administrator/1

urn:dk:sundhed:ehealth:role:careteam_administrator

Mandatory

OptionalOptional

/roles/usersystemrole/incident_reporter/1

urn:dk:sundhed:eHealth:role:incident_reporter

Mandatory

Optional

Mandatory

Mandatory

/roles/usersystemrole/clinical_viewer/1

urn:dk:sundhed:eHealth:role:clinical_viewer

Mandatory

Mandatory

Optional

/roles/usersystemrole/clinical_supporter/1

urn:dk:sundhed:eHealth:role:clinical_supporter

Mandatory

Mandatory

Optional

/roles/usersystemrole/monitoring_assistor/1

urn:dk:sundhed:eHealth:role:monitoring_assistor

Mandatory

Mandatory

Optional

Optional

/roles/usersystemrole/monitoring_adjuster/1

urn:dk:sundhed:eHealth:role:monitoring_adjuster

Mandatory

Mandatory

Optional

Optional

/roles/usersystemrole/report_user/1

urn:dk:sundhed:ehealth:role:report_user

Mandatory

Optional

Optional

/roles/usersystemrole/clinical_administrator/1

urn:dk:sundhed:eHealth:role:clinical_administrator

Mandatory

Optional

/roles/usersystemrole/service_and_logistics/1

urn:dk:sundhed:eHealth:role:service_and_logistics

Optional

Optional

Mandatory

Mandatory

/roles/usersystemrole/questionnaire_editor/1

urn:dk:sundhed:eHealth:role:questionnaire_editor

Mandatory

Optional

Optional

/roles/usersystemrole/incident_manager/1

urn:dk:sundhed:eHealth:role:incident_manager

Optional

Mandatory

Mandatory

/roles/usersystemrole/terminology_administrator/1

urn:dk:sundhed:eHealth:role:terminology_administrator

/roles/usersystemroleOptional

Mandatory

/roles/usersystemrole/ssl_catalogue_responsible/1

urn:dk:sundhed:eHealth:role:ssl_catalogue_responsible

Optional

Mandatory

/roles/usersystemrole/ssl_catalogue_annotator/1

urn:dk:sundhed:eHealth:role:ssl_catalogue_annotator

Optional

Optional

Mandatory

/roles/usersystemrole/ssl_contract_responsible/1

urn:dk:sundhed:eHealth:role:ssl_contract_responsible

Optional

Optional

...

Mandatory

eHealth Infrastructure User system roles for FUT Proxy (prod)

The table shows the KOMBIT user system role , the corresponding OIO BPP roles, and what and the possible data constraints are possible and which are mandatory for “T-SEBFUT Proxy (prod)”.

Note

When the SEB is used a user facing system, may not contain underscore, and names may be prepended “eHealth” or “FUT”.

KOMBIT user system roles for the eHealth Infrastructure

eHealth Infrastructure OIO BPP system roles

KOMBIT user system roles for the eHealth Infrastructure

Data constraints

Organisation

http://sts.kombit.dk/constraints/orgenhed/1

SOR Organisationsenhed

SSL Organisationsenhed

Careteam

/roles/usersystemrole/order_placer/1

urn:dk:sundhed:ehealth:role:order_placer

Mandatory

Mandatory

Optional

/roles/usersystemrole/citizen_enroller/1

urn:dk:sundhed:ehealth:role:citizen_enroller

Mandatory

Mandatory

Mandatory

Optional

Optional

/roles/usersystemrole/careteam_administrator/1

urn:dk:sundhed:ehealth:role:careteam_administratorMandatory

Mandatory

Optional

/roles/usersystemrole/incident_reporter/1

urn:dk:sundhed:eHealth:role:incident_reporter

Mandatory

Optional

Optional

/roles/usersystemrole/clinical_viewer/1

urn:dk:sundhed:eHealth:role:clinical_viewer

Mandatory

Mandatory

Optional

/roles/usersystemrole/clinical_supporter/1

urn:dk:sundhed:eHealth:role:clinical_supporter

Mandatory

Mandatory

Optional

/roles/usersystemrole/monitoring_assistor/1

urn:dk:sundhed:eHealth:role:monitoring_assistor

Mandatory

Mandatory

Optional

Optional

/roles/usersystemrole/monitoring_adjuster/1

urn:dk:sundhed:eHealth:role:monitoring_adjuster

Mandatory

Mandatory

Mandatory

Optional

Optional

/roles/usersystemrole/report_user/1

urn:dk:sundhed:ehealth:role:report_user

Mandatory

Optional

/

Mandatory

Optional

Optional

/roles/usersystemrole/clinical_administrator/1

urn:dk:sundhed:eHealth:role:clinical_administratorMandatory

Mandatory

Optional

/roles/usersystemrole/service_and_logistics/1

urn:dk:sundhed:eHealth:role:service_and_logistics

Optional

Optional

/roles/usersystemrole/questionnaire_editor/1

urn:dk:sundhed:eHealth:role:questionnaire_editor

Mandatory

Optional

/roles/usersystemrole/incident_manager/1

urn:dk:sundhed:eHealth:role:incident_manager

Mandatory

Optional

Optional

/roles/usersystemrole/terminology_administrator/1

urn:dk:sundhed:eHealth:role:terminology_administrator

Mandatory

Optional

/roles/usersystemrole/ssl_catalogue_responsible/1

urn:dk:sundhed:eHealth:role:

Optional

Optional

/roles/usersystemrole/ssl_catalogue_

responsible

annotator/1

Mandatory

Optional

Optional

/roles/usersystemrole/ssl_

catalogue

contract_

annotator

responsible/1

urn:dk:sundhed:eHealth:role:ssl_catalogue_annotator

Mandatory

Optional

Optional

/roles/usersystemrole/ssl_contract_responsible/1

urn:dk:sundhed:eHealth:role:ssl_contract_responsible

Mandatory

Optional

...

If the OIO BPP system roles system listed above deviate from the list in https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/291176482/Tokens+Roles+and+RBAC+ABAC#Privilege-Roles , the above list needs to be updated.

...

eHealth Infrastructure User system roles for T-SEB (consolidated)

The table shows the KOMBIT user system role, the corresponding OIO BPP roles, and what data constraints are possible and which are mandatory for “T-SEB”.

Note

When the SEB is used as a user-facing system, it may not contain underscore, and names may be prepended “eHealth” or “FUT”.

KOMBIT user system roles for the eHealth Infrastructure

Note

Likely to be changed. Remove underscores and repent with “ehealth” or “fut”.

Data constraints

Organisation

http://sts.kombit.dk/constraints/orgenhed/1

Careteam

/roles/usersystemrole/order_placer/1

Mandatory

Mandatory

/roles/usersystemrole/citizen_enroller/1

Mandatory

Mandatory

/roles/usersystemrole/careteam_administrator/1

Mandatory

Optional

/roles/usersystemrole/incident_reporter/1

Mandatory

Optional

/roles/usersystemrole/clinical_viewer/1

Mandatory

Mandatory

/roles/usersystemrole/clinical_supporter/1

Mandatory

Optional

/roles/usersystemrole/monitoring_assistor/1

Mandatory

Mandatory

/roles/usersystemrole/monitoring_adjuster/1

Mandatory

Mandatory

/roles/usersystemrole/report_user/1

Mandatory

Optional

/roles/usersystemrole/clinical_administrator/1

Mandatory

Optional

/roles/usersystemrole/service_and_logistics/1

Mandatory

Optional

/roles/usersystemrole/questionnaire_editor/1

Mandatory

Optional

/roles/usersystemrole/incident_manager/1

Mandatory

Optional

/roles/usersystemrole/terminology_administrator/1

Mandatory

Optional

/roles/usersystemrole/ssl_catalogue_responsible/1

Mandatory

Optional

/roles/usersystemrole/ssl_catalogue_annotator/1

Mandatory

Optional

/roles/usersystemrole/ssl_contract_responsible/1

Mandatory

Optional

Note

If the OIO BPP system roles system listed above deviate from the list described inhttps://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/291176482/Tokens+Roles+and+RBAC+ABAC#Privilege-Roles, the above list needs to be updated.

In addition, such a change needs to be implemented in the https://ehealth-dk.atlassian.net/wiki/spaces/EDTW/pages/2172125189/SAML+Proxy#Mapning-af-privilegier-og-constraintsperformed by the SAML Proxy.

Getting municipal employee CPR

To allow regional and municipal employees to access national healthcare solutions from the FUT Infrastructure their CPR information is required. The Infrastructure receive CPR for regional employees directly from SEB, however, for municipal employees, CPR must be obtained from Kombit FK Org. This is done through the internal OS2Sync service* running on the Infrastructure. OS2Sync uses BrugerService and PersonService version 6 of Kombit FK Org Version 3.2.

*The image used on the FUT Infrastructure can be found on dockerhub and the source code on GitHub OS2Sync.