Introduktion

Formål

Formålet med dette dokument er at beskrive systemarkitekturen for IDSAS.

Læsevejledning

Nærværende dokument er tiltænkt udviklere og IT-arkitekter med interesse i IDSAS og dens opbygning.

Overblik over IDSAS

Løsningens afhængigheder

IDSAS anvender NSP libraries:

Løsningens opbygning

Nedenstående diagram viser opbygningen af IDSAS som service. Diagrammet er en forenkling, da der i praksis er tale om to services:

De to services ret ens opbygget, har en del fælles kode som de deler om via et maven-modul, har samme programstruktur og bruger samme database.

De to integrationer, "personinformation" og "SORES" bruges kun i den første service, "idsas".

Selve løsningen består af følgende moduler i maven:

ModulnavnBeskrivelse
idsas-apiSelve API'en, for begge services, defineres i dette modul som WSDL-filer. Modules primære formål er at generere Java-kode ud fra WSDL'erne, som kan bruges i de andre moduler.
idsas-commonFælles kode for de to moduler, primært utility-funktioner og DAO-klasser.
idsas-integration-testsEn modul som indeholder alle integrationstests for begge services.
idsas-integrationsEt modul som indeholder de to integrationer til "personinformation" og "SORES". Anvendes af "idsas-service".
idsas-lookup-webWeb-modulet til Opslag, som håndterer opstart af service og producerer den war-fil, der skal deployes.
idsas-servicesForretningslogik til alle services findes i dette modul, samt forretningslogik til de to batchjobs i "idsas-operations-web".
idsas-webWeb-modulet til "Slørring", som håndterer opstart af service og producerer den war-fil, der skal deployes.
idsas-operations-webWeb-modulet med endpoints til automatiske jobs: Fornyelse af salt, sletning af inaktive sløringer.

Sikkerhed

Brugertyper

Der findes følgende brugertyper i IDSAS:

De enkelte brugertyper bestemmes ud fra modellen, der udstilles i Security API. Disse regler er opsummeret i skemaerne nedenfor. Sikkerhedsmodellen tager udgangspunkt i Security API - Guide til anvendere.

Brugertypen: SundhedsfagligVerifikationMapning til IDSAS ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være HealthcareProfessionalBrugertypen: Sundhedsfaglig


IdentifierFormatSkal være CPR


IdentifierSkal være sat


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


CredentialsVerificeres ikke - må gerne være der

PrincipalUser
Må ikke være der

OrganisationIdentifierSkal være derorganisationIdentifier


IdentifierFormatSkal være der og skal være CVR

Client
Verificeres ikke - må gerne være der
Brugertypen: SystemVerifikationMapning til IDSAS ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUser
Må ikke være derBrugertypen: System

PrincipalUser
Må ikke være der

OrganisationIdentifierSkal være derorganisationIdentifier


IdentifierFormatSkal være der og skal være CVR

Clientname

Skal være der ved kald til GetBlurredOrganisations, og må også gerne være der ellers (men verificeres ikke).
Bruges aktuelt til at tjekke at det er STS'en der kalder, og ingen andre.

clientSystemName


getPersistentUniqueKeySkal være der ved kald til GetCurrentSalt, og må også gerne være der ellers (men verificeres ikke)
Bruges til whitelisting af de anvendersystemer der skal hente salt til pseudoanonymisering.
clientKey