Versions Compared

Key

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

...

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

B1Borgerfremsøge dokumentreferencer til egne dokumenterkan se mine egne data
B2Borger på vegne affremsøge dokumentreferencer til en anden borgers dokumenterkan se data
for denne person, som jeg har en relation til
SF1Sundhedsfaglig med autorisationfremsøge dokumentreferencer til en borgers datakan se data
for denne borger
IA-1
Ikke-autoriseret sundhedsfaglig

Sundhedsfaglig med national rolle

fremsøge dokumentreferencer til en borgers datakan se dokumenter for denne borger af de typer, som min rolle giver mig adgang til
SYSystembrugerfremsøge dokumentreferencer til en borgers datakan se data for denne borger


Uddybende beskrivelse af de enkelte brugertyper samt skema der identificere en brugertype ud fra Security API.

...

For borgerkald laves der ikke registreringer i minlog og der kontrolleres ikke for behandlingsrelation.

Brugertypen: BorgerVerifikationMapning til SfskActor
HsuidHeader
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 
 


ValidityEr 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":
ValidatedHsuidAttributes.isCitizen()        true
v.isRelationChildCustodyHolder()          false
v.getActingUserCivilRegistrationNumber()   skal være udfyldt
v.getCitizenCivilRegistrationNumber()       skal være tom
v = ValidatedHsuidAttributes.getValidatedCitizenHsuidAttributes()


PrincipalUser
Må ikke være der

OrganisationIdentifierSkal være deractorId


IdentifierFormatSkal være der og skal være CVRactorIdType

Borger på vegne af

Fuldmagtsbaseret borgeropslag fra sundhed.dk via system-id-kort udstedt af sundhed.dkSundhed.dk er trustet til at lave fuldmagtsopslag fra en borger på vegne af en anden borger.

...

Når der kaldes på vegne af en anden borger skal der laves en minlog registrering og der kontrolleres ikke for behandlingsrelation.

Brugertypen: Borger på vegne afVerifikationMapning til SfskActor
HsuidHeader
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 
 


ValidityEr 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":
ValidatedHsuidAttributes.isCitizen()        true
v.isRelationChildCustodyHolder()            true
v.getActingUserCivilRegistrationNumber()   skal være udfyldt
v.getCitizenCivilRegistrationNumber()       skal være udfyldt
v = ValidatedHsuidAttributes.getValidatedCitizenHsuidAttributes()


PrincipalUser
Må ikke være der

OrganisationIdentifierSkal være deractorId


IdentifierFormatSkal være der og skal være CVRactorIdType

Sundhedsfaglig med autorisation

...

Der laves minlog registrering og der kontrolleres for behandlingsrelation.

Brugertypen: Sundhedsfaglig med autorisationVerifikationMapning til SfskActor
HsuidHeader
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 
Skal være tom


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være HealthcareProfessionalactorType


IdentifierFormatSkal være CPRactorIdType


IdentifierSkal være satactorId


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


Credentials.AuthorizationCodeSkal være sat


Credentials.NationalRoleVerificeres ikke - må gerne være der

PrincipalUser
Må ikke være der

OrganisationIdentifierSkal være der


IdentifierFormatSkal være der og skal være CVR

Client
Verificeres ikke - må gerne være der

Ikke-autoriseret sundhedsfaglig

...

Der laves minlog registering og der kontrolleres for behandlingsrelation

Brugertypen: Sundhedsfaglig med national rolleVerifikationMapning til SfskActor
HsuidHeader
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 
Skal være tom


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være HealthcareProfessionalactorType


IdentifierFormatSkal være CPRactorIdType


IdentifierSkal være satactorId


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


Credentials.AuthorizationCodeMå ikke være der


Credentials.NationalRoleSkal være der - og skal matche national rolle der er opsat i properties i SFSK

PrincipalUser
Må ikke være der

OrganisationIdentifierSkal være der


IdentifierFormatSkal 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

Der laves ikke minlog registrering (Det er fagsystemets ansvar at gøre dette) og der kontrolleres ikke for behandlingsrelation (Det er fagsystemets ansvar at gøre dette).


Brugertypen: SystembrugerVerifikationMapning til SfskActor
HsuidHeader
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 
 


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUser
Må ikke være
derDer skal være en valid HsuidHeader
der
beskriver en "Systembruger":
ValidatedHsuidAttributes.isCitizen()        false
v.getActingUserCivilRegistrationNumber()   skal være tom
v.getCitizenCivilRegistrationNumber()       skal være tom
v = ValidatedHsuidAttributes.getValidatedCitizenHsuidAttributes()


PrincipalUser
Må ikke være der

OrganisationIdentifierSkal være deractorId


IdentifierFormatSkal være der og skal være CVRactorIdType


 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
displayNamesfsk-brugertyper-transformationer
namesfsk-brugertyper-transformationer
pagePin

...

2


System 

System >>

Brugertypen Borger

Verifikation

Mapning til DDS ServiceActor

cprFromPayload

HSUID Header

userType
Er givet fra securityContext pga. rollen borger

Skal være der og skal være CITIZEN

Brugertypen: Borger

på vegne af

actingUser fra securityContext.

ActingUserCpr

cprFromPayload skal være sat og være  anderledes end actingUser.

ResponsibleUserCpr (fra payload)



actingUserCivilRegistrationNumber


Skal være der


ActingUserCpr


responsibleUserRegistrationNumber


Må ikke være der



orgUsingIDType


Verificeres ikke - må gerne være der



orgUsingIDName


Verificeres ikke - må gerne være der



systemName


Verificeres ikke - må gerne være der



systemVersion

systemName

systemName fra actor mappes

systemNameuserAuthorizationCode


Verificeres ikke - må gerne være der

vha. actinguser fra security context og cprFromPayload findes en relation



userAuthorizationCode


Verificeres ikke - må gerne være der

relation



System >>

Brugertypen Borger på vegne af 

VerifikationMapning 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


relation


Skal være sat og en af følgende skal returnere true:

isRelationChildCustodyHolder

isRelationProxyHolder

relation


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
(kun værge/forældremyndighed, ikke fuldmagt)

relation


Actor cvr skal være whitelisted

System >>

Brugertypen System

VerifikationMapning til DDS ServiceActor

HSUID Header

userType
Skal

Må ikke være der
og skal være CITIZEN

Brugertypen:

Borger

System



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

...

  • hsuid authorisationkode skal matche den på aktøren

...

 Kald af bagvedliggende services

...