Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootDin digitale tandlægevælger (DDTV) - Leverancebeskrivelse
includeroottrue


Indhold

Table of Contents

Komponenter

Dette dokument dækker følgende komponenter på NSP:

...

  • Type: SOAP Webservice

  • Filnavn: idsas-registration.war

  • Url: <serverurl>/idsas-registration

  • Status-url: <serverurl>/idsas-registration/status

  • DKS-config: <serverurl>/idsas-registration/20230601/dksconfig
  • DKS-config: <serverurl>/idsas-registration/20240124/dksconfig

  • Type: SOAP Webservice

  • Filnavn: idsas-lookup.war

  • Url: <serverurl>/idsas-lookup

  • Status-url: <serverurl>/idsas-lookup/status

  • DKS-config: <serverurl>/idsas-lookup/20230601/dksconfig
  • DKS-config: <serverurl>/idsas-lookup/20240124/dksconfig
  • Type: SOAP Webservice

  • Filnavn: idsas-salt.war

  • Url: <serverurl>/idsas-salt

  • Status-url: <serverurl>/idsas-salt/status

  • DKS-config: <serverurl>/idsas-salt/dksconfig

  • Type: Webservlet
  • Filnavn: idsas-operations.war
  • Url: <serverurl>/idsas-operations
  • Status-url: <serverurl>/idsas-operations/status

  • Version-url: <serverurl>/idsas-operations/version

Konfiguration

Servicekonfiguration

Grundlæggende konfiguration foregår ved redigering i filerne idsas-registration.propertiesidsas-lookup.properties, idsas-salt.properties og idsas-operations.properties. I alle tilfælde skal de placeres i følgende WildFly modul:

...

Property

Beskrivelse

Påkrævet

Default værdi

idsas.patient.id.saltPrefix

Salt til hashing af patientId'ere. Se afsnittet længere nede.

Ja


idsas.patient.id.saltPostfix

Salt til hashing af patientId'ere. Se afsnittet længere nede.

Ja


log4j konfiguration

Log4j konfiguration for begge services findes i samme wildfly modul som servicekonfigurationen

Se yderligere opsætning i installationsvejledningen.

Salt til hashing af patientId'ere

Til hashing af patientId'ere i databasen, anvendes den salt som er angivet i konfigurations-filen "idsas-patient-id-salt.properties". Salten angives som to tekststrenge; en prefix og en postfix. 

...

Code Block
languagejava
titleSQL-query med patientId til at genskabe hash
linenumberstrue
collapsetrue
select sha2(concat('saltprefix', '1111111118', 'saltpostfix'), 256);

Overvågning

Alle IDSAS services udstiller en overvågningsside, som findes i listen af komponenter.

Fortolkning af overvågningsside

Overvågningssiderne returnerer enten:

  • HTTP 200, hvis servicen i øjeblikket kører fint.
  • HTTP 503, hvis der er opstået en fejl der kræver indgriben.

Audit-logning

Hvert servicekald medfører en ny indgang i auditloggen, som kan være udfyldt med følgende komponenter, afhængig af konteksten:

...

Code Block
languagetext
titleCreateBlurring eksempel
collapsetrue
{
  "time": "2023-06-12T11:42:23.664Z",
  "category": "dk.sds.nsp.audit.log.idsas",
  "audit": {
    "timestamp": "2023-06-12T13:42:22.972+02:00",
    "components": [
      {
        "component": "IDSAS",
        "contexts": [
          {
            "context": "createBlurring",
            "information": [
              {
                "key": "cpr",
                "type": "RPI",
                "value": "1234567890"
              },
              {
                "key": "cvr",
                "type": "NPI",
                "value": "33257872"
              }
            ]
          }
        ]
      }
    ]
  },
  "access": {
    "code": 200,
    "duration": 95,
    "httpHeaders": {
      "Content-Type": "text/xml;charset=UTF-8",
      "SOAPAction": "CreateBlurring"
    },
    "httpHost": "localhost",
    "idCardAttributes": {
      "medcom:CareProviderID": "33257872",
      "medcom:CareProviderName": "Sundhedsdatastyrelsen",
      "medcom:ITSystemName": "Service Consumer Test",
      "medcom:UserAuthorizationCode": "6QF17",
      "medcom:UserRole": "7170",
      "sosi:AuthenticationLevel": "4",
      "sosi:IDCardID": "SIjvZBkfZ1yAWSpYFcLpvw==",
      "sosi:IDCardType": "user",
      "sosi:IDCardVersion": "1.0.1"
    },
    "method": "POST",
    "path": "/idsas/20230601/service",
    "query": "",
    "port": 8080,
    "protocol": "http",
    "reqSize": 7204,
    "resSize": 211,
    "soapHeaders": {
      "FlowID": "72111931-fe3b-4956-bea3-20e8c5be9ce0",
      "Issuer": "TEST1-NSP-STS",
      "MessageID": "76315a15-0fb2-4df7-9e3e-53a3b28fb700",
      "NameID": "urn:uuid:46559bb9-d720-48b7-b9bd-c280915768d0"
    },
    "threadId": "default task-1",
    "time": "2023-06-12T13:42:22.968+02:00",
    "stats": {
      "handlerDuration": 583,
      "RequestContentDuration": 41,
      "ResponseContentDuration": 0,
      "SecurityProtocolRequestDuration": 368,
      "SecurityProtocolResponseDuration": 0,
      "bufferAllocated": true,
      "usedBuffers": 1,
      "activeBuffersInPool": 1,
      "idleBuffersInPool": 0
    }
  }
}

Whitelisting af anvendere

De enkelte anvenderes ID skal whitelistes til at bruge IDSAS. Et ID vil typisk være et CVR.

...

Note-feltet kan fx anvendes til at referere en supportsag eller lignende for sporingshensyn. Kun actor_id og type er obligatorisk.

Oprettelse/fornyelse af salt

Oprettelse/fornyelse af salt sker via et HTTP GET kald til <serverurl>/idsas-operations/renew-salt

Dette kald skal laves for at oprette det første salt, og efterfølgende for at forny saltet, når der er behov.

Baggrundsjobs

Overvågning af baggrundsjobs

Der findes et status og et alarm-endpoint for hver baggrundsjob. De har følgende url'er:

...

De to alarm-endpoints er som udgangspunkt tomme og returnerer 200, men kan give en alarm-besked og status 500, hvis jobbet er i problemer.

Oprydningsjob af gamle sløringer

Oprydningsjobbet startes via et HTTP GET kald til <serverurl>/idsas-operations/cleanup-blurrings

...

Blurring Cleanup Job StatusNOT_STARTED, NOT_FINISHED, FINISHED

Oprydningsjob af sløringer for afdøde personer

Oprydningsjobbet startes via et HTTP GET kald til <serverurl>/idsas-operations/cleanup-blurrings-deceased

...

Blurring Cleanup Deceased Job StatusNOT_STARTED, NOT_FINISHED, FINISHED

Aktivering af Kafka-consumer

Jobbet startes via et HTTP GET kald til <serverurl>/idsas-operations/kafka-consume

...