Page History
...
- Type: Webservice
- Status Url: <serverurl>/stamdata-batch-copy-ws/status
- Filnavn: stamdata-batch-copy-ws.war
- Type: Webservice
- Status Url: <serverurl>/stamdata-authorization-lookup-ws/status
- Filnavn: stamdata-authorization-lookup-ws.war
- Type: Webservice
- Status Url: <serverurl>/stamdata-cpr-ws/status
- Filnavn: stamdata-cpr-ws.war
- Type: Webservice
- Status Url: <serverurl>/stamdata-yder-lookup-ws/status
- Filnavn: stamdata-yder-lookup-ws.war
- Type: REST service
- Status Url: <serverurl>/stamdata-personinformation/status
- Filnavn: stamdata-personinformation.war
Stamdata AutorisationsregisteretEnkeltopslag
...
db.connection.jdbcUrl | Udgået - Skal være tom |
db.connection.username | Udgået - Skal være tom |
db.connection.password | Udgået - Skal være tom |
sdm.JNDIName | VIGTIG Denne skal være sat Jndi datasource navn fx: |
security | Enten dgws eller dgwsTest. Hvis dgwsTest anvendes accepterer servicen id kort underskrevet af Test STS’. Dette kan bruges til f.eks. Load Test. (dgws) |
dk.nsi.stamdata.dgwssecurity.sosiallowed.dgwsLevelsactors | Kommasepararet liste af DGWS niveauer brugertyper som kan bruges når man tilgår tilgå denne service. F.eks dk.nsi.dgwsstamdata.security.sosiallowed.dgwsLevelsactors=3,4Default: 3SystemUser |
allowed.idws.audience | Skal være tom (Borgerkald ikke tilladt) |
Til rettighedsstyring benyttes tabellen whitelist_config i Stamdata databasen. For hver klient der skal have adgang laves en ny række med component_name 'SDM' og klientens CVR i cvr kolonnen. (Dette har tidligere været en kommasepareret liste af SSN i stamdata-authorization-lookup-ws.properties så hvis der findes en eksisterende liste konfigureret i driften skal denne liste migreres til rækker i whitelist_config tabellen.
...
db.connection.jdbcUrl | Udgået - Skal være tom |
db.connection.username | Udgået - Skal være tom |
db.connection.password | Udgået - Skal være tom |
sdm.JNDIName | VIGTIG Denne skal være sat Jndi datasource navn fx: |
security | Enten dgws eller dgwsTest. Hvis dgwsTest anvendes accepterer servicen id kort underskrevet af Test STS’. Dette kan bruges til f.eks. Load Test. (dgws) |
dk.nsi.dgwsstamdata.security.sosiallowed.dgwsLevelsactors | Kommasepararet liste af DGWS niveauer brugertyper som kan bruges når man tilgår tilgå denne service. F.eks dk.nsi.dgwsstamdata.security.sosiallowed.dgwsLevelsactors=3SystemUser,4 Default: 3 HealthCareProfessional |
allowed.idws.audience | Skal være tom (Borgerkald ikke tilladt) |
Til rettighedsstyring benyttes tabellen whitelist_Til rettighedsstyring benyttes tabellen whitelist_config i Stamdata databasen. For hver klient der skal have adgang laves en ny række med component_name 'SDM' og klientens CVR i cvr kolonnen. (Dette har tidligere været en kommasepareret liste af SSN i stamdata-authorization-lookup-ws.properties så hvis der findes en eksisterende liste konfigureret i driften skal denne liste migreres til rækker i whitelist_config tabellen.
Stamdata Kopi-Register-Service og Stamdataregister Fleropslagsservice
Konfiguration
...
Konfigurationsfil Konfigurationsfiler kan findes på (oprettet i driften):
$JBOSS_HOME/server/default/conf/stamdata-authorization-lookup-ws.properties
på https://svn.nspop.dk/svn/components/sdm/trunk/ under /compose/configuration. Der anvendes følgende konfigurationsfiler:
- SKRS: stamdata-batch-copy-ws-krs.properties
- SRFS: stamdata-batch-copy-ws-rfs.properties
Properties
db.connection.jdbcUrl | Udgået - Skal være tom | ||||
db.connection.username | Udgået - Skal være tom | ||||
db.connection.password | Udgået - Skal være tom | ||||
sdm.JNDIName | VIGTIG Denne skal være sat Jndi datasource navn fx: | ||||
dk.nsi.stamdata.security | Enten dgws eller dgwsTest. Hvis dgwsTest anvendes accepterer servicen id kort underskrevet af Test STS’. Dette kan bruges til f.eks. Load Test. (dgws) | .allowed.actors | Kommasepararet liste af brugertyper som kan tilgå | dk.nsi.dgws.sosi.dgwsLevels | Kommasepararet liste af DGWS niveauer som kan bruges når man tilgår denne service. F.eks dk.nsi.dgwsstamdata.security.sosiallowed.dgwsLevels=3,4Default: 3actors=SystemUser |
allowed.idws.audience | Skal være tom (Borgerkald ikke tilladt) |
Rettighedsstyring
I kopi-register servicen (KRS) og fleropslagsservicen (RFS) kan alle stamdatas registre kopieres via en webservice. Det er derfor vigtigt at kunne styre meget nøjagtigt hvilke data en klient har adgang til.
...
Se dokumentationen for registerspecifikationer for navne på de respektive data type navne.
CPR-Services
Denne komponent skal deployes på NSP’erne.
Konfiguration
Konfigurationsfil kan finde på (oprettet i driften):
$JBOSS_HOME/server/default/conf/stamdata-cpr-ws.properties
...
db.connection.jdbcUrl
...
Udgået - Skal være tom
...
db.connection.username
...
Udgået - Skal være tom
...
db.connection.password
...
Udgået - Skal være tom
...
sdm.JNDIName
...
VIGTIG Denne skal være sat
Jndi datasource navn fx:
Konfiguration af opslagskolonner i SRFS
SRFS-tjenesten gør det muligt at lave opslag i stamdata ud fra en liste af id'er. For at sådanne opslag kan laves, skal det være angivet i SKRSColumns-tabellen hvilken kolonne der skal anvendes som nøgle for en tabel. Til dette formål bruges kolonnen isLookupColumn. Kolonnen indeholder en boolsk værdi, som angiver at tableColumnName skal bruges som nøgle ved SRFS-opslag. Hvis man f.eks. ønsker at tilbyde opslag på Person-objekter i CPR-registret, skal det angives at kolonnen CPR i tabellen Person skal bruges som nøgle. Bemærk at der kun er understøttelse for at angive én nøglekolonne per tabel.
For at kunne konfigurere SRFS-opslag for en datatype, skal man kende følgende:
- Id på det ViewMap, der skal tilbydes opslag på.
- Navn på den tabelkolonne, der skal bruges som nøglekolonne.
For at finde ViewMap-id'et skal man kende følgende:
- Hvilket register datatypen befinder sig i. (Fremgår af SKRSViewMapping.register)
- Hvad datatypen hedder (Fremgår af SKRSViewMapping.datatype)
- Hvilken version og registerversion af datatypen der skal tilbydes opslag på (Fremgår af SKRSViewMapping.version og SKRSViewMapping.registerVersion)
For at finde navnet på nøglekolonnen, inspiceres tabeldefinitionen for den tabel der skal tilbydes opslag i.
Nedenfor er vist to eksempler på, hvordan man konfigurerer en kolonne som nøglekolonne.
Code Block | ||
---|---|---|
| ||
UPDATE SKRSColumns set isLookupColumn = 1 where viewMap = (SELECT idSKRSViewMapping FROM SKRSViewMapping WHERE register = 'cpr' AND datatype = 'person' and version = 1 and registerVersion = 1) AND tableColumnName = 'CPR';
UPDATE SKRSColumns set isLookupColumn = 1 where viewMap = (SELECT idSKRSViewMapping FROM SKRSViewMapping WHERE register = 'yderregister' AND datatype = 'yder' and version = 3 and registerVersion = 1) AND tableColumnName = 'YdernrYder'; |
I eksemplet opsættes opslag i CPR-registrets Person-tabel ud fra kolonnen 'CPR', samt opslag i yderregistrets Yder-tabel ud fra kolonnen 'YdernrYder'. Versionsnumrene passer til det lokale udviklingsmiljø. Der kan være andre versionsnumre i test og produktion.
CPR-Services
Denne komponent skal deployes på NSP’erne.
Konfiguration
Konfigurationsfil kan finde på (oprettet i driften):
$JBOSS_HOME/server/default/conf/stamdata-cpr-ws.properties
db.connection.jdbcUrl | Udgået - Skal være tom |
db.connection.username | Udgået - Skal være tom |
db.connection.password | Udgået - Skal være tom |
sdm.JNDIName | VIGTIG Denne skal være sat Jndi datasource navn fx: |
dk.nsi.stamdata.security.allowed.actors | Kommasepararet liste af brugertyper som kan tilgå denne service. F.eks dk.nsi.stamdata.security.allowed.actors=Citizen,SystemUser,HealthCareProfessional |
allowed.idws.audience | Det tilladte audience på indkommende idws requests f.eks.: https://fsk |
field.default.<felt> | Default værdier for felter der er markeret som "unreliable" Formatet for datoer er 'yyyy-MM-dd HH:mm:ss' Indsættes værdien <trhow> vil anvenderen få en fejl retur såfremt feltet er markeret som unreliable. Der skal være en default værdi for alle følgende felter: fornavn, mellemnavn, efternavn, coNavn, lokalitet, vejnavn, bygningsnummer, husnummer, etage, sideDoerNummer, bynavn, postnummer, postdistrikt, status, statusDato, gaeldendeCPR, stilling, vejKode, kommuneKode, navnebeskyttelseslettedato, navnebeskyttelsestartdato, navnTilAdressering, vejnavnTilAdressering, foedselsdatoMarkering, foedselsdato |
Statsborgerskabs mapning
Statsborgerskabsland for grænsegængere kan ske kun at være udfyldt med kode. Landet mappes i det tilfælde fra en liste, som indeholder landekode=landenavn. Listen findes default i filen country-mapper-internal.properties, som er bygges ind i komponenten.
Filen (UTF-8) er skabt 11. august 2022 med data fra siden https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes, søjlerne "country name" og "alfa-2 code".
Der er muligt at overstyre denne fil, med en anden: country-mapper-external.properties
country-mapper-external.properties skal findes på (oprettet i driften):
$JBOSS_HOME/standalone/configuration/country-mapper-external.properties
Eksempel på country-mapper-internal.properties indhold (start af filen):
Code Block |
---|
AD=Andorra
AE=United Arab Emirates (the)
AF=Afghanistan
AG=Antigua and Barbuda
AI=Anguilla
AL=Albania
AM=Armenia
AO=Angola |
Rettighedsstyring
Offentlige myndigheder skal whitelistes for at kunne hente data uden adresse og navnebeskyttelse.
Rettighedsstyring foregår ved at tilføje myndighedens CVR nummer til database tabellen whitelist_config.
Så for at whiteliste myndighed med CVR 12345678 køres følgene SQL op i mod databasen:
INSERT INTO whitelist_config(component_name, cvr) VALUES('SDM','12342678');
Bemærk værdien af component_name skal være ’SDM’ pånær for AuthorizationCodeLookup hvor den er SDMAuthorizationCode. For SCES er mulige component_name-værdier beskrevet i anvenderguidens afsnit 5.4.2.
PersonInformation
Denne komponent skal deployes på NSP’erne.
Konfiguration
Konfigurationsfil kan finde på https://svn.nspop.dk/svn/components/sdm/trunk/compose/configuration/stamdata-personinformation.properties
db.connection.jdbcUrl | Udgået - Skal være tom |
db.connection.username | Udgået - Skal være tom |
db.connection.password | Udgået - Skal være tom |
sdm.JNDIName | VIGTIG Denne skal være sat Jndi datasource navn fx: |
service.endpoint | Endpoint for servicen. Anvendes som del af URL i openapi dokumentationen. F.eks. http://localhost:8080 |
Backup
Alle tabeller i stamdatas database skal have daglig backup. Backup må ikke gemmes længere end 2 år pga. lovkrav.
Da der er tale om store mængder data er det vigtigt at holde for øje at det kan tage meget lang tid at genetablere et database image for stamdata.
Overvågning
Statussider
For hver komponent er der en status-side som periodisk kan kaldes for at tjekke om servicen kører. Hvis en service ikke kan overvåges via en simple status side vil det fremgå af dens driftsdokumentation.
Status sider fungerer over HTTP, og har følgende statuskoder:
200 | Alt er OK. |
500 | Der er opstået en fejl, og driften bør undersøge komponentens log for fejlmeddelelser. Kan fejlen ikke opklares simpelt, bør driften kontakte support. |
URL’s for status sider kan findes tidligere i dette dokument.
Speciel overvågning af SOR og SOR-Relationer importerne
Da SOR behandles af to forskellige importere, er det et problem for datakonsistensen, hvis den ene af disse to parsere fejler på et datasæt som den anden parser ikke fejler på.
Skulle en af de to parsere afvise en import, er det en hastesag at få rettet den fejl der resulterer i afvisningen i den anden parser, så de to registre kan komme i sync så hurtigt som muligt.
Logning
Alle Stamdata komponenter logger vha. JBoss’s logging api. Da logging API’en i JBoss 6.0.Final er defekt har komponenterne ikke hver sin logfil. Alle log entries bliver logget til:
$JBOSS_HOME/server/default/log/server.log
Fejlsøgning
Opstår der en fejlsituation i en komponent, skal driften undersøge den pågældende komponents logfil for loghændelser på ERROR-niveau. F.eks. i tilfælde af at komponenten ikke kan forbinde til databasen. Visse andre fejl er ikke-kritiske. Det vil sige at komponenten kan forsætte med at fungere. De bliver også logget på ERROR-niveau da der hændelsen bør undersøges. Komponenterne vil i så vid udstrækning som muligt forsøge at forsætte på trods af fejl.
Anvendes Splunk til indeksere logfiler bør alle de konfigurerede filer indekseres. Der kan opsættes alarmer i Splunk som aktiveres hvis en hændelse med ERROR-niveau logges. Dette niveau anvendes udelukkende ved alvorlige fejl. Der udover er også hændelser på WARN-niveau interessante da de f.eks. fortæller om folk forsøger at tilgå servicen uden tilladelse ol.
Liste af Registre
Hvert register har sin egen registerspecifikations fil som ligger i register mappen sammen med dokumentationen.
Stamdata Filter Management Service (SFMS)
Konfiguration
Konfigurationsfiler kan findes på https://svn.nspop.dk/svn/components/sdm/trunk/ under /compose/configuration/filter-management-ws-sfm.properties.
Properties
dk.nsi.stamdata.security.allowed.actors | Kommasepararet liste af brugertyper som kan tilgå denne service. F.eks dk.nsi.stamdata.security.allowed.actors=SystemUser |
allowed.idws.audience | Skal være tom |
db.connection.jdbcUrl | Udgået - Skal være tom |
db.connection.username | Udgået - Skal være tom |
db.connection.password | Udgået - Skal være tom |
sdm.JNDIName | java:jboss/datasources/SDMDS |
service.endpointPersonInformation |
...
dk.nsi.dgws.sosi.dgwsLevels
Kommasepararet liste af DGWS niveauer som kan bruges når man tilgår denne service. F.eks dk.nsi.dgws.sosi.dgwsLevels=3,4
Default: 3
...
field.default.<felt>
Default værdier for felter der er markeret som "unreliable"
Formatet for datoer er 'yyyy-MM-dd HH:mm:ss'
Indsættes værdien <trhow> vil anvenderen få en fejl retur såfremt feltet er markeret som unreliable.
Der skal være en default værdi for alle følgende felter:
fornavn, mellemnavn, efternavn, coNavn, lokalitet, vejnavn, bygningsnummer, husnummer, etage, sideDoerNummer, bynavn, postnummer, postdistrikt, status, statusDato, gaeldendeCPR, stilling, vejKode, kommuneKode, navnebeskyttelseslettedato, navnebeskyttelsestartdato, navnTilAdressering, vejnavnTilAdressering, foedselsdatoMarkering, foedselsdato
Rettighedsstyring
Offentlige myndigheder skal whitelistes for at kunne hente data uden adresse og navnebeskyttelse.
Rettighedsstyring foregår ved at tilføje myndighedens CVR nummer til database tabellen whitelist_config.
Så for at whiteliste myndighed med CVR 12345678 køres følgene SQL op i mod databasen:
INSERT INTO whitelist_config(component_name, cvr) VALUES('SDM','12342678');
Bemærk værdien af component_name skal være ’SDM’ pånær for AuthorizationCodeLookup hvor den er SDMAuthorizationCode.
Backup
Alle tabeller i stamdatas database skal have daglig backup. Backup må ikke gemmes længere end 2 år pga. lovkrav.
Da der er tale om store mængder data er det vigtigt at holde for øje at det kan tage meget lang tid at genetablere et database image for stamdata.
Overvågning
Statussider
For hver komponent er der en status-side som periodisk kan kaldes for at tjekke om servicen kører. Hvis en service ikke kan overvåges via en simple status side vil det fremgå af dens driftsdokumentation.
Status sider fungerer over HTTP, og har følgende statuskoder:
...
200
...
Alt er OK.
...
500
...
Der er opstået en fejl, og driften bør undersøge komponentens log for fejlmeddelelser. Kan fejlen ikke opklares simpelt, bør driften kontakte support.
URL’s for status sider kan findes tidligere i dette dokument.
Vær opmærksom på at der er en særlig visuel GUI for stamdata’s importer hvor operatøren kan se hvilke parsere der kører og for hvilke der er opstået fejl. Data Managerens GUI kan findes på:
http://<host>:<port>/stamdata-data-manager/
Speciel overvågning af SOR og SOR-Relationer importerne
Da SOR behandles af to forskellige importere, er det et problem for datakonsistensen, hvis den ene af disse to parsere fejler på et datasæt som den anden parser ikke fejler på.
Skulle en af de to parsere afvise en import, er det en hastesag at få rettet den fejl der resulterer i afvisningen i den anden parser, så de to registre kan komme i sync så hurtigt som muligt.
Logning
Alle Stamdata komponenter logger vha. JBoss’s logging api. Da logging API’en i JBoss 6.0.Final er defekt har komponenterne ikke hver sin logfil. Alle log entries bliver logget til:
$JBOSS_HOME/server/default/log/server.log
Fejlsøgning
Opstår der en fejlsituation i en komponent, skal driften undersøge den pågældende komponents logfil for loghændelser på ERROR-niveau. F.eks. i tilfælde af at komponenten ikke kan forbinde til databasen. Visse andre fejl er ikke-kritiske. Det vil sige at komponenten kan forsætte med at fungere. De bliver også logget på ERROR-niveau da der hændelsen bør undersøges. Komponenterne vil i så vid udstrækning som muligt forsøge at forsætte på trods af fejl.
Anvendes Splunk til indeksere logfiler bør alle de konfigurerede filer indekseres. Der kan opsættes alarmer i Splunk som aktiveres hvis en hændelse med ERROR-niveau logges. Dette niveau anvendes udelukkende ved alvorlige fejl. Der udover er også hændelser på WARN-niveau interessante da de f.eks. fortæller om folk forsøger at tilgå servicen uden tilladelse ol.
Liste af Registre
...