Driftsvejledningen indeholder information der er relevant for driften af Stamkortregister-servicen (SKR), herunder oplysninger om standard placering af log- og konfigurationsfiler, eksterne afhængigheder og fejlfinding.
I produktion består Stamkortregister-servicen af et komponent (war-arkiv) der er deployet på en Wildfly applikationsserver:
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
1.0.0 | 2018-08-31 | Initialt dokument | Trifork |
1.0.11 | 2019-08-02 | Ændret WSDL-stier | Trifork |
1.0.12 | 2019-25-09 | Ajourført | Trifork |
1.0.17 | 2019-08-10 | Ændret SWDL | |
1.0.18 | 2020-10-07 | Opdateret slettejob | KIT |
1.0.19 | 2021-04-13 | Tilføjet NAS | KIT |
1.0.20 | 2021-04-27 | Tilføjet WSDL-sti | KIT |
1.0.21 | 2021-06-08 | Tilføjet WSDL-stier | KIT |
Servicen udstiller en række data som beskrevet i anvenderguiden. Komponenten kaldes af anvendere gennem NSP'ens DCC (afkoblingskomponenten), som viderestiller kaldet til servicens webservice-endpoint. Servicen udstiller derudover en række administrative og konfigurationsrelaterede funktionaliter.
URL | Funktionalitet |
---|---|
<server>/skr/isAlive | Status-side for servicen. Viser om servicen fungerer korrekt, se afsnittet Overvågning. |
<server>/skr/skr | Webservice-dispatcher (dispatcher videre til korrekt version baseret på SOAP Action) |
<server>/skr/20210602 | Webservice-endpoint (for 20210602 udgave) |
<server>/skr/20200728 | Webservice-endpoint (for 20200728 udgave) |
<server>/skr/20190801 | Webservice-endpoint (for 20190801 udgave) |
<server>/skr/20180501 | Webservice-endpoint (for 20180501 udgave) |
<server>/skr/dksconfig | DCC auto-konfigurations API. Anvendes til konfiguration af NSP'ens DCC. |
<server>/skr/wsdl | HTML-side med links til download af WSDL-filer i hhv. DGWS- og IDWS-udgave. |
<server>/skr/wsdl/dgws20200728 | DGWS WSDL |
<server>/skr/wsdl/idws20200728 | IDWS WSDL |
<server>/skr/wsdl/dgws20210602 | DGWS WSDL |
<server>/skr/wsdl/idws20210602 | IDWS WSDL |
<server>/skr/wsdl/dgws20210408 | DGWS WSDL for migreringssnitflade |
<server>/skr/syncjob/start | Slettejob startes ved kald af denne url. Returnerer tidspunkt for modtaget request og http status kode 200 |
<server>/skr/syncjob/status | Oplysninger om slettejob på den pågældende server. Oplysningerne gemmes i hukommelsen på serveren og fosvinder ved genstart. Der returneres http status kode 200 og følgende data: tidspunkt for sidste afvikling af slettejob på serveren (hvis værdien findes ellers tom værdi), status for sidste afvikling på serveren (true=ingen fejl, false=fejl, tom tekst=ikke afviklet) og fejlbesked ved sidste afvikling (hvis findes ellers er værdien udeladt) |
Servicen kræver ingen daglig vedligeholdelse udover sædvanlig systemovervågning.
Alt data (inkl. historiske data) for en borger fjernes 1 år efter borgerens død ved hjælp af et slettejob.
Servicen udstiller en status-side (isAlive). På denne side fremgår servicens version, opstartstidspunkt mm. samt status for slettejob.
Eksempel på et response fra status-siden:
200 OK Title: skr-service Deployed: 2018-08-10T10:55:17.777Z Build-Date: 2018-08-10T10:52:22Z Build-Version: 1.0.0-SNAPSHOT Builder: A robot Display time: 2018-08-10T12:57:43.577Z Delete job: Enabled, Last successful deletion: 1900-01-01T00:00:00Z, Error count: 0 |
Status-siden returnerer følgende HTTP statuskoder afhængig af servicens status:
Følgende årsager kan resultere i en statuskode 500:
Hvis status-siden giver HTTP 500 bør man checke den servicens log, som burde indeholde en detaljeret fejlmeddelelse med stacktrace.
Følgende beskrivelse af logning i servicen tager udgangspunkt i standard-opsætningen. Logning konfigureres vha. konfigurationsfilerne beskrevet i installationsvejledningen.
Alle logfiler placeres i standalone/log i Wildfly.
Alle logs benytter en rolling file appender, og indeholder derfor et postfix i filnavnet, der ikke er præsenteret i nedenstående.
Følgende tabel over logfiler beskriver, hvilke komponenter der skriver til dem:
Logfilnavn | Indhold |
---|---|
skr_service.log | Applikationslog for servicen, som indeholder de vigtigste systemhændelser. Root: WARN |
nsputil-sla-skr.log | SLA-log. Indeholder SLA-logninger for alle kald på servicen. Indeholder desuden SLA-logninger for servicens kald til MinLog og NAS. |
skr_audit.log | Auditlog. Indeholder logning af, hvem der har kaldt, hvilken SOAP-action der blev kaldt, hvilken person der blev kaldt for, hvordan der blev kaldt (DGWS/IDWS), hvornår der blev kaldt samt kaldets varighed. |
De enkelte anvendere skal whitelistes til at bruge SKR. Der findes en tabel whitelist til dette formål. Det er anvenders certifikat, der whitelistes.
Følgende eksempel er output fra openssl visning af et PEM encodet certifikat:
$ openssl x509 -in example.pem -text Certificate: Data: Version: 3 (0x2) Serial Number: 1495058165 (0x591cc6f5) Signature Algorithm: sha256WithRSAEncryption Issuer: C=DK, O=TRUST2408, CN=TRUST2408 Systemtest XXII CA Validity Not Before: Aug 29 06:25:19 2018 GMT Not After : Aug 29 06:24:05 2021 GMT Subject: C=DK, O=Statens Serum Institut // CVR:46837428/serialNumber=CVR:46837428-UID:27910135, CN=Statens Serum Institut - Test VOCES Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:97:4a:f0:06:41:7a:8f:b5:bd:50:49:bf:68:24: b6:3b:94:54:06:88:9b:78:8b:31:cf:59:19:ea:46: 9a:89:45:74:15:c4:98:2f:2f:4f:8f:dc:db:44:b6: ce:f9:25:ff:d9:00:50:ef:0a:18:d7:c5:53:8f:ff: 66:ff:32:20:ae:f0:ad:c1:36:48:69:66:62:d0:c6: 45:35:7e:94:6d:c4:b3:ae:95:b6:1d:3d:7c:0d:17: 70:44:8d:05:8e:6d:d4:d0:5b:24:03:19:78:ec:f9: de:2e:6a:77:64:39:59:5c:e2:c4:e0:74:4f:26:23: 45:06:f4:f8:50:9c:49:5b:de:af:60:29:38:df:fc: 2e:dc:27:c6:19:fc:54:ec:55:b6:77:b6:73:73:19: 86:d9:8f:1f:2f:36:e5:9b:de:ca:c7:d1:5d:a7:06: 8e:fb:cc:4c:cf:3b:d9:6b:79:c9:eb:80:6f:97:df: c5:69:cd:28:ef:42:7c:84:1d:6a:af:82:38:46:2b: 7f:5c:21:71:1f:13:52:f0:a5:97:91:a2:75:98:4c: 91:90:0c:88:9b:76:d8:f9:4e:65:c2:54:04:7b:87: a0:ae:c5:dc:12:3e:67:34:ac:59:f0:91:7b:fb:38: 76:d5:64:4c:50:96:2d:70:37:0f:41:cb:99:1d:c4: 06:43 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment, Data Encipherment, Key Agreement Authority Information Access: OCSP - URI:http://ocsp.systemtest22.trust2408.com/responder CA Issuers - URI:http://v.aia.systemtest22.trust2408.com/systemtest22-ca.cer X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.31313.2.4.6.3.4 CPS: http://www.trust2408.com/repository User Notice: Organization: DanID Number: 1 Explicit Text: DanID test certifikater fra denne CA udstedes under OID 1.3.6.1.4.1.31313.2.4.6.3.4. DanID test certificates from this CA are issued under OID 1.3.6.1.4.1.31313.2.4.6.3.4. X509v3 Subject Alternative Name: email:testcertifikat@ssi.dk X509v3 CRL Distribution Points: Full Name: URI:http://crl.systemtest22.trust2408.com/systemtest221.crl Full Name: DirName: C = DK, O = TRUST2408, CN = TRUST2408 Systemtest XXII CA, CN = CRL76 X509v3 Authority Key Identifier: keyid:AB:A8:01:44:19:B0:B3:43:99:DA:FA:7C:CC:D2:00:18:03:E7:3C:BF X509v3 Subject Key Identifier: 7F:C5:FF:5C:F1:AC:64:D4:08:1C:BB:65:78:01:D4:78:B6:57:71:0C X509v3 Basic Constraints: CA:FALSE Signature Algorithm: sha256WithRSAEncryption 80:c1:84:cd:ea:4f:27:51:33:d5:61:6a:66:b5:5e:54:74:02: d6:f8:a7:86:75:45:1a:e4:5a:3b:28:d5:3d:24:7b:cf:91:ef: ce:2e:8d:f4:cf:61:1b:2b:ff:c9:54:12:92:a7:53:58:0d:45: ba:6d:ec:23:b9:0c:1f:ab:90:d8:de:a6:35:f3:ed:46:63:a3: 06:a0:8b:53:3a:90:d3:d7:fd:4e:70:2e:fc:68:a4:65:d0:62: 0c:bd:21:e3:83:32:7b:2d:cf:82:95:53:c6:1e:24:45:62:b1: a7:a4:aa:2c:39:60:c3:94:61:b5:ae:5d:30:e3:08:5b:33:89: c2:44:59:f5:82:e0:62:73:62:9c:a9:c6:49:6a:a0:d7:a8:af: ee:a2:45:fd:20:58:cf:85:5b:5a:b9:9f:49:78:4d:bb:e4:36: 0c:dc:a3:b0:52:e5:b9:5b:a6:46:0e:70:19:90:c1:96:c5:16: d9:d1:52:63:df:a8:95:a4:0c:77:ca:e0:bc:c3:31:f4:1c:95: 42:0b:c5:17:e4:b5:d3:d7:ef:f7:5b:b0:ef:57:ac:04:ac:f0: 6c:4a:69:16:d2:ca:35:4a:8e:bb:df:9d:8b:41:80:59:0d:8d: cb:e6:88:ce:11:b8:dd:6c:76:99:ac:0b:ed:a9:cb:c3:94:05: 1d:9c:84:22 -----BEGIN CERTIFICATE----- MIIGRTCCBS2gAwIBAgIEWRzG9TANBgkqhkiG9w0BAQsFADBIMQswCQYDVQQGEwJE SzESMBAGA1UECgwJVFJVU1QyNDA4MSUwIwYDVQQDDBxUUlVTVDI0MDggU3lzdGVt dGVzdCBYWElJIENBMB4XDTE4MDgyOTA2MjUxOVoXDTIxMDgyOTA2MjQwNVowgY4x CzAJBgNVBAYTAkRLMS8wLQYDVQQKDCZTdGF0ZW5zIFNlcnVtIEluc3RpdHV0IC8v IENWUjo0NjgzNzQyODFOMCAGA1UEBRMZQ1ZSOjQ2ODM3NDI4LVVJRDoyNzkxMDEz NTAqBgNVBAMMI1N0YXRlbnMgU2VydW0gSW5zdGl0dXQgLSBUZXN0IFZPQ0VTMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl0rwBkF6j7W9UEm/aCS2O5RU BoibeIsxz1kZ6kaaiUV0FcSYLy9Pj9zbRLbO+SX/2QBQ7woY18VTj/9m/zIgrvCt wTZIaWZi0MZFNX6UbcSzrpW2HT18DRdwRI0Fjm3U0FskAxl47PneLmp3ZDlZXOLE 4HRPJiNFBvT4UJxJW96vYCk43/wu3CfGGfxU7FW2d7ZzcxmG2Y8fLzblm97Kx9Fd pwaO+8xMzzvZa3nJ64Bvl9/Fac0o70J8hB1qr4I4Rit/XCFxHxNS8KWXkaJ1mEyR kAyIm3bY+U5lwlQEe4egrsXcEj5nNKxZ8JF7+zh21WRMUJYtcDcPQcuZHcQGQwID AQABo4IC7jCCAuowDgYDVR0PAQH/BAQDAgO4MIGXBggrBgEFBQcBAQSBijCBhzA8 BggrBgEFBQcwAYYwaHR0cDovL29jc3Auc3lzdGVtdGVzdDIyLnRydXN0MjQwOC5j b20vcmVzcG9uZGVyMEcGCCsGAQUFBzAChjtodHRwOi8vdi5haWEuc3lzdGVtdGVz dDIyLnRydXN0MjQwOC5jb20vc3lzdGVtdGVzdDIyLWNhLmNlcjCCASAGA1UdIASC ARcwggETMIIBDwYNKwYBBAGB9FECBAYDBDCB/TAvBggrBgEFBQcCARYjaHR0cDov L3d3dy50cnVzdDI0MDguY29tL3JlcG9zaXRvcnkwgckGCCsGAQUFBwICMIG8MAwW BURhbklEMAMCAQEagatEYW5JRCB0ZXN0IGNlcnRpZmlrYXRlciBmcmEgZGVubmUg Q0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMy42LjEuNC4xLjMxMzEzLjIuNC42LjMu NC4gRGFuSUQgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1 ZWQgdW5kZXIgT0lEIDEuMy42LjEuNC4xLjMxMzEzLjIuNC42LjMuNC4wIAYDVR0R BBkwF4EVdGVzdGNlcnRpZmlrYXRAc3NpLmRrMIGsBgNVHR8EgaQwgaEwPaA7oDmG N2h0dHA6Ly9jcmwuc3lzdGVtdGVzdDIyLnRydXN0MjQwOC5jb20vc3lzdGVtdGVz dDIyMS5jcmwwYKBeoFykWjBYMQswCQYDVQQGEwJESzESMBAGA1UECgwJVFJVU1Qy NDA4MSUwIwYDVQQDDBxUUlVTVDI0MDggU3lzdGVtdGVzdCBYWElJIENBMQ4wDAYD VQQDDAVDUkw3NjAfBgNVHSMEGDAWgBSrqAFEGbCzQ5na+nzM0gAYA+c8vzAdBgNV HQ4EFgQUf8X/XPGsZNQIHLtleAHUeLZXcQwwCQYDVR0TBAIwADANBgkqhkiG9w0B AQsFAAOCAQEAgMGEzepPJ1Ez1WFqZrVeVHQC1vinhnVFGuRaOyjVPSR7z5Hvzi6N 9M9hGyv/yVQSkqdTWA1Fum3sI7kMH6uQ2N6mNfPtRmOjBqCLUzqQ09f9TnAu/Gik ZdBiDL0h44Myey3PgpVTxh4kRWKxp6SqLDlgw5Rhta5dMOMIWzOJwkRZ9YLgYnNi nKnGSWqg16iv7qJF/SBYz4VbWrmfSXhNu+Q2DNyjsFLluVumRg5wGZDBlsUW2dFS Y9+olaQMd8rgvMMx9ByVQgvFF+S109fv91uw71esBKzwbEppFtLKNUqOu9+di0GA WQ2Ny+aIzhG43Wx2mawL7anLw5QFHZyEIg== -----END CERTIFICATE----- |
Det er oplysningen subject serialnumber der skal anvendes i til at indsætte i whitelisting tabellen.
Certifikatet whitelistes ved følgende SQL:
INSERT INTO whitelist (cvr, function) VALUES ('CVR:46837428-UID:27910135', 'SKR'); |
Servicens slettejob bliver afviklet vha. en udstillet RestController, som kaldes vha. simpelt HTTP GET kald.
Dette gøres for at sikre afviklingen af slettejob i flere-node drift, hvor en loadbalancer sørger for fordeling af kald til bagvedliggende servere.
Driften vedligeholder en cron, som kalder slettejobbets url i et fast mønster vha. curl.
Følgende parametre til styring af slettejobbet kan ændres i application.properties:
jobs.delete.cpr-max-results=25
jobs.delete.cpr-max-loops=2
Hvor jobs.delete.cpr-max-results bestemmer antal af cpr numre, der skal udtrækkes til sletning. Og jobs.delete.cpr-max-loops bestemmer antal gange udtræk af cpr numre skal gennemføres.
Hvis tiden til afvikling af slettejob overskrider 20-25 sekunder, så bør ovenstående parametre gøres mindre.
Kommando til kald af slettejob:
curl <server>/skr-service/syncjob/start
Slettejobbet skal aktiveres hver dag, hvert 15. minut mellem 8-16 - startende kl. 8
Med mindre ovenstående parametre ændres, så vil slettejobbet behandle op til 1550 sletninger om dagen. (I gennemsnit er der 150 døde pr. døgn)
Servicen indeholder ikke nogen backup-mekanismer, og dette skal derfor konfigureres på database-niveau. Der bør foretages backup af data på en forsvarlig måde, i tilfælde af behov for en genetablering af data. Disse data skal opbevares på en forsvarlig måde, jfr. regler om personhenførbare data.