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
...