Page History
...
Sikkerhedshåndtering i SFSK
Brugertyper
SFSK anvender det på platformen udstillede security-api til at validere de indkommende requests. Alle kald til SFKS skal være lovlige DGWS kald. SFSK understøtter følgende brugertyper:
ID | Som en... | ønsker jeg at.. | så jeg... |
|---|---|---|---|
| B1 | Borger | fremsøge dokumentreferencer til egne dokumenter | kan se mine egne data |
| B2 | Borger på vegne af |
...
| fremsøge dokumentreferencer til en anden borgers dokumenter | kan se data på denne person, som jeg har en relation til | ||
| SF1 | Sundhedsfaglig med autorisation | fremsøge dokumentreferencer til en borgers data | kan se data på denne borger |
| IA-1 | Ikke-autoriseret sundhedsfaglig | fremsøge dokumentreferencer til en borgers data | kan se dokumenter for denne borger af de typer, som min rolle giver mig adgang til |
...
| Systembruger |
Uddybende beskrivelse af de enkelte brugertyper samt skema der identificere en brugertype ud fra Security API.
Bestemmelse og mapning til actor
Borger
Borgerkald sker fra sundhed.dk via system-id-kort udstedt af sundhed.dk.
...
| Brugertypen: Borger | Verifikation | Mapning til SfskActor | HsuidHeader | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | ||
| Validity | Er valid | ||||
| Message | Verificeres ikke - må gerne være der | ||||
| ActingUser | Må ikke være der | Der skal være en valid HsuidHeader der beskriver en "Borger": | |||
| PrincipalUser | Må ikke være der | ||||
| Organisation | Identifier | Skal være der | actorId | ||
| IdentifierFormat | Skal være der og skal være CVR | actorIdType | |||
...
Borger på vegne af
...
Fuldmagtsbaseret borgeropslag fra sundhed.dk via system-id-kort udstedt af sundhed.dk. Sundhed.dk er trustet til at lave fuldmagtsopslag fra en borger på vegne af en anden borger.
...
| Brugertypen: Borger på vegne af anden borger | Verifikation | Mapning til SfskActor | HsuidHeader | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | ||
| Validity | Er valid | ||||
| Message | Verificeres ikke - må gerne være der | ||||
| ActingUser | Må ikke være der | Der skal være en valid HsuidHeader der beskriver en "Borger på vegne af anden borger": | |||
| PrincipalUser | Må ikke være der | ||||
| Organisation | Identifier | Skal være der | actorId | ||
| IdentifierFormat | Skal være der og skal være CVR | actorIdType | |||
...
Sundhedsfaglig med autorisation
Sundhedsfaglig opslag fra Sundhedsjournalen (og andre whitelistede fagsystemer) med medarbejderbaseret-id-kort (niveau 4). Sundhedsfaglige med autorisation, kan lave opslag på borgerens Fælles stamkort via Sundhedsjournalen
...
| Brugertypen: Sundhedsfaglig med autorisation | Verifikation | Mapning til SfskActor | HsuidHeader | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | Skal være tom | |
| Validity | Er valid | ||||
| Message | Verificeres ikke - må gerne være der | ||||
| ActingUser | UserType | Skal være HealthcareProfessional | actorType | ||
| IdentifierFormat | Skal være CPR | actorIdType | |||
| Identifier | Skal være sat | actorId | |||
| GivenName | Verificeres ikke - må gerne være der | ||||
| SurName | Verificeres ikke - må gerne være der | ||||
| Credentials.AuthorizationCode | Skal være sat | ||||
| PrincipalUser | Må ikke være der | ||||
| Organisation | Identifier | Skal være der | |||
| IdentifierFormat | Skal være der og skal være CVR | ||||
| Client | Verificeres ikke - må gerne være der | ||||
...
Ikke-autoriseret sundhedsfaglig
Sundhedsfaglig opslag fra Sundhedsjournalen (og andre whitelistede fagsystemer) med medarbejderbaseret-id-kort (niveau 4) hvor national rolle er tilknyttet (nspSundAssistR1 og nspSundAssistR2 giver adgang til Fælles Stamkort)
...
| Brugertypen: Sundhedsfaglig med national rolle | Verifikation | Mapning til SfskActor | HsuidHeader | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | Skal være tom | |
| Validity | Er valid | ||||
| Message | Verificeres ikke - må gerne være der | ||||
| ActingUser | UserType | Skal være HealthcareProfessional | actorType | ||
| IdentifierFormat | Skal være CPR | actorIdType | |||
| Identifier | Skal være sat | actorId | |||
| GivenName | Verificeres ikke - må gerne være der | ||||
| SurName | Verificeres ikke - må gerne være der | ||||
| Credentials.NationalRole | Skal være der - og skal matche national rolle der er opsat i properties i SFSK | ||||
| PrincipalUser | Må ikke være der | ||||
| Organisation | Identifier | Skal være der | |||
| IdentifierFormat | Skal være der og skal være CVR | ||||
| Client | Verificeres ikke - må gerne være der | ||||
...
Systembruger
Systembaserede opslag fra whitelistede fagsystemer via system-id-kort. Fagsystemer kan enten lave systembaserede opslag, eller via systembaserede opslag opbygge en en lokal registerkopi af Fælles Stamkort, som holdes opdateret ud fra adviseringer fra underliggende registre
...
| Brugertypen: Systembruger | Verifikation | Mapning til SfskActor | HsuidHeader | ||
| SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der | ||
| Validity | Er valid | ||||
| Message | Verificeres ikke - må gerne være der | ||||
| ActingUser | Må ikke være der | Der skal være en valid HsuidHeader der beskriver en "Systembruger": | |||
| PrincipalUser | Må ikke være der | ||||
| Organisation | Identifier | Skal være der | actorId | ||
| IdentifierFormat | Skal være der og skal være CVR | actorIdType | |||
Transformation af brugertyper
Ved kald til SFSK kan en systembruger i virkeligheden være et kald fra en anden brugertype. Det er informationer på HsuidHeaderen der afgør om den skal transformeres til en anden brugertype. Der findes følgende tranformationer:
| Gliffy Diagram | ||||||
|---|---|---|---|---|---|---|
|
System >> Brugertypen Borger | Verifikation | Mapning til DDS ServiceActor | ||
cprFromPayload | userType | Er givet fra securityContext pga. rollen borger | Brugertypen: Borger på vegne af | |
actingUser fra securityContext. | ActingUserCpr | |||
cprFromPayload skal være sat og være anderledes end actingUser. | ResponsibleUserCpr (fra payload) | |||
systemName | systemName fra actor mappes | systemName | ||
userAuthorizationCode | Verificeres ikke - må gerne være der | |||
vha. actinguser fra security context og cprFromPayload findes en relation | relation | |||
System >> Brugertypen Borger på vegne af | Verifikation | Mapning til DDS ServiceActor | ||
HSUID Header | userType | Skal være der og skal være CITIZEN | Brugertypen: Borger på vegne af | |
actingUserCivilRegistrationNumber | Skal være der (valideres indirekte ved at relation med responsibleUser skal være tilstede) | ActingUserCpr | ||
responsibleUserRegistrationNumber | Skal være sat Skal være forskellige fra actingUserCivilRegistrationNumber | ResponsibleUserCpr | ||
orgUsingIDType | Verificeres ikke - må gerne være der | |||
orgUsingIDName | Verificeres ikke - må gerne være der | |||
systemName | Verificeres ikke - må gerne være der systemName fra actor mappes | systemName | ||
systemVersion | Verificeres ikke - må gerne være der | |||
userAuthorizationCode | Verificeres ikke - må gerne være der | |||
vha. actinguser fra hsuid og responsible user fra hsuid slåes den påstående hsuid relation op | relation | |||
Actor cvr skal være whitelisted | ||||
System >> Brugertypen System | Verifikation | Mapning til DDS ServiceActor | ||
HSUID Header | userType | Skal være der og skal være CITIZEN | Brugertypen: Borger | |
actingUserCivilRegistrationNumber | Verificeres ikke - må gerne være der | ActingUserCpr | ||
responsibleUserRegistrationNumber | Verificeres ikke - må gerne være der | ResponsibleUserCpr | ||
orgUsingIDType | Verificeres ikke - må gerne være der | |||
orgUsingIDName | Verificeres ikke - må gerne være der | |||
systemName | Verificeres ikke - må gerne være der systemName fra actor mappes | systemName | ||
systemVersion | Verificeres ikke - må gerne være der | |||
userAuthorizationCode | Verificeres ikke - må gerne være der | |||
Actor cvr skal være whitelisted | ||||
Brugertyperne bliver til sidst valideret for:
- Alle roller, hvis hsuid header medsendt:
- hsuid rollen skal matche den på security context
- hsuid acting user cpr skal matche den aktøren
- Borger på vegne af
- Der skal være en relation
- Sundhedsfaglig og Sundhedsfaglig på vegne af
- hsuid authorisationkode skal matche den på aktøren
- Den endelige brugertype må ikke være af typen System
Kald af bagvedliggende services
...