Page History
...
| Attribute | Beskrivelse |
|---|---|
| serviceEndpoint | Den URL hvor personinformation kan nås. Default: "http://test1-cnsp.ekstern-test.nspop.dk:8080/stamdata-personinformation/v1" |
Konfiguration af eHDSI omveksling
| Snitflade | Trust og opsætning |
|---|---|
| eHDSI omveksling | |
| /sts/services/DKNCPBST2EHDSIIdws | Bootstrap token skal være signeret af trusted part (konfigureret i database tabellen sts_ehdsiconf.ehdsiAudienceConfiguration). |
Opsætning af audience
For alle eHDSI omvekslinger gælder det, at de audience, der omveksles til skal være sat op i STS. Dette audience kommer i spil, idet anvendere af denne omveksling angiver, hvilket audience de ønsker billetten udstedt til.
Disse opsætninger sker i tabellen sts_ehdsiconf.ehdsiAudienceConfiguration:
| Felt | Beskrivelse |
|---|---|
| audience | Identifikation af audience |
| attribute | Attribut navn |
| attribute_value | Attribut værdi |
| comment | Valgfri kommentar |
Gyldige attributter for opsætning af nyt audience er:
| attribute | Beskrivelse |
|---|---|
| lifetime | Angiver gyldighed af det udstedte token, f.eks. 3600 (s). Tilstedeværelsen af denne "aktiverer" det givne audience |
| fuzzyTime | Antal millisekunder tilbage i tid notBefore skal sættes på resulterende token |
| certificate.xxx | Angiver SubjectSerialNumber (ssn) for et certifikat der har mulighed for at benytte servicen. Dette certifikat benyttes af anvender til at signere hele beskeden. Der kan være flere certifikater pr. issuer, hvilket blot betyder at flere anvendere kan tilgå det. Disse skal blot have forskellige xxx navne. Suffikset er ligegyldigt og tjener alene til støtte for den som kigger på konfigurationen. Bemærk: Benyttes kun hvis whitelist-checks er slået til (property whitelistValidation) |
| signingKey.xxx | Trusted public key som kan verificere signatur på bootstrap token (en issuer kan have flere nøgler med forskellige xxx navne). |
| validateHOK | Angivelse af om holder-of-key (HoK) validering af requests skal udføres (true, false). |
Bemærk: Kombinationen af audience og attribut skal være unik, ellers vil "duplikater" blive ignoreret.
Eksempel: For at konfigurere et nyt audience 'https://audience.nspop.dk/ehdsi' skal følgende SQL udtryk udføres:
| Code Block | ||||
|---|---|---|---|---|
| ||||
INSERT INTO audienceConfiguration (audience, attribute, attribute_value) VALUES ('https://audience.nspop.dk/ehdsi', 'lifetime', '300'); |
Opsætning af policies
For alle borgeromvekslingerne gælder det, at de audience, der omveksles til skal være sat op i STS. Dette audience kommer i spil, idet anvendere af borger-billetomvekslingen angiver, hvilket audience de ønsker billetten udstedt til.
Disse opsætninger sker i tabellen sts_ehdsiconf.ehdsiPoliciesConfiguration:
| Felt | Beskrivelse |
|---|---|
| audience | Identifikation af audience |
| bst_policy | Indkomne DKNCP Bootstrap token issuance policy |
| sts_policy | Tilhørende issuance policy der skal på et udgående token |
| comment | Valgfri kommentar |
Bemærk: Kombinationen af audience, bst_policy og sts_policy skal være unik, ellers vil "duplikater" blive ignoreret.
Eksempel på at der kan konfigureres to forskellige policies for det indkomne DKNCP Bootstrap token, men det resulterende eHDSI IDWS XUA token får samme issuance policy:
| Code Block |
|---|
INSERT INTO ehdsiPoliciesConfiguration (audience, bst_policy, sts_policy) VALUES ('https://audience.nspop.dk/ehdsi', 'urn:dk:sosi:sts:eHDSI-strict', 'test-ehdsi-sts-policy');
INSERT INTO ehdsiPoliciesConfiguration (audience, bst_policy, sts_policy) VALUES ('https://audience.nspop.dk/ehdsi', 'test-another-ehdsi-bst-policy', 'test-ehdsi-sts-policy'); |
Certifikat fornyelser hos anvender system
Såfremt der er tale om en simpel fornyelse hos anvender systemet, hvor SubjectSerialNumber ikke ændres, skal der ikke foretages noget.
Såfremt der er tale om helt nye nøgler, indsættes den nye ved siden af den gamle. Efterfølgende kan den gamle fjernes hvis/når den ikke længere benyttes.
SLA logning
Følgende tabel viser STS’ens sla logpunkter samt tilhørende navn. De enkelte logpunkter beskrives i detaljer i det følgende.
| ID | Navn | Beskrivelse |
|---|---|---|
| 200 | AbstractStsRequestHandler.request | Alle forespørgelser, der modtages rammer dette logpunkt. |
| 210 | SecurityTokenService.issueIdCard | Når et IDKort signeres, vil dette logpunkt blive ramt. |
| 220 | WsOcesCvrRidService.findRelatedCpr | Ved opslag til CVR-RID tjenesten vil dette logpunkt blive ramt. |
| 221 | WsOcesPidService.isRelated | Ved opslag til PID tjenesten vil dette logpunkt blive ramt. |
| 222 | ProcurationWebService.getProcurationPrivileges | Ved opslag til Fuldmagt tjenesten vil dette logpunkt blive ramt. |
| 250 | NboRequestHandler.serialize | Ved omveksling mellem OIOSaml tokens (NemLogin tokens) til SOSI |
| 260 | SignatureProvider.sign | Dette logpunkt kaldes når STS signerer enten et id-kort eller en IDWS billet. |
| 270 | NboIdwsRequestHandler.convert | Dette logpunkt ved omveksling af andet token til et borger-IDWS-token |
| 280 | BST2SOSIRequestHandler.convert | Ved omveksling fra OIO BST token til SOSI idkort. |
Monitoring
STS kan overvåges med 2 endpoints:
/sts/status
/sts/alarm
Status
Status-siden viser en beskrivelse af tilstanden af flere parametre i STS'en.
...
- STS'ens eget certifikat er udløbet
- STS'ens eget certifikat er spærret
- Der er ingen forbindelse til STS databasen
- Der er ingen forbindelse til CRA databasen
Alarm
Alarm-siden viser alarmer, hvis der er nogen. Ovenstående scenarier fra status-siden, samt følgende scenarier, vil forårsage en alarm:
...
Der returneres 500 ved alarm, ellers 200.
Konfiguration af monitorering
Alarm-siden kan konfigureres med hvor mange % kald må fejle til en service, inden for X timer.
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
<!-- Enabled checks for the status page at '/sts/status' --> <bean id="statusServletList" class="java.util.ArrayList"> <constructor-arg> <list> <ref bean="monitorStatusCheck"/> <ref bean="monitorCRLCheck"/> <ref bean="monitorStsDBCheck"/> <ref bean="monitorCraDBCheck"/> <ref bean="nboTrustStoreCheck"/> <ref bean="jwtTrustStoreCheck"/> <ref bean="monitorCvrRidCheck"/> <ref bean="monitorPidCheck"/> <ref bean="monitorDtgProcurationServiceCheck"/> <ref bean="monitorDigstProcurationServiceCheck"/> <ref bean="monitorProcurationCheck"/> <ref bean="monitorUuid2CprCheck"/> <ref bean="personInformationServiceClient"/> </list> </constructor-arg> </bean> |
Gammel statusside
STS har en ældre statusside, som kan tilgås ved /sts/checkstatus.
...
Certifikater, der er på ignorelisten vil optræde i output, men deres faktiske status vil ikke påvirke den samlede status rapporteret i endpointet.
Genstart
Servicen kan genstartes ved at genstarte den docker container, som servicen den kører i.
...