Page History
| Navitabs | ||||||
|---|---|---|---|---|---|---|
| ||||||
Formål
Dokument målrettet systemadministratorer og driftspersoner, som skal kunne håndtere driftsmæssige aspekter af komponenten.
...
Listen herunder beskriver hver komponent med type status URL og navnet på filen som skal deployes. Status URL’en kan løbende polles for at checke komponentens status. Status sider er beskrevet mere detaljeret senere i dokumentet.
NSP komponenter
...
Stamdata Kopiregisterservicen (SKRS)
- Type: Webservice
- Status Url: <serverurl>/stamdata-batch-copy-ws/status
- Filnavn: stamdata-batch-copy-ws-krs.war
- Type: Webservice
- Status Url: <serverurl>DKS-Config: <serverurl>/stamdata-authorizationbatch-lookupcopy-ws/statusFilnavn: stamdata-authorization-lookup-ws.wardksconfig
Stamdata Registerfleropslagsservicen (SRFS)
- Type: Webservice
- Status Url: <serverurl>/stamdata-cprbatch-copy-ws-rfs/status
- Filnavn: stamdata-cprbatch-copy-ws-rfs.war
- Type: Webservice
- Status Url: DKS-Config: <serverurl>/stamdata-yderbatch-lookupcopy-ws/status
- Filnavn: stamdata-yder-lookup-ws.war
- -rfs/dksconfig/srfs/20210303
- DKS-Config: <serverurl>/stamdata-batch-copy-ws-rfs/dksconfig/srfs/20240227
Stamdata Filter Management Service (SFMS)
- Type: WebserviceType: REST service
- Status Url: <serverurl>/stamdata-personinformation-batch-copy-ws-rfs/status
- Filnavn: stamdata-personinformationbatch-copy-ws-rfs.war
- DKS-Config: <serverurl>/filter-management-ws-sfm/dksconfig
Stamdata AutorisationsregisteretEnkeltopslag (SAES)
- Type: Webservice
- Status Url: <serverurl>/stamdata-authorization-lookup-ws
- Type: REST service
- Status Url: <serverurl>/stamdata-yderinformation/status
- Filnavn: stamdata-yderinformationauthorization-lookup-ws.war
Stamdata AutorisationsregisteretEnkeltopslag
Stamdata CPREnkeltopslag
Stamdata YderregisterEnkeltopslag
Opdatering til nye versioner
Når nye versioner af Stamdata komponenterne udkommer, vil der medfølge release notes som forklarer database-migrering, rollback-procedure, service vinduer mv. Til installation af første version af stamdata komponenterne henvises til installationsguiden.
Whitelistning
I tabellen her vises der hvilket registerservices, endpoints og operationer som gives adgang til ved de forskellige whitelistings typer.
...
SDM
...
Det Gode CPR Opslag (SCES)
- DKS-Config: <serverurl>/stamdata-authorization-lookup-ws/dksconfig/AuthorizationLookup
- DKS-Config: <serverurl>/stamdata-authorization-lookup-ws/dksconfig/AuthorizationCodeLookup
- DKS-Config: <serverurl>/stamdata-authorization-lookup-ws/dksconfig/AuthorizationLookup/20240105
- DKS-Config: <serverurl>/stamdata-authorization-lookup-ws/dksconfig/AuthorizationCodeLookup/20240105
Stamdata CPREnkeltopslag (SCES)
- Type: Webservice
- Status Url: <serverurl>/stamdata-cpr-ws/status
- Filnavn: stamdata-cpr-ws.war
- DKS-Config: <serverurl>
...
- /stamdata-cpr-ws/
...
- dksconfig/
...
- DetGodeCprOpslag103
- DKS-Config: <serverurl>
...
- /stamdata-cpr-ws/
...
- dksconfig/
...
- DetGodeCprOpslag104
- DKS-Config: <serverurl>/stamdata-cpr-ws/dksconfig/DetGodeCprOpslag1041
- DKS-Config: <serverurl>/stamdata-cpr-ws/
...
- dksconfig/
...
- DetGodeCprOpslag104a
- DKS-Config: <serverurl>
...
- /stamdata-cpr-ws/
...
- dksconfig/
...
- DetGodeCprOpslag1041a
- DKS-Config: <serverurl>/stamdata-cpr-ws/
...
- dksconfig/
...
- StamdataPersonLookup101
- DKS-Config: <serverurl>
...
- /stamdata-cpr-ws/
...
- dksconfig/
...
- StamdataPersonLookup110
- DKS-Config: <serverurl>
...
- /stamdata-cpr-ws/
...
- dksconfig/
...
- StamdataPersonLookup120
- DKS-Config: <serverurl>/stamdata-cpr-ws/
...
- getPersonInformation
- getPersonInformationWithHistoric
- getPersonWithHealthCareInformation
- getPersonWithHealthCareInformationAndHistoric
- getPersonDetails
Enkeltopslag i autorisationsregistret (SAES)
...
- <url>/stamdata-authorization-lookup-ws/service/AuthorizationService. (Opslag på basis af cpr nummer)
- <url>/stamdata-authorization-lookup-ws/service/AuthorizationService-20240105. (Opslag på basis af cpr nummer - udvidet snitflade)
...
- authorization
- authorization20240105
Enkeltopslag i yderregistret (SYES)
...
- <url>/stamdata-cpr-ws/service/YderService. (Opslag på basis af yder nummer)
...
- yder
...
SDMwithConsent
Det Gode CPR Opslag (SCES)
...
- <url>/stamdata-cpr-ws/service/StamdataPersonLookup-1.1.0. (kan hente hemmelige addresser)
- <url>/stamdata-cpr-ws/service/StamdataPersonLookup-1.2.0. (kan fremsøge cpr-numre ud fra navn/fødselsdat
...
- getPersonDetailsWithConsent
...
SDMwithCPR
Det Gode CPR Opslag (SCES
...
- <url>/stamdata-cpr-ws/service/StamdataPersonLookup-1.2.0. (kan fremsøge cpr-numre ud fra navn/fødselsdat
...
- searchPersonDetails
...
SDMAuthorizationCode
Enkeltopslag i autorisationsregistret (SAES)
...
- <url>/stamdata-authorization-lookup-ws/service/AuthorizationCodeService. (Opslag på basis af autorisationsnummer)
- <url>/stamdata-authorization-lookup-ws/service/AuthorizationCodeService-20240105. (Opslag på basis af autorisationsnummer - udvidet snitflade)
...
- authorization
- authorization20240105
Daglig Drift
Wildfly jndi datasource
Wildlfy skal være opsat med en jndi datasource til mysql, den kan fx se ud som nedenfor:
...
wildfly/standalone/configuration/standalone.xml
...
<datasources>
<datasource jndi-name="java:jboss/datasources/SDMDS" pool-name="SDMDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/sdm_warehouse</connection-url>
<driver>mysql</driver>
<pool>
<min-pool-size>10</min-pool-size>
<initial-pool-size>10</initial-pool-size>
<max-pool-size>100</max-pool-size>
<allow-multiple-users>true</allow-multiple-users>
</pool>
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<security>
<user-name>sdm</user-name>
<password>papkasse</password>
</security>
<timeout>
<idle-timeout-minutes>1</idle-timeout-minutes>
</timeout>
</datasource>
<drivers>
<driver name="mysql" module="com.mysql">
<driver-class>com.mysql.jdbc.Driver</driver-class>
</driver>
</drivers>
</datasources>
Jndi navnet indsættes i de enkelte komponeneters sdm.JNDIName.
Stamdata Autorisation Enkeltopslag
Konfiguration af Autorisation Enkeltopslag
Konfigurationsfil kan finde på (oprettet i driften):
$JBOSS_HOME/server/default/conf/stamdata-authorization-lookup-ws.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:
...
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.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 (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.
Stamdata Yderregister Enkeltopslag
Konfiguration af Yderregister Enkeltopslag
Konfigurationsfil kan finde på (oprettet i driften):
$JBOSS_HOME/server/default/conf/stamdata-yder-lookup-ws.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:
...
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.security.allowed.actors
...
Kommasepararet liste af brugertyper som kan tilgå denne service. F.eks dk.nsi.stamdata.security.allowed.actors=SystemUser,HealthCareProfessional
...
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.
Stamdata Kopi-Register-Service og Stamdataregister Fleropslagsservice
Konfiguration
Konfigurationsfiler kan findes 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.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 (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.
NB. Rettighedsstyring i KRS ligger i databasen og er besværligt at styre manuelt. Oprindeligt havde KRS en tilhørende GUI til rettighedsstyring. GUI’en eksisterer ikke længere, og pga. den fint kornede rettighedsstyring er det lidt akavet. Der findes pt. ikke nogen måde at enkelt give en klient adgang til alle datatyper i et register eller en datatype i flere versioner.
Opretning af ny bruger
Log ind i stamdatas database og derefter:
INSERT INTO Client (name, subjectSerialNumber) VALUES (’<NAVN>’, ’CVR:12345678-UID:1234’);
SubjectSerialNumber feltet skal indeholde et subject serial number som vist i eksemplet herover. Det er underordenet hvilken UID der står i feltet, brugere identifiseres udelukkende på CVR nummeret. Dette felt er udelukkende af et subject serial number af historiske årsager.
Ændring af en brugers rettigheder
Noter id fra den nye bruger. Id’et skal bruges til at bestemme brugerens rettigheder:
SELECT id FROM Client WHERE name = ’<NAVN>’;
INSERT INTO Client_permissions (client_id, permissions) VALUES (<ID>, ’<RETTIGHED>’);
En <RETTIGHED> består af fire komponenter: register, registerversion, datatype og datatypeversion. Registerversion er valgfri af hensyn il bagudkompatibilitet. Indholdet af <RETTIGHED> er på formen <register>(/<registerversion>)?/<datatype>/<version>, hvor registerversion som sagt er valgfri.
- Whitelist til alle datatyper, i alle versioner af registret: <register>/
- Whitelist til alle versioner for specifik datatype: <register>/<datatype>/
- Whitelist til specifik version: <register>/<datatype>/<version>
- Whitelist til alle datatyper i specifik version af registret: <register>/<registerversion>
Eksempel på en liste af rettigheder
Feltet <RETTIGHED> skal indeholde en streng der beskriver datatypen der skal whitelistes, for cpr register person tabellen vil det være:
’cpr/person/v1’ - Dette vil give klienten ret til at hente datatypen Person i version1.
’cpr/person/’ - Dette vil give klienten ret til at hente datatypen Person i alle kendte version.
’cpr/’ - Dette vil give klienten ret til at hente alle kendte datatypen i alle kendte version i cpr regisret
'cpr/v2/person/v2' - Dette vil give klienten ret til at hente datatypen Person i version 2 i version 2 af cpr-registret.
Se dokumentationen for registerspecifikationer for navne på de respektive data type navne
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
- dksconfig/StamdataPersonLookup121
Stamdata YderregisterEnkeltopslag (SYES)
- Type: Webservice
- Status Url: <serverurl>/stamdata-yder-lookup-ws/status
- Filnavn: stamdata-yder-lookup-ws.war
- DKS-Config: <serverurl>/stamdata-yder-lookup-ws/dksconfig
Stamdata Personinformation
- Type: REST service
- Status Url: <serverurl>/stamdata-personinformation/status
- Filnavn: stamdata-personinformation.war
Stamdata Yderinformation
- Type: REST service
- Status Url: <serverurl>/stamdata-yderinformation/status
- Filnavn: stamdata-yderinformation.war
Stamdata Sikredeinformation
- Type: REST service
- Status Url: <serverurl>/stamdata-sikredeinformation/status
- Filnavn: stamdata-sikredeinformation.war
Opdatering til nye versioner
Når nye versioner af Stamdata komponenterne udkommer, vil der medfølge release notes som forklarer database-migrering, rollback-procedure, service vinduer mv. Til installation af første version af stamdata komponenterne henvises til installationsguiden.
Whitelistning
I tabellen her vises der hvilket registerservices, endpoints og operationer som gives adgang til ved de forskellige whitelistings typer.
| Whitelisting type | Registreservices | Hvilket registreservices endpoints gives der adgang til | Hvilket operationer giver det adgang til |
|---|---|---|---|
SDM | Det Gode CPR Opslag (SCES) |
|
|
Enkeltopslag i autorisationsregistret (SAES) |
|
| |
Enkeltopslag i yderregistret (SYES) |
|
| |
SDMwithConsent | Det Gode CPR Opslag (SCES) |
|
|
SDMwithCPR | Det Gode CPR Opslag (SCES |
|
|
SDMAuthorizationCode | Enkeltopslag i autorisationsregistret (SAES) |
|
|
Daglig Drift
Wildfly jndi datasource
Wildlfy skal være opsat med en jndi datasource til mysql, den kan fx se ud som nedenfor:
wildfly/standalone/configuration/standalone.xml |
<datasources> <datasource jndi-name="java:jboss/datasources/SDMDS" pool-name="SDMDS" enabled="true" use-java-context="true"> <connection-url>jdbc:mysql://localhost:3306/sdm_warehouse</connection-url> <driver>mysql</driver> <pool> <min-pool-size>10</min-pool-size> <initial-pool-size>10</initial-pool-size> <max-pool-size>100</max-pool-size> <allow-multiple-users>true</allow-multiple-users> </pool> <validation> <check-valid-connection-sql>select 1</check-valid-connection-sql> <validate-on-match>false</validate-on-match> <background-validation>false</background-validation> </validation> <security> <user-name>sdm</user-name> <password>papkasse</password> </security> <timeout> <idle-timeout-minutes>1</idle-timeout-minutes> </timeout> </datasource> <drivers> <driver name="mysql" module="com.mysql"> <driver-class>com.mysql.jdbc.Driver</driver-class> </driver> </drivers> </datasources> |
Jndi navnet indsættes i de enkelte komponeneters sdm.JNDIName.
Stamdata Autorisation Enkeltopslag
Konfiguration af Autorisation Enkeltopslag
Konfigurationsfil kan finde på (oprettet i driften):
$JBOSS_HOME/server/default/conf/stamdata-authorization-lookup-ws.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: |
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.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 (Borgerkald ikke tilladt) |
saes.endpoint | Endpoint som bruges til at opbygge DCC endpoint i DKS. Endpoint består af <serverurl>/<context-root> f.eks. http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-authorization-lookup-ws |
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.
nsp-role-mapping.properties
Stamdata Autorisation Enkeltopslag anvender denne property fil til at mappe uddannelseskoden til navnet på uddannelsen.
Property filen vedligeholdes her: https://git.nspop.dk/projects/TOOL/repos/nsp-role-mapping/browse/nsp-role-mapping.properties
Denne property fil indeholder en række andre mappings, men det er kun den vedr. uddannelseskoder og tilhørende navn der er relevant for SAES:
<Uddannelseskoder> | Der angives en række uddannelseskoder med kode=læsbar tekst Eksempler er: C511=Ambulancebehandler Når der logges til minlog, og rollen er en uddannelseskode, laves der mapning mellem kode og læsbar tekst. Findes koden ikke som mapning anvendes den oprindelige kode. |
Stamdata Yderregister Enkeltopslag
Konfiguration af Yderregister Enkeltopslag
Konfigurationsfil kan finde på (oprettet i driften):
$JBOSS_HOME/server/default/conf/stamdata-yder-lookup-ws.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: |
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.security.allowed.actors | Kommasepararet liste af brugertyper som kan tilgå denne service. F.eks dk.nsi.stamdata.security.allowed.actors=SystemUser,HealthCareProfessional |
allowed.idws.audience | Skal være tom (Borgerkald ikke tilladt) |
syes.endpoint | Endpoint som bruges til at opbygge DCC endpoint i DKS. Endpoint består af <serverurl>/<context-root> f.eks. http://test2-cnsp.ekstern-test.nspop.dk:8080/stamdata-yder-lookup-ws |
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
- SKRS: stamdata-batch-copy-ws-krs.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.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 (Borgerkald ikke tilladt) |
skrs.endpoint | Endpoint som bruges til at opbygge DCC endpoint i DKS. Endpoint består af <serverurl>/<context-root> f.eks. http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-batch-copy-ws |
- 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.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 (Borgerkald ikke tilladt) |
srfs.endpoint | Endpoint som bruges til at opbygge DCC endpoint i DKS. Endpoint består af <serverurl>/<context-root> f.eks. http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-batch-copy-ws-rfs |
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.
NB. Rettighedsstyring i KRS ligger i databasen og er besværligt at styre manuelt. Oprindeligt havde KRS en tilhørende GUI til rettighedsstyring. GUI’en eksisterer ikke længere, og pga. den fint kornede rettighedsstyring er det lidt akavet. Der findes pt. ikke nogen måde at enkelt give en klient adgang til alle datatyper i et register eller en datatype i flere versioner.
Opretning af ny bruger
Log ind i stamdatas database og derefter:
INSERT INTO Client (name, subjectSerialNumber) VALUES (’<NAVN>’, ’CVR:12345678-UID:1234’);
SubjectSerialNumber feltet skal indeholde et subject serial number som vist i eksemplet herover. Det er underordenet hvilken UID der står i feltet, brugere identifiseres udelukkende på CVR nummeret. Dette felt er udelukkende af et subject serial number af historiske årsager.
Ændring af en brugers rettigheder
Noter id fra den nye bruger. Id’et skal bruges til at bestemme brugerens rettigheder:
SELECT id FROM Client WHERE name = ’<NAVN>’;
INSERT INTO Client_permissions (client_id, permissions) VALUES (<ID>, ’<RETTIGHED>’);
En <RETTIGHED> består af fire komponenter: register, registerversion, datatype og datatypeversion. Registerversion er valgfri af hensyn il bagudkompatibilitet. Indholdet af <RETTIGHED> er på formen <register>(/<registerversion>)?/<datatype>/<version>, hvor registerversion som sagt er valgfri.
- Whitelist til alle datatyper, i alle versioner af registret: <register>/
- Whitelist til alle versioner for specifik datatype: <register>/<datatype>/
- Whitelist til specifik version: <register>/<datatype>/<version>
- Whitelist til alle datatyper i specifik version af registret: <register>/<registerversion>
Eksempel på en liste af rettigheder
Feltet <RETTIGHED> skal indeholde en streng der beskriver datatypen der skal whitelistes, for cpr register person tabellen vil det være:
’cpr/person/v1’ - Dette vil give klienten ret til at hente datatypen Person i version1.
’cpr/person/’ - Dette vil give klienten ret til at hente datatypen Person i alle kendte version.
’cpr/’ - Dette vil give klienten ret til at hente alle kendte datatypen i alle kendte version i cpr regisret
'cpr/v2/person/v2' - Dette vil give klienten ret til at hente datatypen Person i version 2 i version 2 af cpr-registret.
Se dokumentationen for registerspecifikationer for navne på de respektive data type navne
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 |
sces.endpoint | Endpoint som bruges til at opbygge DCC endpoint i DKS. Endpoint består af <serverurl>/<context-root> f.eks. http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-cpr-ws |
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 |
YderInformation
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.
...
Denne komponent skal deployes på NSP’erne.
Konfiguration
Konfigurationsfil kan finde på https://svn.nspop.dk/svn/components/sdm/trunk/findes i projektet her: compose/configuration/stamdata-personinformationyderinformation.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 |
...
SikredeInformation
Denne komponent skal deployes på NSP’erne.
Konfiguration
Konfigurationsfil kan findes i projektet her: compose/configuration/stamdata-yderinformationsikredeinformation.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.
...
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.
...
| 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 | |
sces.endpoint | Endpoint som bruges til at opbygge DCC endpoint i DKS. Endpoint består af <serverurl>/<context-root> f.eks. http://test2-cnsp.ekstern-test.nspop.dk:8080/filter-management-ws-sfm |