Page History
...
| Begreb | Forklaring |
|---|---|
| Anvendersystem | Det IT-system som anvender en STS snitflade |
| Bruger | Den bruger som via et klient IT-system anvender STS |
| Trust | Hvem stoler vi på som signerende part på en indgående billet. |
| Modtager | Hvilke systemer kan anvende den billet der udstedes af STS. |
| Snitflade | Snitflade | Anvendersystem | Bruger | Tokens | Trust | Modtager |
|---|---|---|---|---|---|---|
/sts/services/SecurityTokenService /sts/services/NewSecurityTokenService | WS-Trust 1.2 (DGWS) | Alle som har netværksmæssig adgang | System eller medarbejder | Input: Selvsigneret id-kort Output: STS signeret id-kort | Indgående id-kort skal være signeret af "brugeren selv". | Alle DGWS-services |
| /sts/services/OIOSaml2Sosi | WS-Trust 1.4 (OIO-IDWS 1.0) | Alle som har netværksmæssig adgang. Dele af SOAP besked skal være signeret med system-certifikat | Alle medarbejdere | Input: OIO-Saml assertion Output: STS signeret id-kort | OIOSaml assertion skal være signeret af trusted part. | Alle DGWS-services |
| /sts/services/Sosi2OIOSaml | WS-Trust 1.4 (OIO-IDWS 1.0) | Alle som har netværksmæssig adgang Dele af SOAP besked kan være signeret med system-certifikat (verificeres ikke pga DCC/Gateway) | Alle medarbejdere | Input: STS signeret id-kort Output: OIO-Saml assertion | Id-kort skal være signeret af STS (udstedt af /NewSecurityTokenService) | Modtager-system skal være konfigureret (i tabellen iboConfig). |
| /sts/services/BST2SOSI | WS-Trust 1.4 (OIO-IDWS 1.0) | Alle som har netværksmæssig adgang | Alle medarbejdere | Input: OIO-Saml bootstrap token Output: STS signeret id-kort | Bootstrap token skal være signeret af trusted part. Lokal IdP eller SEB | Alle DGWS-services |
| /sts/services/Bst2Idws | WS-Trust 1.4 (OIO-IDWS 1.0) | Offentlig nøgle for anvender-system skal være WL (i tabellen audienceConfiguration). Dele af SOAP besked skal være signeret med denne nøgle. | Alleborgere | Input: OIO-Saml bootstrap token Output: IDWS (1.0) token. | Bootstrap token skal være signeret af trusted part. I praksis SEB | Modtager-system skal være konfigureret (i tabellen audienceConfiguration). |
| /sts/services/JWTIdws | WS-Trust 1.4 (OIO-IDWS 1.0) | Offentlig nøgle for anvender-system skal være WL (i tabellen audienceConfiguration). Dele af SOAP besked skal være signeret med denne nøgle. | Alleborgere | Input: JWTsigneretafOpenId connector Output: IDWS (1.0) token. | 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 | Modtager-system skal være konfigureret (i tabellen audienceConfiguration). JWT suport skal være aktiveret (i tabellen audienceConfiguration) |
| /sts/services/JWT2OIOSaml | WS-Trust 1.4 (OIO-IDWS 1.0) | Offentlig nøgle for anvender-system skal være WL (i tabellen audienceConfiguration). Dele af SOAP besked skal være signeret med denne nøgle. | Alleborgere | Input: JWTsigneretafOpenId connector Output: OIO-Saml assertion | 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 | Modtager-system skal være konfigureret (i tabellen audienceConfiguration). JWT suport skal være aktiveret (i tabellen audienceConfiguration) |
| /sts/services/DKNCPBST2EHDSIIdws |
| Gliffy Diagram | ||||||||
|---|---|---|---|---|---|---|---|---|
|
Figur 2: STS-afhængigheder og eksterne snitflader
...
- NewSecurityTokenService -- Udstedelse af STS-signeret id-kort. Erstatter samtidig NameId til et kanonisk format (nødvendigt hvis id-kortet skal veksles til OIOSaml). SOSI Seal biblioteket benyttes af STS til serialisering/deserialisering af web service kaldet samt signering af udstedte ID-kort.
- SecurityTokenService -- Legacy udgave af ovennævnte service (uden erstatning af NameId). Benyt NewSecurityTokenService hvis muligt.
- Sosi2OIOSaml -- Ombytter STS-signeret id-kort fra SOSI ID-kort til OIOSAML assertion rettet mod et specifikt audience, f.eks. sundhed.dk. Bemærk at dette id-kort skal være udstedt af NewSecurityTokenService.
- OIOSaml2Sosi -- Ombytter OIOSaml token til signeret id-kort. Token skal være signeret af troværdig tredjepart.
- Bst2Idws -- Ombytter OIOSaml bootstrap token til signeret identitytoken rettet mod et givet audience, f.eks. FMK. Token skal være signeret af troværdig tredjepart.
- JWT2Idws -- Ombytter JSON Web token til signeret identity-token rettet mod et givet audience, f.eks. FMK. Token skal være signeret af troværdig tredjepart (pt. en OID connector).
- DKNCPBST2EHDSIIdws - Ombytter et DKNCP Bootstrap token til et signeret eHDSI Idws Xua token rettet mod et givet audience. Token skal være signeret af troværdig tredjepart.
Komponentsnitflader
| Gliffy Diagram | ||||||||
|---|---|---|---|---|---|---|---|---|
|
...
STS-anvendelse af database begrænser sig primært til læsning af konfigurationsdata og persistering af cachede værdier til (se Figur 5), og består af følgende tabeller:
Skema Tabel Beskrivelse Benyttes pt STS (backoffice) iboConfig indeholder audience specifik konfiguration for SOSI ID-kort til OIOSAML omveksling Ja STS (backoffice) audienceConfiguration indeholder konfiguration vedrørende billetomveksling fra bootstrap token til IDWS token og fra JWT token til OIOSaml token Ja STS (backoffice) roleDefinitions Indeholder opsætning af gyldige nationale roller, og hvorledes disse repræsenteres i id-kort og i SEB Ja STS (backoffice) authorizationDefinitions
Indeholder valide uddannelseskoder. Primært 4 cifre, men kan også indeholde bogstaver. Ja STS (backoffice) trustedCvr Indeholder en liste af CVR numre, der kan angive nationale roller uden at få disse valideret. Ja STS (lokal) cprcache indeholder relationer mellem certifikat og CPR-nummer. Anvendes hvis deploymiljøet er godkendt til opbevaring af relationen i klartekst (Nødvendig hvis ikke CPR web servicen altid skal kaldes med manglende CPR i ID-kort). Ja STS (lokal) cprhash indeholder et hash af mapningen mellem certifikat og CPR-nummer. Oprindeligt tænkt anvendt hvis relationerne ikke ønskes opbevaret som klartekst. Ikke længere muligt, idet der er behov for at kunne tilføje cpr nummer til et id-kort uden dette er angivet i input. Nej STS (lokal) whitelist indeholder information (CVR-nummer og system navn), der anvendes til at at give systemer adgang til udstedelse af ID-kort. Benyttes ikke længere. Nej STS (lokal) blacklist indeholder information (X509 certifikat subject serial number), der anvendes til at blokere for udstedelse af ID-kort for specifikke certifikater. Nej SDM autreg Indeholder aktuelle autorisationskoder for autoriserede sundhedsfaglige medarbejdere. Vedligeholdes af Autorisations importeren Ja SDM nationalRoles Indeholder roller importerede fra SEB Ja CRA crl Indeholder et antal spærrelister incl. metadata omkring seneste hentning af disse Ja CRA revoked Indeholder replika af en given spærreliste indeholdende aktuelt revokerede certifikater
Hvis en CRL er udstedt af en CA og denne CA trækkes tilbage, så vil alle dens rækker i revoked blive slettet og en enkelt række med NULL i serialnumber vil blive oprettet. Et certifikat skal derfor betragtes som trukket tilbage hvis dets CRL enpoint findes i crl og dets serienummer findes i revoked eller der findes en række med serienummeret NULL.
Ja sts_ehdsiconf ehdsiAudienceConfiguration Indeholder den konfiguration der er nødvendig for DKNCPBST2EHDSIIdws omvekslingen:
- Signeringscertifikater
- Whitelistede certifikater
- Levetid på den udstedte token
sts_ehdsiconf ehdsiPoliciesConfiguration Indeholder alle trustede policies. For hver policy findes der en STS policy det udstedte token får.
Databasemodellen er simpel og indeholder ingen bindinger til specifikke databaser. Tabellerne cprhash og cprcache fungerer som en simpel cache for Databasemodellen er simpel og indeholder ingen bindinger til specifikke databaser. Tabellerne cprhash og cprcache fungerer som en simpel cache for CPR-opslag, og repopuleres automatisk, hvorfor rækkerne kan slettes efter behov.
...
GRANT ALL ON sts_audconf.roleDefinitions TO 'sts'@'%';
Tabel: ehdsiAudienceConfiguration
USE sts_ehdsiconf;
CREATE TABLE ehdsiPoliciesConfiguration (
audience VARCHAR(255) NOT NULL,
bst_policy VARCHAR(255) NOT NULL,
sts_policy VARCHAR(255) NOT NULL,
comment VARCHAR(255));
CREATE UNIQUE INDEX ehdsiPoliciesConfiguration_uniq ON ehdsiPoliciesConfiguration (audience, bst_policy, sts_policy);
Tabel: ehdsiPoliciesConfiguration
USE sts_ehdsiconf;
CREATE TABLE ehdsiAudienceConfiguration (
audience VARCHAR(255) NOT NULL,
attribute VARCHAR(50) NOT NULL,
attribute_value VARCHAR(4095),
comment VARCHAR(255));
CREATE UNIQUE INDEX ehdsiAudienceConfiguration_uniq ON ehdsiAudienceConfiguration (audience, attribute);
Sløring af sundhedsfaglige - IDSAS
...