Versions Compared

Key

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

...

  • NSP komponenter

    • Consent-verification

      • Type: Webservice

      • Filnavn: consent-verification.ear

      • Url: <serverurl>/consent-verification/service

      • StatusUrl: <serverurl>/consent-verification/info/status
      • Versionsurl: <serverurl>/consent-verification/info/version

      • DKS-konfiguration:

        • <serverurl>/consent-verification/dccconfig/dks

        • <serverurl>/consent-verification/dccconfig20251211/dks
  • DoDi – Dataopdateringkomponenter

    • Consent-administration

      • Type: Webservice

      • Filnavn: consent-administration.ear

      • Url: <serverurl>/consent-administration/service

      • Url: <serverurl>/consent-administration/servicev2
      • StatusUrl: <serverurl>/consent- administration/info/status
      • Versionsurl: <serverurl>/consent-administration/info/version

      • DKS-konfiguration:

        • <serverurl>/consent-administration/dccconfig/dks

        • <serverurl>/consent-administration/dccconfigidws/dks
        • <serverurl>/consent-administration/dccconfigadmin20/dks
        • <serverurl>/consent-administration/dccconfig20/dks
        • <serverurl>/consent-administration/dccconfigidws20/dks

Consent-administration komponenten anvender desuden Min-log-registreringsservicen, som skal være tilgængelig på DoDi’en.

...

Property

Beskrivelse

idcard.version

Servicen afviser kald, hvor ID-kort i Security-header ikke har versionsnummer opgivet som værdien af denne property. Angives til 1.0.1

sts.test.mode

Angiver med værdien true at servicen benytter test-STS. Værdien skal være ’false’ i drift, hvorved den rigtige SOSI-STS anvendes.

log.config.file

Angiver placering af log4j properties

databasecheck.statement.consent

Se databasemonitorering beskrevet i afsnit 4.3.1.2.



databasecheck.statement.what

databasecheck.statement.who

whitelistds.statement

servicestatuscheck.database.failurethreshold

Antal kald til lokal database der må fejle før der meldes 500 på statussnitfladen

wsdl.app.endpoint

Det endpoint, hvor servicen bor. Dette anvendes af wsdl servlet til at returnere en korrekt service location.

dk.nsi.app.name

Navn på system til SLA-logning.

dk.nsi.app.shortName

Kort navn på system til SLA-logning.

dk.nsi.consent.valid.from.allowed.skew.seconds

Angiver i sekunder, hvor langt tilbage i tide validFrom-tidsstemplet må ligge i forhold til 'nu'.

nas.notification.endpoint

Angiver det endpoint, som Cprindlæseren skal kalde NAS notification service på.

nas.topicAngiver det Topic, som skal anvendes, når der sendes notifications til NAS.
client.minlog.propertiesAngiver placering af properties til kald af MinLog2

dk.nsi.consent.validate.healthcare.professional.cpr

Flag der angiver om cpr-nummer på sundhedsfaglig medarbejder skal valideres ved kald til SAES, når der oprettes eller ændres spærringer.

dk.nsi.consent.validate.organization

Flag der angiver om organisationsnumre (SOR-, SHAK- og ydernummer) skal valideres ved kald til SORES og SYES, når der oprettes eller ændres spærringer.

registration.log.organisation_name

Angiver standard organisationsnavnet, der bliver sendt til MinLog Registreringsservicen.

default.creating.system.nameI IDWS tilfældet er det dette navn der bliver brugt default.creating.system.nameI IDWS tilfældet er det dette navn der bliver brugt på spærringerne som oprettene system.
dk.nsp.minspaerring.administration.national.rolleDen nationale rolle, der er krævet for at en administrativ medarbejder kan anvende admin-snitfladen
dkcitizen.nsp.minspaerring.administration.rediger.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder redigerer en frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.tilfoj.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder tilføjer en frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.ophaev.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder ophæver en frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.hent.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder indhenter oplysninger om  spærringer på vegne af en ikke digital borger
citizen.powerofattorney.privilegesFuldmagts-streng for borger
citizen.powerofattorney.enabledAngiver om muligheden med fuldmagt for borger er enabled. Default er false, dvs den ikke er.

I den properties-fil, der udpeges af propertien ”client.minlog.properties”, skal følgende properties defineres:

powerofattorney.privilegesFuldmagts-streng for borger
citizen.powerofattorney.enabledAngiver om muligheden med fuldmagt for borger er enabled. Default er false, dvs den ikke er.
dk.nsi.dcc.endpoint.administrationAngiver det endpoint, som DCC'en skal kalde for at ramme samtykke DGWS snitfladen. Dette kommer til at fremgå af den XML, der returneres i /dccconfig/dks
dk.nsi.dcc.endpoint.administration.idwsAngiver det endpoint, som DCC'en skal kalde for at ramme samtykke IDWS snitfladen. Dette kommer til at fremgå af den XML, der returneres i /dccconfigidws/dks
dk.nsi.dcc.endpoint.administration.admin.v20Angiver det endpoint, som DCC'en skal kalde for at ramme samtykke Admin v2.0 snitfladen. Dette kommer til at fremgå af den XML, der returneres i /dccconfigadmin20/dks
dk.nsi.dcc.endpoint.administration.v20Angiver det endpoint, som DCC'en skal kalde for at ramme samtykke DGWS v2.0 snitfladen. Dette kommer til at fremgå af den XML, der returneres i /dccconfig20/dks
dk.nsi.dcc.endpoint.administration.idws.v20Angiver det endpoint, som DCC'en skal kalde for at ramme samtykke IDWS v2.0 snitfladen. Dette kommer til at fremgå af den XML, der returneres i /dccconfigidws20/dks

registration.log.organisation_name

Angiver standard organisationsnavnet, der bliver sendt til MinLog Registreringsservicen.

kafka.producer.bootstrap.serversKafka endpoint, som anvendes i forbindelse med kald til MinLog2kafka.producer.client.idNavnet som Samtykkeservicen vil fremgå med i listen af Producers på et Kafka Cluster.kafka.producer.key.serializerSerializer key for Kafka producerkafka.producer.key.value.serializerSerializer value for Kafka producerkafka.topicKafka topic som anvendes i forbindelse med kald til MinLog2


Følgende properties skal være defineret, for at starte servicen op med DGWS-sikkerhed i forbindelse med adviseringer kald til NAS, SEAS, SYES:

STS
idcard.subject.id.typeSubjecttype for IDKortet
idcard.subject.idSubjectid for IDKortet
idcard.subject.nameSubjectnavn for IDKortet
idcard.levelSikkerhedsniveau for IDkortet
idcard.system.nameSystemnavn i IDkortet
sts.endpointEndpointet, hvor Samtykkeservicen skal trække sit SOSI IDkort på baggrund af sts.keystore
sts.keystoreKeystore, der indeholder DDS Repository funktionscertifikat
sts.keystore.passwordPassword til sts.keystore


Følgende properties skal være defineret når Samtykkeservicen skal kalde SAES, NAS, Personinformation, SAES,  SYES, SORES og SYES Minlog ifm. parametervalidering:

.validate.organization
NAS
dk.nsi.app.nameconsent.nas.notification.endpointNAS  endpointNavn på system til SLA-logning.
dk.nsi.appconsent.nas.shortNametopicAngiver det Topic, som skal anvendes, når der sendes notifications til NASKort navn på system til SLA-logning.
dk.nsi.consent.nas.sorconnect.servicetimeout.urlSORES millisGrænse for hvor tid det må tage at oprette forbindelse til NAS (i ms.) endpoint.
dk.nsi.consent.validatenas.healthcaremax.professionaltotal.cprconnectionsMaksimalt antal samtidige NAS-forbindelserFlag der angiver om cpr-nummer på sundhedsfaglig medarbejder skal valideres ved kald til SAES, når der oprettes eller ændres spærringer.
dk.nsi.consentFlag der angiver om organisationsnumre (SOR-, SHAK- og ydernummer) skal valideres ved kald til SORES og SYES, når der oprettes eller ændres spærringer..nas.default.max.connections.per.routeMaksimalt antal NAS-forbindelser per rute.
sor.fail.thresholdGrænse for hvor mange gange SORES-kald må fejle i træk, før SORES opfattes som usundsor SORESsor SORESsaesfailthresholdsaesreadtimeoutmillis
Personinformation
dk.nsi.consent.
personinformation.endpointPersoninformation  endpoint
dk.nsi.consent.personinformation.connect.timeout.millisGrænse for hvor tid det må tage at oprette forbindelse til Personinformation (i ms.).
dk.nsi.consent.
personinformation.max.total.connectionsMaksimalt antal samtidige
Personinformation-forbindelser.
dk.nsi.consent.
personinformation.default.max.connections.per.routeMaksimalt antal
Personinformation-forbindelser per rute.
dk.nsi.consent.personinformation.
dgws.
validation.
Grænse for hvor mange gange SAES-kald må fejle i træk, før SAES opfattes som usund.
dk.nsi.consent.saes.connect.timeout.millis
Grænse for hvor tid det må tage at oprette forbindelse til SAES (i ms.).
level

Værdi der angiver om cpr-validering er slået til i dgws-snitfladerne.

Skal være enten:

 OFF, WARNING eller REJECT.


OFF betyder at der ikke foretages nogen validering. 

WARNING betyder at der foretages validering, og skrives til audit-loggen hvis cpr-nummeret ikke er gyldigt, men kaldet fortsætter (key i audit-loggen: dk.nsp.cpr.exists.false).

REJECT betyder at udførslen af kaldet fejler.

dk.nsi.consent.
personinformation.
idws.
validation.
Grænse for hvor tid det må tage at modtage svar fra SAES (i ms.).
level

Værdi der angiver om cpr-validering er slået til i idws-snitfladerne.

Skal være enten:

 OFF, WARNING eller REJECT.


OFF betyder at der ikke foretages nogen validering.

WARNING betyder at der foretages validering, og skrives til audit-loggen hvis cpr-nummeret ikke er gyldigt, men kaldet fortsætter (key i audit-loggen: dk.nsp.cpr.exists.false).

REJECT betyder at udførslen af kaldet fejler.

SAES endpoint.syesfail.thresholdGrænse for hvor mange gange SYES-kald må fejle i træk, før SYES opfattes som usund.syes SYES syesreadtimeoutmillisGrænse for hvor tid det må tage at modtage svar fra SYES (i ms.)..syes.service.url
SAES
dk.nsi.consent.saes.service.url

dk.nsi.consent.
saes.
endpointSAES  endpoint
dk.nsi.consent.
saes.connect.timeout.millisGrænse for hvor tid det må tage at oprette forbindelse til
SAES (i ms.).
dk.nsi.consent.
saes.
max.
total.
connectionsMaksimalt antal samtidige SAES-forbindelser.
dk.nsi.consent
SYES endpoint.

...

.saes.default.max.connections.per.routeMaksimalt antal SAES-forbindelser per rute.
dk.nsi.consent.saes.fail.thresholdGrænse for hvor mange gange SAES-kald må fejle i træk, før SAES opfattes som usund.
validate.citizen.cpr.urlcprexists endpoint.validatecitizencpr.dgws.validation.levelVærdi der angiver om cpr-validering er slået til i dgws-snitfladerne. Skal være enten OFF, WARNING eller REJECT. OFF betyder at der ikke foretages nogen validering. WARNING betyder at der foretages validering, og skrives til audit-loggen hvis cpr-nummeret ikke er gyldigt, men kaldet fortsætter (key i audit-loggen: dk.nsp.cpr.exists.false). REJECT betyder at udførslen af kaldet fejler.validatecitizencpridwsvalidationlevel
SYES
dk.nsi.consent.
syes.endpointSYES  endpoint
dk.nsi.consent.
syes.
connect.
timeout.millisGrænse for hvor tid det må tage at oprette forbindelse til SYES (i ms.).
dk.nsi.consent.syes.max.total.connectionsMaksimalt antal samtidige SYES-forbindelser.
dk.nsi.consent.
syes.
default.
max.
connections.
per.
routeMaksimalt antal SYES-forbindelser per rute.
dk.nsi.consent.syes.fail.thresholdGrænse for hvor mange gange SYES-kald må fejle i træk, før SYES opfattes som usund.
dk.nsi.consent.validate.citizen.cpr cprexistsvalidate.citizen.cpr cprexists
SORES
dk.nsi.consent.sor.endpointSORES  endpoint
dk.nsi.consent.sor.connect.timeout.millisGrænse for hvor tid det må tage at oprette forbindelse til SORES (i ms.).
dk.nsi.consent.sor
Værdi der angiver om cpr-validering er slået til i idws-snitfladerne. Skal være enten OFF, WARNING eller REJECT. OFF betyder at der ikke foretages nogen validering. WARNING betyder at der foretages validering, og skrives til audit-loggen hvis cpr-nummeret ikke er gyldigt, men kaldet fortsætter (key i audit-loggen: dk.nsp.cpr.exists.false). REJECT betyder at udførslen af kaldet fejler.
.max.total.connectionsMaksimalt antal samtidige
SORES-forbindelser.
dk.nsi.consent.
sor.default.max.connections.per.routeMaksimalt antal
SORES-forbindelser per rute.

...

dk.nsi.consent.sor.fail.thresholdGrænse for hvor mange gange SORES-kald må fejle i træk, før SORES opfattes som usund.

I den properties-fil, der udpeges af propertien ”client.minlog.properties”

...

, skal følgende properties defineres:

Minlog / Kafka
minlog.producer.proxy.urlUrl til Kafka-proxy til MinLog registrering
minlog.producer.proxy.maxTotalConnectionsKonfiguration af client pool til kald af Kafka-proxy
minlog.producer.proxy.defaultMaxConnectionsPerRouteKonfiguration af client pool til kald af Kafka-proxy
minlog.producer.proxy.connectionTimeoutMsKonfiguration af client pool til kald af Kafka-proxy
minlog.producer.proxy.socketTimeoutMsKonfiguration af client pool til kald af Kafka-proxy
client.minlog.propertiesAngiver placering af properties til kald af MinLog2
dk.nsp.minspaerring.administration.rediger.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder redigerer en frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.tilfoj.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder tilføjer en frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.ophaev.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder ophæver en frabedelse på vegne af en ikke digital borger
dk.nsp.minspaerring.administration.hent.minlog.tekstDen tekst, der skrives i minlog, når en administrativ medarbejder indhenter oplysninger om  spærringer på vegne af en ikke digital borger


Eksempel på ”ConsentAdministration.properties” fil (bemærk at ”client.minlog.properties” udpeger filen selv, og at Min-log-klient properties derfor er defineret i samme fil):

Code Block
idcard.version = 1.0.1
sts.test.mode = true
default.creating.system.name = Samtykkeservicen

wsdl.app.endpoint=http://localhost:8081/consent-administration/

log.config.file=log4j-consentadministration.properties

registration.log.organisation_name=(organisationsnavn blev ikke udfyldt p\u00e5 registreringstidspunktet)

dk.nsp.minspaerring.administration.national.rolle=urn
Code Block
idcard.version = 1.0.1
sts.test.mode = false

log.config.file=consentadministration.log4j.properties

client.minlog.properties = ConsentAdministration.properties
registration.wsdl.location = http://localhost:8080/minlog-registration/service?wsdl
registration.invoker.timeout = 30000
registration.log.organisation_name=(organisationsnavn blev ikke udfyldt på registreringstidspunktet)

databasecheck.statement.consent=SELECT * FROM consent.consentitem LIMIT 1;
databasecheck.statement.what=SELECT * FROM consent.whatitem LIMIT 1;
databasecheck.statement.who=SELECT * FROM consent.whoitem LIMIT 1;
whitelistds.statement=SELECT * FROM whitelist.whitelist_config LIMIT 1;

servicestatuscheck.database.failurethreshold = 1

wsdl.app.endpoint = http://localhost:8080/consent-verification/

idcard.subject.id.type = medcom:cvrnumber
idcard.subject.id = 46837428
idcard.subject.name = NETS DANID A/S - TU VOCES gyldig
idcard.level = 3
idcard.system.name = Samtykkeservicen sts.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/sts/services/SecurityTokenService
sts.keystore = Statens_Serum_Institut_VOCES.jks
sts.keystore.password = Test1234

# Kafka
kafka.producer.bootstrap.servers=kafka:9092
kafka.producer.client.id=MinSpaerringMinLog2-producer
kafka.producer.key.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.producer.value.serializer=org.apache.kafka.common.serialization.StringSerializer
kafka.topic=MIT_TOPIC

# Ikke digitale
dk.nsp.minspaerring.administration.national.rolle=urn:dk:healthcare:national-federation-role:code:4100141008:value:SundAssistR1SpaerAdminR8

dk.nspnsi.minspaerring.administration.rediger.minlog.tekst=Administrativ medarbejder har redigeret frabedelser på vegne af borger
dk.nsp.minspaerring.administration.tilfoj.minlog.tekst=Administrativ medarbejder har tilføjet frabedelser på vegne af borger
dk.nsp.minspaerring.administration.ophaev.minlog.tekst=Administrativ medarbejder har ophævet frabedelse på vegne af borger
dk.nsp.minspaerring.administration.hent.minlog.tekst=Adm. medarbejder har indhentet oplysninger om borgers frabedelser

log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes) consentadministration.log4j.properties filen.

Se yderligere opsætning i installationsvejledningen.

SLA-log konfiguration

Konfiguration af SLA-log findes i filen nspslalog-consentadministration.properties.

DKS konfiguration

Indholdet, der returneres ved kald af DCC Konfiguration Service-snitfladen (DKS), indlæses af DDS Registry fra filen:

Code Block
/pack/wildfly8/modules/nsi/consentadministration/config/main/dksConfiguration.xml

Filen skal overholde DKS XML-skemaet og beskriver de webservice-operationer Samtykkeservicen administrationsservicen udstiller jf. [DKS-beskrivelse].

Test af DKS

Efter konfiguration og deployering af Samtykkeservicen administrationsservicen, kan DKS-snitfladen testes med:

Code Block
curl –i localhost:8081/consent-administration/dccconfig/dks

Succesfuldt svar giver indholdet svarende til dksConfiguration.xml nævnt ovenfor.

Test af versionsnummer

Efter konfiguration og deploy af Samtykkeservicen administrationsservicen kan versionsnummeret hentes via en HTTP-snitflade.

Code Block
curl –i http://localhost:8081/consent-administration/info/version

hvilket giver output I stil med:

Code Block
version 1.1.2

I eksemplet kørte servicen på en local maskine konfigureret til port 9090.

Samtykkeservicen verifikation

Service konfiguration

Grundlæggende konfiguration foregår ved redigering i filen ConsentVerification.properties, der placeres i følgende WildFly modul:

Code Block
/pack/wildfly8/modules/nsi/consentverification/config/main/

I denne skal følgende properties være definerede:

...

Property

...

Beskrivelse

...

idcard.version

...

Servicen afviser kald, hvor ID-kort i Security-header ikke har versionsnummer opgivet som værdien af denne property. Angives til 1.0.1

...

sts.test.mode

...

Angiver med værdien true at servicen benytter test-STS. Værdien skal være ’false’ i drift, hvorved den rigtige SOSI-STS anvendes.

...

log.config.file

...

Angiver placering af log4j properties.

...

databasecheck.statement.consent

...

Se databasemonitorering beskrevet i afsnit 4.3.1.2.

...

databasecheck.statement.what

...

databasecheck.statement.who

...

whitelistds.statement

...

servicestatuscheck.database.failurethreshold

...

Antal kald til lokal database der må fejle før der meldes 500 på statussnitfladen

...

wsdl.app.endpoint

...

Det endpoint, hvor servicen bor. Dette anvendes af wsdl servlet til at returnere en korrekt service location.

...

dk.nsi.app.name

...

Navn på system til SLA-logning.

...

dk.nsi.app.shortName

...

Kort navn på system til SLA-logning.

...

dk.nsi.consent.sor.service.url

...

SORES endpoint.

...

dk.nsi.consent.sor.fail.threshold

...

Grænse for hvor mange gange SORES-kald må fejle i træk, før SORES opfattes som usund.

...

dk.nsi.consent.sor.max.total.connections

...

app.name = consent-administration
dk.nsi.app.shortName = csnt-adm
dk.nsi.consent.valid.from.allowed.skew.seconds = 60
dk.nsi.consent.validate.healthcare.professional.cpr = true
dk.nsi.consent.validate.organization = true
citizen.powerofattorney.privileges=urn:dk:nspop:sts:consent
citizen.powerofattorney.enabled=false

# Database
datasource.jndi=java:/ConsentServiceDS
whiteList.datasource.jndi=java:/WhitelistDS
databasecheck.statement.consent=SELECT * FROM consentitem LIMIT 1;
databasecheck.statement.what=SELECT * FROM whatitem LIMIT 1;
databasecheck.statement.who=SELECT * FROM whoitem LIMIT 1;
whitelistds.statement=SELECT * FROM whitelist_config LIMIT 1;
servicestatuscheck.database.failurethreshold = 1

# DCC Endpoints
dk.nsi.dcc.endpoint.administration = http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service
dk.nsi.dcc.endpoint.administration.idws = http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/serviceidws
dk.nsi.dcc.endpoint.administration.admin.v20=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service-adm-2.0
dk.nsi.dcc.endpoint.administration.v20 = http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service-2.0
dk.nsi.dcc.endpoint.administration.idws.v20 = http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/serviceidws-2.0

# STS
idcard.subject.id.type = medcom:cvrnumber
idcard.subject.id = 33257872
idcard.subject.name = Sundhedsdatastyrelsen
idcard.level = 3
idcard.system.name = MinSp\u00e6rring
sts.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/sts/services/SecurityTokenService
sts.keystore = NSP_Test_Service_Consumer_sds.p12
sts.keystore.password = Test1234

# NAS integration
dk.nsi.consent.nas.notification.endpoint = http://test1.ekstern-test.nspop.dk:8080/nas2/notificationbroker/service
dk.nsi.consent.nas.topic = TESTNAS-TOPIC1
dk.nsi.consent.nas.connect.timeout.millis = 10000
dk.nsi.consent.nas.max.total.connections = 20
dk.nsi.consent.nas.default.max.connections.per.route = 20

# PersonInformation integration
dk.nsi.consent.personinformation.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1
dk.nsi.consent.personinformation.connect.timeout.millis = 10000
dk.nsi.consent.personinformation.max.total.connections = 20
dk.nsi.consent.personinformation.default.max.connections.per.route

...

Eksempel på properties fil:

Code Block
idcard.version = 1.0.1
sts.test.mode20
dk.nsi.consent.personinformation.dgws.validation.level = falseOFF

logdk.confignsi.file=consentverificationconsent.log4j.properties

databasecheck.statement.consent=SELECT * FROM consent.consentitem LIMIT 1;
databasecheck.statement.what=SELECT * FROM consent.whatitem LIMIT 1;
databasecheck.statement.who=SELECT * FROM consent.whoitem LIMIT 1;
whitelistds.statement=SELECT * FROM whitelist.whitelist_config LIMIT 1;

servicestatuscheck.database.failurethreshold = 1
wsdl.app.endpoint=http://localhost:8081/consent-administration/

Log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes) consentverification.log4j.properties filen.

Se yderligere opsætning i installationsvejledningen.

SLA-log konfiguration

Konfiguration af SLA-log findes i filen nspslalog-consentverification.properties.

DKS konfiguration

Indholdet, der returneres ved kald af DCC Konfiguration Service-snitfladen (DKS), indlæses af Samtykkeservicen verifikationsservicen fra filen:

personinformation.idws.validation.level = OFF

# Stamdata SAES
dk.nsi.consent.saes.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-authorization-lookup-ws/service/AuthorizationService
dk.nsi.consent.saes.connect.timeout.millis = 10000
dk.nsi.consent.saes.max.total.connections = 20
dk.nsi.consent.saes.default.max.connections.per.route = 20
dk.nsi.consent.saes.fail.threshold = 1

# Stamdata SYES
dk.nsi.consent.syes.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-yder-lookup-ws/service/YderService
dk.nsi.consent.syes.connect.timeout.millis = 10000
dk.nsi.consent.syes.max.total.connections = 20
dk.nsi.consent.syes.default.max.connections.per.route = 20
dk.nsi.consent.syes.fail.threshold = 1

# SORES
dk.nsi.consent.sor.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/sores/
dk.nsi.consent.sor.connect.timeout.millis = 10000
dk.nsi.consent.sor.max.total.connections = 20
dk.nsi.consent.sor.default.max.connections.per.route = 20
dk.nsi.consent.sor.fail.threshold = 10

# Minlog / Kafka
minlog.producer.proxy.url=http://test1-cnsp.ekstern-test.nspop.dk:8080/minlog2-kafka-proxy/2026/02/11/registrations
minlog.producer.proxy.maxTotalConnections=200
minlog.producer.proxy.defaultMaxConnectionsPerRoute=20
minlog.producer.proxy.connectionTimeoutMs=2000
minlog.producer.proxy.socketTimeoutMs=5000

client.minlog.properties = ConsentAdministration.properties
dk.nsp.minspaerring.administration.rediger.minlog.tekst=Administrativ medarbejder har redigeret frabedelser p\u00e5 vegne af borger
dk.nsp.minspaerring.administration.tilfoj.minlog.tekst=Administrativ medarbejder har tilf\u00f8jet frabedelser p\u00e5 vegne af borger
dk.nsp.minspaerring.administration.ophaev.minlog.tekst=Administrativ medarbejder har oph\u00e6vet frabedelse p\u00e5 vegne af borger
dk.nsp.minspaerring.administration.hent.minlog.tekst=Adm. medarbejder har indhentet oplysninger om borgers frabedelser

log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes) consentadministration.log4j.properties filen.

Se yderligere opsætning i installationsvejledningen.

SLA-log konfiguration

Konfiguration af SLA-log findes i filen nspslalog-consentadministration.properties.

DKS konfiguration

Eksempel på indholdet, der returneres ved kald af DCC Konfiguration Service-snitfladen (DKS):

Code Block
<?xml version="1.0"?>
<root xmlns="http://nspop.dk/2014/04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://nspop.dk/2014/04/dks.xsd">
    <dksVersion>1</dksVersion>
    <timestamp>2026-02-24T07:47:24Z</timestamp>
    <name>ConsentAdministration</name>
    <endpoint>http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service</endpoint>
    <operations>
        <action name="urn:dk:nsi:consentservices:administration:service:1#ConsentAdd">
            <model>synchronous_timeout</model>
            <timeoutMillis>120000</timeoutMillis>            <!-- (optional) Required securitylevel of the
            IdCard attached to the proxied request - if this is MOCES, the request may be routed
            through the SOSI-Gateway -->
            <idCardLevel>VOCES</idCardLevel>            <!-- (optional) If the request is routed through
            SOSI-GW, the maxAge will be verified -  -->
            <idCardMaxAgeMins>1440</idCardMaxAgeMins>
        </action>
        <action name="urn:dk:nsi:consentservices:administration:service:1#ConsentRevoke">
            <model>synchronous_timeout</model>
            <timeoutMillis>120000</timeoutMillis>            <!-- (optional) Required securitylevel of the
            IdCard attached to the proxied request - if this is MOCES, the request may be routed
            through the SOSI-Gateway -->
            <idCardLevel>VOCES</idCardLevel>            <!-- (optional) If the request is routed through
            SOSI-GW, the maxAge will be verified -  -->
            <idCardMaxAgeMins>1440</idCardMaxAgeMins>
        </action>
        <action name="urn:dk:nsi:consentservices:administration:service:1#ConsentRegistrationsGet">
            <model>synchronous_timeout</model>
            <timeoutMillis>120000</timeoutMillis>            <!-- (optional) Required securitylevel of the
            IdCard attached to the proxied request - if this is MOCES, the request may be routed
            through the SOSI-Gateway -->
            <idCardLevel>VOCES</idCardLevel>            <!-- (optional) If the request is routed through
            SOSI-GW, the maxAge will be * Connection #0 to host localhost left intact
verified -  -->
            <idCardMaxAgeMins>1440</idCardMaxAgeMins>
        </action>
        <action name="urn:dk:nsi:consentservices:administration:service:1#ConsentModify">
            <model>synchronous_timeout</model>
            <timeoutMillis>120000</timeoutMillis>            <!-- (optional) Required securitylevel of the
            IdCard attached to the proxied request - if this is MOCES, the request may be routed
            through the SOSI-Gateway -->
            <idCardLevel>VOCES</idCardLevel>            <!-- (optional) If the request is routed through
            SOSI-GW, the maxAge will be verified -  -->
            <idCardMaxAgeMins>1440</idCardMaxAgeMins>
        </action>
    </operations>
</root>

Filen skal overholde DKS XML-skemaet og beskriver de webservice-operationer Samtykkeservicen administrationsservicen udstiller jf. [DKS-beskrivelse].

Test af DKS

Efter konfiguration og deployering af Samtykkeservicen administrationsservicen, kan de 5 DKS-snitflader testes med:

Code Block
curl -v http://localhost:8081/consent-administration/dccconfig/dks
curl -v http://localhost:8081/consent-administration/dccconfigidws/dks
curl -v http://localhost:8081/consent-administration/dccconfigadmin20/dks
curl -v http://localhost:8081/consent-administration/dccconfig20/dks
curl -v http://localhost:8081/consent-administration/dccconfigidws20/dks

Succesfuldt svar giver indholdet svarende til eksemplet ovenfor.

Test af versionsnummer

Efter konfiguration og deploy af Samtykkeservicen administrationsservicen kan versionsnummeret hentes via en HTTP-snitflade.

Code Block
curl –i http://localhost:8081/consent-administration/info/version

hvilket giver output I stil med:

Code Block
version 1.1.2

I eksemplet kørte servicen på en local maskine konfigureret til port 9090.

Samtykkeservicen verifikation

Service konfiguration

Grundlæggende konfiguration foregår ved redigering i filen ConsentVerification.properties, der placeres i følgende WildFly modul:

Code Block
/pack/wildfly8/modules/nsi/consentverification/config/main/

I denne skal følgende properties være definerede:

Property

Beskrivelse

idcard.version

Servicen afviser kald, hvor ID-kort i Security-header ikke har versionsnummer opgivet som værdien af denne property. Angives til 1.0.1

sts.test.mode

Angiver med værdien true at servicen benytter test-STS. Værdien skal være ’false’ i drift, hvorved den rigtige SOSI-STS anvendes.

log.config.file

Angiver placering af log4j properties.

databasecheck.statement.consent

Se databasemonitorering beskrevet i afsnit 4.3.1.2.

databasecheck.statement.what

databasecheck.statement.who

whitelistds.statement

servicestatuscheck.database.failurethreshold

Antal kald til lokal database der må fejle før der meldes 500 på statussnitfladen

wsdl.app.endpoint

Det endpoint, hvor servicen bor. Dette anvendes af wsdl servlet til at returnere en korrekt service location.

dk.nsi.app.name

Navn på system til SLA-logning.

dk.nsi.app.shortName

Kort navn på system til SLA-logning.

dk.nsi.dcc.endpoint.verification

Angiver det endpoint, som DCC'en skal kalde for at ramme samtykke verifikationssnitfladen. Dette kommer til at fremgå af den XML, der returneres i /dccconfig/dks

dk.nsi.dcc.endpoint.verification.20251211

Angiver det endpoint, som DCC'en skal kalde for at ramme samtykke 20251211 verifikationssnitfladen. Dette kommer til at fremgå af den XML, der returneres i /dccconfig20251211/dks


Følgende properties skal være defineret, for at starte servicen op med DGWS-sikkerhed i forbindelse med kald til SYES:

STS
idcard.subject.id.typeSubjecttype for IDKortet
idcard.subject.idSubjectid for IDKortet
idcard.subject.nameSubjectnavn for IDKortet
idcard.levelSikkerhedsniveau for IDkortet
idcard.system.nameSystemnavn i IDkortet
sts.endpointEndpointet, hvor Samtykkeservicen skal trække sit SOSI IDkort på baggrund af sts.keystore
sts.keystoreKeystore, der indeholder DDS Repository funktionscertifikat
sts.keystore.passwordPassword til sts.keystore


Følgende properties skal være defineret når Samtykkeservicen skal kalde SORES og SYES:

SYES
dk.nsi.consent.syes.endpointSYES  endpoint
dk.nsi.consent.syes.connect.timeout.millisGrænse for hvor tid det må tage at oprette forbindelse til SYES (i ms.).
dk.nsi.consent.syes.max.total.connectionsMaksimalt antal samtidige SYES-forbindelser.
dk.nsi.consent.syes.default.max.connections.per.routeMaksimalt antal SYES-forbindelser per rute.
dk.nsi.consent.syes.fail.thresholdGrænse for hvor mange gange SYES-kald må fejle i træk, før SYES opfattes som usund.
SORES
dk.nsi.consent.sor.endpointSORES  endpoint
dk.nsi.consent.sor.connect.timeout.millisGrænse for hvor tid det må tage at oprette forbindelse til SORES (i ms.).
dk.nsi.consent.sor.max.total.connectionsMaksimalt antal samtidige SORES-forbindelser.
dk.nsi.consent.sor.default.max.connections.per.routeMaksimalt antal SORES-forbindelser per rute.
dk.nsi.consent.sor.fail.thresholdGrænse for hvor mange gange SORES-kald må fejle i træk, før SORES opfattes som usund.


Eksempel på properties fil:

Code Block
idcard.version = 1.0.1
sts.test.mode = true

wsdl.app.endpoint=http://localhost:8080/consent-verification/

log.config.file=log4j-consentverification.properties

dk.nsi.app.name = consent-verification
dk.nsi.app.shortName = csnt-ver

# Database
datasource.jndi=java:/ConsentServiceDS
whiteList.datasource.jndi=java:/WhitelistDS
databasecheck.statement.consent=SELECT * FROM consentitem LIMIT 1;
databasecheck.statement.what=SELECT * FROM whatitem LIMIT 1;
databasecheck.statement.who=SELECT * FROM whoitem LIMIT 1;
whitelistds.statement=SELECT * FROM whitelist_config LIMIT 1;
servicestatuscheck.database.failurethreshold = 1

# DCC Endpoints
dk.nsi.dcc.endpoint.verification = http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-verification/service
dk.nsi.dcc.endpoint.verification.20251211 = http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-verification/service-20251211

# STS
idcard.subject.id.type = medcom:cvrnumber
idcard.subject.id = 33257872
idcard.subject.name = Sundhedsdatastyrelsen
idcard.level = 3
idcard.system.name = MinSpærring
sts.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/sts/services/SecurityTokenService
sts.keystore = NSP_Test_Service_Consumer_sds.p12
sts.keystore.password = Test1234

# SORES
dk.nsi.consent.sor.endpoint = http://test1.ekstern-test.nspop.dk:8080/sores/
dk.nsi.consent.sor.connect.timeout.millis = 10000
dk.nsi.consent.sor.fail.threshold = 10
dk.nsi.consent.sor.max.total.connections = 200
dk.nsi.consent.sor.default.max.connections.per.route = 20

# Stamdata SYES
dk.nsi.consent.syes.endpoint = http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-yder-lookup-ws/service/YderService
dk.nsi.consent.syes.fail.threshold = 1
dk.nsi.consent.syes.connect.timeout.millis = 10000
dk.nsi.consent.syes.max.total.connections = 20
dk.nsi.consent.syes.default.max.connections.per.route = 20

Log4j konfiguration

Log4j konfiguration findes i (hvis ovenstående format anvendes) consentverification.log4j.properties filen.

Se yderligere opsætning i installationsvejledningen.

SLA-log konfiguration

Konfiguration af SLA-log findes i filen nspslalog-consentverification.properties.

DKS konfiguration

Eksempel på indholdet, der returneres ved kald af DCC Konfiguration Service-snitfladen (DKS):

Code Block
<?xml version="1.0"?>
<root xmlns="http://nspop.dk/2014/04" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://nspop.dk/2014/04 dks.xsd">
    <dksVersion>1</dksVersion>
    <timestamp>2026-02-24T07:47:30Z</timestamp>
    <name>ConsentVerification</name>
    <endpoint>http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-verification/service</endpoint>
    <operations>
        <action name="urn:dk:nsi:consentservices:verification:service:1#ConsentForDataCheck">
            <model>synchronous_timeout</model>
            <timeoutMillis>15000</timeoutMillis>            <!-- (optional) Required securitylevel of the IdCard
            attached to the proxied request - if this is MOCES, the request may be routed through
            the SOSI-Gateway -->
            <idCardLevel>VOCES</idCardLevel>            <!-- (optional) If the request is routed through
            SOSI-GW, the maxAge will be verified -  -->
            <idCardMaxAgeMins>1440</idCardMaxAgeMins>
        </action>
        <action name="urn:dk:nsi:consentservices:verification:service:1#ConsentForUserCheck">
            <model>synchronous_timeout</model>
            <timeoutMillis>15000</timeoutMillis>            <!-- (optional) Required securitylevel of the IdCard
            attached to the proxied request - if this is MOCES, the request may be routed through
            the SOSI-Gateway -->
            <idCardLevel>VOCES</idCardLevel>            <!-- (optional) If the request is routed through
            SOSI-GW, the maxAge will be verified -  -->
            <idCardMaxAgeMins>1440</idCardMaxAgeMins>
        </action>
    </operations>
</root>
Code Block
/pack/wildfly8/modules/nsi/consentverification/config/main/dksConfiguration.xml

Filen skal overholde DKS XML-skemaet og beskriver de webservice-operationer Samtykkeservicen verifikationsservicen udstiller jf. [DKS-beskrivelse].

...

Succesfuldt svar giver indholdet svarende til dksConfiguration.xml nævnt ovenfor.


For den nye 20251211 verifikationssnitflade (20251211) kan DKS-snitfladen testes med:

...

Succesfuldt svar giver indholdet svarende til dksConfiguration-20251211.xml nævnt eksemplet ovenfor.

Test af versionsnummer

...

nsp-role-mapping.properties

DDS Registry og Repository anvender denne property fil til at mappe hvilken rolle (role), der kommer ned i minlog registreringen.

Property filen vedligeholdes her: https://git.nspop.dk/projects/TOOL/repos/nsp-role-mapping/browse/nsp-role-mapping.properties


...

Auditlogning is done using the official NSP Audit Log modul.

De forskellige håndtag logges på følgende måde.

Samtykkeservicen verificering Audit data

...

Type mapning mellem ovenstående tabel og faktisk data i fil: Personlig = RegularPersonalInformation/RPI, Ikke personlig = NonPersonalInformation/NPI og Følsomme = SensitivePersonalInformation/SPI

...