Versions Compared

Key

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

...

  • Borger (alm og på vegne af)
  • Sundhedsperson (alm og på vegne af)
  • Ikke-autoriseret sundhedsprofessionel
  • Systembruger (alm og på vegne af)

Systembrugeren er der kun således at systemer (i praksis sundhed.dk) kan anvende DDS og ved hjælp af en medsendt HSUID header kan opnå status som een rigtig brugertype.

Bestemmelse og mapning til actor

De enkelte brugertyper bestemmes udfra modellen, der udstilles i Security API. Disse regler er opsummeret i tabellerne nedenfor.v


Brugertypen: BorgerVerifikationMapning til MinSpærring ServiceActor
SecurityContextTicketAudience

Matche audience som findes som konfiguration i DDS

Skal være der

audience


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserType

Skal være Citizen

Brugertypen: Borger


IdentifierFormat

Skal være CPR

Verificeres ikke - må gerne være der




Identifier

Skal være sat

Verificeres ikke - må gerne være der

ActingUserCpr


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


CredentialsVerificeres ikke - må gerne være der


PersistentUniqueKeyVerificeres ikke - må gerne være der

PrincipalUser
Må ikke være der

Organisation

Må ikke være der

Verificeres ikke - må gerne være der



ClientNameVerificeres ikke - må gerne være dersystemName

...


Brugertypen: SundhedspersonVerifikationMapning til MinSpærring ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være HealthCareProfessionalBrugertypen: Sundhedsfaglig


IdentifierFormat

Skal være CPR

Verificeres ikke - må gerne være der




Identifier

Skal være sat

Verificeres ikke - må gerne være der

ActingUserCpr


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


Credentials.NationalRole

Må ikke være der

Verificeres ikke - må gerne være der




Credentials.AuthorizationCodeSkal være derAuthorizationCode


PersistentUniqueKeyVerificeres ikke - må gerne være der

PrincipalUser
Må ikke være der

OrganisationIdentifier

Skal være der

Verificeres ikke - må gerne være der




identifierFormat

Skal være der og skal være CVR

Verificeres ikke - må gerne være der



ClientNameVerificeres ikke - må gerne være dersystemName

...


Brugertypen: Ikke-autoriseret sundhedsprofessionelVerifikationMapning til DDS ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være HealthCareProfessionalBrugertypen: Sundhedsfaglig


IdentifierFormat

Skal være CPR

Verificeres ikke - må gerne være der




Identifier

Skal være sat

Verificeres ikke - må gerne være der

ActingUserCpr


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


Credentials.NationalRoleMå gerne være der, og anvendes hvis den er. Ellers anvendes "ingen rolle"NationalRole


Credentials.AuthorizationCodeMå ikke være der


PersistentUniqueKeyVerificeres ikke - må gerne være der

PrincipalUser
Må ikke være der

OrganisationIdentifier

Skal være der

Verificeres ikke - må gerne være der




identifierFormat

Skal være der og skal være CVR

Verificeres ikke - må gerne være der



ClientNameVerificeres ikke - må gerne være dersystemName

...

Brugertypen: SystemVerifikationMapning til DDS ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeMå ikke være derBrugertypen: System

PrincipalUser
Må ikke være der

OrganisationIdentifier

Skal være der

Verificeres ikke - må gerne være der

Hvis brugertypen transformeres til en anden type, tjekkes at dette cvr nummer er whitelistet.

cvr


identifierFormat

Skal være der og skal være CVR

Verificeres ikke - må gerne være der



ClientNameVerificeres ikke - må gerne være dersystemName
Brugertypen: Ikke defineretVerifikationMapning til DDS ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 
ValidityEr validMessageVerificeres ikke - må gerne være derActingUserUserTypeActingUser må ikke være derBrugertypen: Ikke defineretPrincipalUserMå ikke være derOrganisationIdentifierVerificeres ikke - må gerne være deridentifierFormatVerificeres ikke - må gerne være derClientNameVerificeres ikke - må gerne være dersystemName
Brugertypen: Ikke defineret på vegne afVerifikationMapning til DDS ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 
ValidityEr validMessageVerificeres ikke - må gerne være derActingUserUserTypeActingUser må ikke være derBrugertypen: Ikke defineret på vegne afPrincipalUserSkal være derOrganisationIdentifierVerificeres ikke - må gerne være deridentifierFormatVerificeres ikke - må gerne være derClientNameVerificeres ikke - må gerne være dersystemName
Transformation af Udefineret bruger

En udefineret bruger giver ikke mening i sig selv, og skal mappes over til en rigtig bruger. Andre typer brugere kan også mappes til nye typer



Transformation af brugertyper

En system bruger giver ikke mening i sig selv, og skal mappes over til en rigtig bruger. Andre brugertyper kan også mappes til andre typer på baggrund af hsuid header information. Der findes følgende tranformationer:

  • Ikke-autoriseret sundhedsprofessionel >> Sundhedsperson
  • Ikke-autoriseret sundhedsprofessionel >> Sundhedsperson på vegne af
  • Borger >> Borger på vegne af
  • Udefineret type >> borger på vegne af
  • Udefineret type >> borger
  • Udefineret type på vegne af >> Sundhedsperson på vegne af
  • System >> Sundhedsperson
  • System >> Sundhedsperson på vegne af
  • Sundhedsperson >> Sundhedsperson på vegne af
  • Ikke-autoriseret sundhedsprofessione sundhedsprofessionel >> Sundhedsperson på vegne af
  • System >> borger på vegne af
  • System >> borger borger >> borger på vegne af

...

  • borger >> borger på vegne af


System >>

Brugertypen Sundhedsperson

VerifikationMapning til DDS ServiceActor

HSUID Header

userType
Skal være der og være HEALTHCAREPROFESSIONAL

Brugertypen: Sundhedsfaglig


actingUserCivilRegistrationNumber


Skal være sat

ActingUserCpr


responsibleUserRegistrationNumber


Må ikke være sat eller hvis sat skal den være anderledes end actingUserCivilRegistrationNumber



orgUsingIDType


Verificeres ikke - må gerne være der

healthcareOrgType


orgUsingIDName


Verificeres ikke - må gerne være der

healthCareOrg


systemName


Verificeres ikke - må gerne være der

systemName fra SecurityContext


systemVersion


Verificeres ikke - må gerne være der

systemName (postfix)


userAuthorizationCode


Skal være sat og valideres mod db

AuthorizationCode

...

der

System >>

Brugertypen Borger

VerifikationMapning 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


systemName


Verificeres ikke - må gerne være der

systemName fra SecurityContext


systemVersionVerificeres ikke - må gerne være der

systemName (postfix)

userAuthorizationCode


Verificeres ikke - må gerne være

-------- vvv nedenfor skal slettes når enig

  • Ikke-autoriseret sundhedsprofessionel >> Sundhedsperson
  • Ikke-autoriseret sundhedsprofessionel >> Sundhedsperson på vegne af
  • Borger >> Borger på vegne af
  • Udefineret type >> borger på vegne af
  • Udefineret type >> borger
  • Udefineret type på vegne af >> Sundhedsperson på vegne af

. Systembrugeren er der kun således at systemer (i praksis sundhed.dk) kan anvende DDS og ved hjælp af en medsendt HSUID header kan opnå status som een af brugertyperne Borger eller Sundhedsfaglig

der

systemName (postfix)


userAuthorizationCode


Verificeres ikke - må gerne være der






-------- vvv nedenfor skal slettes når enigHar fjernet sunhed.dk i parentest efter brugertyperne. skal måske sættes på igen. 



Ikke-autoriseret sundhedsprofessionel >>

Brugertypen Sundhedsperson

VerifikationMapning til DDS ServiceActor

HSUID Header

userType
Skal være der og være HEALTHCAREPROFESSIONAL

Brugertypen: Sundhedsfaglig




actingUserCpr på SecurityContext skal være tom



actingUserCivilRegistrationNumber


Skal være sat

ActingUserCpr


responsibleUserRegistrationNumber


Verificeres ikke - må gerne være der

Må ikke være sat eller være anderledes end actingUserCivilRegistrationNumber



orgUsingIDType


Verificeres ikke - må gerne være der

healthcareOrgType


orgUsingIDName


Verificeres ikke - må gerne være der

healthCareOrg


systemName


Verificeres ikke - må gerne være der

systemName fra SecurityContext


systemVersion


Verificeres ikke - må gerne være der

systemName (postfix)


userAuthorizationCode


Skal være sat og valideres mod db??

AuthorizationCode

...

  • Sundhedsperson alm og på vegne af:
    • organisationIdtype fra hsuid
    • organisationId fra hsuid
  • Ikke autoriseret sundhedsprofessionel:
    • organisationIdtype fra hsuid
    • organisationId fra hsuid
    • hvis ingen antional rolle sættes rollen "ingen_idkort_rolle"
  • CitizenOnBehalfOf
    • Relation mellem borgere findes


Brugertyperne bliver til sidst valideret for:

  • Borger
  • Ikke autoriseret sundhedsprofessionel
    • Hvis hsuidheader er af typen citizen og har cpr nummer, så skal dette matche security context acting user
  • Alle roller
    • acting user cpr på security context skal matche den på hsuid header hvis udfyldt
  • Borger på vegne af
    • Der skal være fundet en relation eller den påstående (via hsuid) relation skal kontrolleres
  • Sundhedsperson og sundhedsperson på vegne afSundhedsperson
    • hvis authorisationkode stammer fra hsuid header valideres denne kode
    • hvis hsuidheader er af typen healthcareprofessional og security context acting user er udfyldt, skal denne match den på hsuid header.authorisationkode stammer fra hsuid skal den matche den fra security context
  • Den endelige brugertype må ikke være "Udefineret type"  eller "Udefineret type på vegne af"af typen System
  • Der skal være een og kun een type



Brugertyper og adgangsscenarier

...