Introduktion
Formål
Vejledning til installation og konfiguration af Min Spærring, der består af to services:
Min Spærring administrationsservice og Min Spærring verifikationsservice.
Afsnit 2 indeholder servicekrav til det omliggende miljø, herunder krav til operativsystem og standardapplikationer, som f.eks. applikationsservere, databaseservere, Java og/eller .Net versioner mm., angivet på version og service pack niveau.
Afsnittene 3 og 4.3 indeholder information om konfiguration af applikationsserveren og databasen, herunder oprettelse af databaseskemaer.
Afsnit 4 beskriver hvorledes services deployeres, herunder om der er krav om evt. genstart af server eller andre applikationer. Ved opgradering af komponenten beskrives desuden tilstanden, systemet skal være i for at opgraderingen kan finde sted, f.eks. om applikationsserver og/eller databaseserver skal være stoppet.
Læsevejledning
Læseren forventes at have kendskab til National Sundheds-IT’s platform NSP, samt generelt kendskab til WildFly applikation server, MySQL, docker, docker-compose samt Ubuntu Linux operativ system.
Dokumentet beskriver ikke forhold der berører konfiguration på DoDi, NSP eller centrale ’NSP-lignende miljøer’ eller etablering og konfiguration af distribution af data fra DoDi til øvrige platforme.
Dokumentet er etableret på baggrund af test installation på NIAB (NSP in a box) test server version 2.35.
Hvor der i teksten er angivet <packing> refereres til topniveaufolderen for release-pakken med kildekode. Folderens navngivning afhænger af versionen på releaset.
Dokumenthistorik
Version | Dato | Ansvarlig | Beskrivelse |
---|---|---|---|
1.0 | 29.06.2012 | Systematic | Første udgave |
1.1 | 19.06.2013 | Systematic | Opdateret med NIAB 1.7.0 |
1.2 | 22.05.2014 | Systematic | Generering af installationspakke beskrevet i afsnit 3.1 og refereret i kapitel 3 og 4. |
1.3 | 28.11.2014 | Systematic | Referencer til Nationalt Patientindeks (NPI) fjernet |
1.4 | 19.11.2015 | Systematic | Opgradering til WildFly |
1.5 | 02.09.2016 | Systematic | Beskrivelse af konfigurationsfiler til DCC Konfigurations Service (DKS) tilføjet. |
1.6 | 18.11.2016 | Systematic | Opdatering af afsnit 4.3.2 om brugen af VOCES/MOCES certifikater. Whitelistning af anvendere flyttet til selvstændigt afsnit 5. Fjernet beskrivelse om opsætning af logging-profil i standalone.xml i afsnit 4.3.7. Opdateret filer opdateret i 4.3.5 |
1.7 | 13.06.2018 | Systematic | Migreret til NSPOP SVN |
22.10.2018 | KIT | Dokument flyttet fra Word til Confluence. Original dokument navn var: INS0002 Installationsvejledning Samtykke Service.docx | |
19.03.2020 | KIT | Tilrettelser i forhold til docker | |
09.11.2020 | KIT | SDS-3685: Min Spærring skal anvende SORES til SOR-SHAK opslag | |
06.05.2020 | KIT | SDS-2416: MinSpærring skal ændres til at kalde minlog2 |
Definitioner og referencer
Definition | Beskrivelse |
---|---|
NSI | National Sundheds-IT |
NSP | Den nationale service platform (inden for sundheds-IT) |
SHAK | Sygehusafdelingsklassifikation |
SOR | Sundhedsvæsenets organisationsregister |
STS | Security Token Service |
DODI | NSI platform til data opsamling og distribution |
SOSI-seal | Et kodebibliotek der stilles til rådighed implementering af sikkerhed på for Web service klienter på DGWS |
Alias | Beskrivelse |
---|---|
Driftsvejledning | Driftsvejledning Min Spærring (SSE/11734/OHB/0002) |
Krav til miljø
Krav til applikationsservere
Komponenterne er udviklet og testet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:1"
Komponenternes konfiguration er således tilpasset deployering på WildFly 8.2 applikationsservere med OpenJDK 8
Krav til operativsystem
Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og docker skal være installeret.
Krav til database
Databasen til NAS2 systemet er en selvstændig database og selvstændige tabeller i forhold til NAS1. NAS2 deler derfor ikke database med NAS1.
Krav til hardware
De to services forventes ikke at have et væsentligt ressourceforbrug og der er således ingen krav til hardware.
Krav til adgang til andre services
Min Spærring administrationsservice foretager i visse situationer registrering af hændelser på borgers data i Min-log service.
Når en borger opretter, fjerner eller modificerer samtykker/spærringer for en anden borger, bliver dette ligeledes registreret i Min-log.
Min Spærring anvender MinLogProvider til at registrere logninger i MinLog, og i den forbindelse skal Kafka properties for Min Log 2 konfigureres.
Min Spærring anvender cprexists-servicen til at validere borgerens cpr-nummer ved oprettelse, opdatering eller sletning af spærringer.
Krav til datahåndtering
Min Spærring administrationsservice opdaterer og tilføjer borgeres registrerede samtykker/spærringer til Min Spærring databasen.
Ved valg af platform til denne service skal dataansvar og passende backup/replikering sikres.
Oprettelse/konfiguration af databaser og tabeller
Følgende databasekomponenterne er tilknyttet servicen:
- consent: skema der indeholder Min Spærring registreringer.
- whitelist: Whitelist der indeholder godkendte CVR-numre, som skal have adgang til servicen.
Alle CVR-numre i databasen, der skal gælde for Min Spærring administrationsservicen, skal have ’service key’ sat til ’dk.nsi.consent.administration’.
Alle CVR-numre der skal gælde for Min Spærring verifikationsservicen, skal have ’service key’ sat til ’dk.nsi.consent.verification’.
Docker Compose
MinSpørring leveres samtidig som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/svn/components/minspaerring/trunk/compose.
For release x.y.z af MinSpærring findes Docker Compose filerne i folderen https://svn.nspop.dk/svn/components/minspaerring/tags/release-x.y.z/compose
En leverance af MinSpærring består af en compose folder som beskrevet ovenfor samt tilhørende tags af de fem Docker images.
Compose folderen indeholder 5 underfoldere:
Folder | Indhold |
---|---|
configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se Driftvejledningen |
database | Her ligger alle de databasefiler som det forventes at driften lægger på en NSP database |
development | Her ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere. |
test | Her ligger en Docker Compose fil der kan starte NAS2 i en standalone test konfiguration. |
release | Her ligger der to Docker Compose filer som det forventes driften anvender på både test og produktionsmiljøerne. |
Konfiguration af komponenterne
Al konfiguration foregår ved redigering af de relevante properties filer i deres modul folder under WildFly modules. Ved konfigurationsændringer bør containeren genstartes.
Indholdet af de enkelte konfigurationsfiler, er beskrevet og forklaret i [Driftsvejledning].
Konfigurationsfiler til Min Spærring administration refererer kodemodulet ConsentAdministration. Til verifikation refereres ConsentVerification.
Følgende filer kan tilpasses:
ConsentAdministration.properties
Konfigurerer opsætning af administrationsservicen og hvorledes den benytter sig af eksterne services.
En skabelon af denne fil findes i:
compose/configuration/administration/ConsentAdministration.properties
Filen redigeres inden den placeres på WildFly i:
/pack/wildfly8/modules/nsi/consentadministration/config/main/
Yderligere information kan findes i driftsvejledningen.
log4j-administration.xml
Konfigurerer logopsætningen for administrationsservicen.
En skabelon for log4j konfiguration findes i:
compose/configuration/administration/log4j-administration.xml
Filen redigeres inden den placeres på WildFly i:
/pack/wildfly8/modules/nsi/consentadministration/config/main/
Konfiguration af NSP SLA log for ConsentAdministration
NSP-util anvendes som en del af servicen og skal konfigureres. Eksempel på konfiguration fil findes i
compose/configuration/administration/log4j-nspslalog-consentadministration.properties compose/configuration/administration/nspslalog-consentadministration.properties
Filerne redigeres inden den placeres på WildFly i:
/pack/wildfly8/modules/nsi/consentadministration/config/main/
Yderligere information kan findes i driftsvejledningen.
ConsentVerification.properties
Konfigurerer opsætning af verifikationsservicen.
En skabelon af denne fil findes i:
compose/configuration/verification/ConsentVerification.properties
Filen redigeres inden den placeres på WildFly i:
/pack/wildfly8/modules/nsi/consentverification/config/main/
Yderligere information kan findes i driftsvejledningen.
Consentverification.log4j.properties
Konfigurerer logopsætningen for verifikationsservicen.
En skabelon for log4j konfiguration findes i:
compose/configuration/verification/log4j-verification.xml
Filen redigeres inden den placeres på WildFly i:
/pack/wildfly8/modules/nsi/consentverification/config/main/
Konfiguration af NSP SLA log for ConsentVerification
NSP-util anvendes som en del af servicen og skal konfigureres. Eksempel på konfiguration fil findes i
compose/configuration/verification/log4j-nspslalog-consentverification.properties compose/configuration/verification/nspslalog-consentverification.properties
Filerne redigeres inden den placeres på WildFly i:
/pack/wildfly8/modules/nsi/consentverification/config/main/
Yderligere information kan findes i driftsvejledningen.
Konfiguration af DKS
Konfigurationsfiler til de svar, Min Spærring Services returnerer ved forespørgsel mod de respektive DKS-snitflader kan opsættes ved at kopierere:
compose/configuration/verification/dksConfiguration.xml
til:
/pack/wildfly8/modules/nsi/consentadministration/config/main
Tilsvarende kopieres:
compose/configuration/verification/dksConfiguration.xml
til:
/pack/wildfly8/modules/nsi/consentverification/config/main
Start/genstart af service
Komponenten genstartes ved at genstarte den docker container som den kører i.
Logfiler
De to Min Spærring services kan logge kald til følgende logs: En NSP-SLA-log, en performance-log, en audit-log og en debug/error-log.
nsputil-sla-consentadministration.log consentadministration-performance.log consentadministration-audit.log consentadministration.log nsputil-sla-consentverification.log consentverification-performance.log consentverification-audit.log consentverification.log
Det er muligt at konfigurere placeringen af filerne, samt hvilket niveau de logger på, ved at redigere i log4j-administration.xml og log4j-verification.xml.
Alle logs er beskrevet i driftsvejledningen.
Opgradering af komponenter
Når der kommer opgraderinger til en komponent, vil der medfølge releasenotes, der beskriver opgradering, fallback, osv. for den enkelte komponent.
Whitelisting af anvendere
Adgang til de to Min Spærring services styres på CVR niveau via konfiguration i databasen. Følgende beskrivelse tager udgangspunkt i, at whitelistning sker i tabellen whitelist.whitelist_config, oprettet som beskrevet i afsnit 3.5.
Test note:
I testkonfiguration kan whitelist databasen opdateres med SQL insert.
For Min Spærring verifikationsservice:
INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.consent.verification', '', 'some-cvr-number-here' );
For Min Spærring administrationsservice:
INSERT INTO whitelist.whitelist_config ( service_key, service_type, cvr ) VALUES ( 'dk.nsi.consent.administration', '', 'some-cvr-number-here' );
Ved whitelistning til brug af Min Spærring administrationsservicen skal der, på grund af genanvendelse af ID-kort beskrevet i afsnit 4.3.2, tillige whitelistes til brug af Minlog Registreringsservicen.
Afinstallation af servicen
Stop de respektive docker containere og slet dem.
Oprydning i MySQL database for ConsentAdministration
Whiteliste: DELETE FROM whitelist.whitelist_config WHERE service = ‘dk.nsi.consent.administration' consent (drop schema, if not used by other services)
Oprydning i MySQL database for ConsentVerification
Whiteliste: DELETE FROM whitelist.whitelist_config WHERE service = ‘dk.nsi.consent.verification' consent (drop schema, if not used by other services)
Fjern eventuelt logfiler – se afsnit 4.5.