Page History
...
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.
...
For borgerkald laves der ikke registreringer i minlog og der kontrolleres ikke for behandlingsrelation.
Brugertypen: Borger | Verifikation | Mapning til SfskActor |
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 |
ValidatedHsuidAttributes.isCitizen() true
v.isRelationChildCustodyHolder() false
v.getActingUserCivilRegistrationNumber() skal være udfyldt
v = ValidatedHsuidAttributes.getValidatedCitizenHsuidAttributes()
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.
...
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 af | Verifikation | Mapning til SfskActor |
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 |
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 | |||
Organisation | Identifier | Skal være der | actorId | |
IdentifierFormat | Skal være der og skal være CVR | actorIdType |
Sundhedsfaglig med autorisation
...
Der laves minlog registrering og der kontrolleres for behandlingsrelation.
Brugertypen: Sundhedsfaglig med autorisation | Verifikation | Mapning til SfskActor |
SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der |
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 | |||
Credentials.NationalRole | Verificeres ikke - må gerne være der | |||
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
...
Der laves minlog registering og der kontrolleres for behandlingsrelation
Brugertypen: Sundhedsfaglig med national rolle | Verifikation | Mapning til SfskActor |
SecurityContext | Ticket | Audience | Verificeres ikke - må gerne være der |
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 | Må ikke 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
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: Systembruger | Verifikation | Mapning til SfskActor |
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 |
ValidatedHsuidAttributes.isCitizen() false
v.getActingUserCivilRegistrationNumber() skal være tom
v.getCitizenCivilRegistrationNumber() skal være tom
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 | ||||||
---|---|---|---|---|---|---|
|
HSUID Header | userType | Skal være der og skal være CITIZEN |
Brugertypen: Borger |
cprFromPayload
Er givet fra securityContext pga. rollen borger
Brugertypen: Borger på vegne af
actingUser fra securityContext.
cprFromPayload skal være sat og være anderledes end actingUser.
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 |
systemName fra actor mappes |
systemVersion | Verificeres ikke - må gerne være der | |||
userAuthorizationCode | Verificeres ikke - må gerne være der |
vha. actinguser fra security context og cprFromPayload findes en 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 |
Må ikke være der |
Brugertypen: |
System | |
actingUserCivilRegistrationNumber |
Må ikke |
være der |
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 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
...