Page History
...
| Snitflade | Anvenderkrav | Særlige opsætningstilfælde | Modtager |
|---|---|---|---|
| DGWS | |||
/sts/services/SecurityTokenService /sts/services/NewSecurityTokenService | Alle som har netværksmæssig adgang | Alle DGWS-services | |
| Medarbejderomveksling | |||
| /sts/services/Sosi2OIOSaml | Alle som har netværksmæssig adgang | Modtagersystem skal være konfigureret: | |
| /sts/services/OIOSaml2Sosi | Alle som har netværksmæssig adgang | Alle DGWS-services | |
| /sts/services/BST2SOSI | Offentlig nøgle for anvendersystem skal være whitelistet: Opsætning af BST2SOSI: Tilføjelse af ny anvender | Alle DGWS-services | |
| Borgeromveksling | |||
| /sts/services/Bst2Idws | Offentlig nøgle for anvendersystem skal være whitelistet: Borgeromvekslinger: Whitelisting af anvender | Modtagersystem (audience) skal være konfigureret: | |
| /sts/services/JWT2Idws | Offentlig nøgle for anvendersystem skal være whitelistet: Borgeromvekslinger: Whitelisting af anvender | Modtagersystem (audience) skal være konfigureret: JWT support skal være aktiveret (i tabellen audienceConfiguration): | |
| /sts/services/JWT2OIOSaml | Offentlig nøgle for anvendersystem skal være whitelistet: Borgeromvekslinger: Whitelisting af anvender | Modtagersystem (audience) skal være konfigureret: Servicen skal være konfigureret til audience: | |
| eHDSI omveksling | |||
| /sts/services/DKNCPBST2EHDSIIdws | Offentlig nøgle for anvendersystem skal være whitelistet: | Servicen skal være konfigureret til audience: | |
...
Konfigurationen findes i et java keystore (pt. placeret som /pack/sts/test-jwt-idp-trust.jks ). Dette indeholder de certifikater vi stoler på.
...
- Modtag offentlig nøgle fra den eksterne part.
- Modtag information om hvilket kid der angives i det indgående JWT (key identifier der benyttes af den eksterne part).
- Verificer at nøglen tilhører det rigtige miljø (test vs produktion) - og er et gyldigt FOCES certifikat
- Indsæt nøglen under et alias svarende til det angivne kid i /pack/sts/test-jwt-idp-trust.jks
- Ændringen kræver genstart af STS (eller wildfly)
...
I de følgende afsnit gennemgås konfigurationerne for de enkelte snitflader. De enkelte snitfladers opsætning beskrives og derudover beskrives en opskrift/checkliste i forhold til tilslutning af nye anvendere.
Generel konfiguration
HTTP status kode ved SOAP faults
Den HTTP status kode der benyttes når der returneres en SOAP fault, er konfigureret i service.xml
Status koden vil blive benyttet i alle snitflader.
| Code Block | ||
|---|---|---|
| ||
<bean id="httpCodeForFaultResponse" class="java.lang.Integer">
<constructor-arg value="400"/>
</bean> |
Konfiguration af DGWSAnchor KonfigurationDGWS KonfigurationDGWS
| KonfigurationDGWS | |
| KonfigurationDGWS |
...
Nationale roller vil optræde i id-kortet som en rolle på formen urn:dk:healthcare:national-federation-role:code:40001:value:Laegesekretaer
Følgende felter er relevante
| Felt | Beskrivelse |
|---|---|
| source | Kan benyttes til at identificere hvor de konkrete roller ligger. Pt. er eneste benyttede værdi 'NationalFederation' |
| externalName | Det navn hvorunder rollen optræder i den eksterne kilde (SEB brugerkataloget) , f.eks. 'nspLaegesekretaer' |
| code | Den kode der indgår i id-kortet, f.eks. 40001 |
| value | Den tekst-værdi der indgår i id-kortet, f.eks. Laegesekretaer |
Konfiguration i database er altid den gældende — det er ikke nødvendigt at genstarte før ændringer træder i kraft - der kan dog være op til 10 minutters forsinkelse.
...
| Snitflade | Trust og opsætning |
|---|---|
| Medarbejderomveksling | |
| /sts/services/Sosi2OIOSaml |
|
| /sts/services/OIOSaml2Sosi |
|
| /sts/services/BST2SOSI |
|
...
| attribute | Beskrivelse |
|---|---|
| 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. Sættes issuer til "*" vil certifikatet være gyldigt for alle issuers. 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) |
...
| Snitflade | Trust og opsætning |
|---|---|
| Borgeromveksling | |
| /sts/services/Bst2Idws | Bootstrap token skal være signeret af trusted part (konfigureret i database tabellen sts_audconf.trustedIdpCitizenConfiguration). I praksis NemLog-In eller SEB |
| /sts/services/JWTIdws | JWT skal være signeret af trusted part (i test-jwt-idp-trust.jks). kid skal pege på det rigtige alias i denne. Issuer skal være konfigureret i services.xml |
| /sts/services/JWT2OIOSaml | JWT skal være signeret af trusted part (i test-jwt-idp-trust.jks). kid skal pege på det rigtige alias i denne. Issuer skal være konfigureret i services.xml |
...
| attribute | Beskrivelse |
|---|---|
| certificate.xxx | Angiver SubjectSerialNumber (ssn) for et certifikat (typisk FOCES) der har mulighed for at benytte servicen. I praksis beder vi om det offentlige certifikat og henter oplysningen ud herfra. Dette certifikat benyttes af anvender til at signere hele beskeden (beskeden har så bl.a. en Assertion, typisk signeret af NemLog-in). Der kan (og vil) være flere certifikater pr. audience, 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. |
...
Anvender skal kende det eksisterende jwtScope.
JWT2OIOSaml
Den generelle konfiguration for denne service ligger i services.xml på bean sboRequestHandler:
| Property | Beskrivelse |
|---|---|
| checkTargetCertificate | Om gyldigheden af certifikat svarende til publicKey (i nedenstående tabel) skal tjekkes før den benyttes |
| fuzzyTime | Antal millisekunder tilbage i tid notBefore skal sættes på resulterende token |
| allowedDriftInSeconds | Antal sekunder tidsbegrænsninger i indgående token må afvige med |
| trustStoreFile | Sti til keystore med trusted eksterne idp'er |
| trustStorePassword | Password til keystore |
| issuerStrategies | Liste af gyldige issuers. Fx <entry key="http://sts-tester" value-ref="keyCloak"/> |
...
Er audience allerede i audienceConfiguration tabellen, skal der oprettes en ny certificate.xxx attribut med ssn for anvendercertifikatet. Anvender skal kende det eksisterende jwtScope.
Opsætning af borgeromvekslinger: Integration til personinformation
Det er indført en integration til personinformation-servicen på NSP ifm. implementation af "subject relations", dvs. claims om at en borger er værge eller har forældremyndigheder ift. en anden borger.
I den forbindelse er der en integration, som skal have en sat URL til personinformation. Denne konfiguration findes i service.xml på bean personInformationClient:
...
| 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). |
...
| 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). |
| allowedDriftInSeconds | Antal sekunder tidsbegrænsninger i indgående token må afvige med. (NotBefore, NotOnOrAfter attributterne) |
| whitelistValidation | Om whitelist-checks af anvender certifikater skal være slået til eller fra |
...
| 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'); |
Opsætning af borgeromvekslinger: Integration til personinformation
Omvekslingen benytter servicen PersonInformation til at validere Cpr nummer på det indkomne token.
I den forbindelse er der en integration, som skal have en sat URL til personinformation. Denne konfiguration findes i service.xml på bean personInformationClient:
...
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. |
...