Page History
...
Samme princip gør sig gældende for egress service som ingress. At abstrahere håndtering og kompleksiteten af mTLS væk fra kerneapplikationen og ud i et andet lag.På grund af begrænsninger i nginx, at der kun kan defineres dns resolver på top-niveau, vil det anbefales at konfigurerer en egress nginx pr. netværkssegmentering.F.eks. en egress der kan resolve services på sundhedsdatanettet, mens en anden egress service der har dns resolver konfigureret til - hvad end behovet er. (Det er muligt at sætte flere DNS ind i nginx, men de vil blive kaldt i round-robin https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver, så den ene segmentering vil altid fejle i første hug)
NOTE: Egress er kun udadgående mod andre beskyttede services. Internt på NSP kaldes direkte via en httpklient fra EAS kerneservicen.
egress-ehmi-authservernginx
Egress mod keycloak serverfor services i EHMI landskabet. På nuværende tidspunkt mod KIT Test Keycloak og KIT Test EER.
Lytter internt på port 3128. Tanken er, at servicen kun skal eksponeres internt fra netværket. I udvikling er der dog åbnet op på port 8888 for at teste egress af manuelt.
Servicen udstiller i øjeblikket to reverse proxy paths:
- /ehmi-auth/
- /ehmi-eer/
Som eksempel vil følgende kald mod servicen http://egress-nginx/ehmi-auth/realms/ehmi/protocol/openid-connect/token blive transformeret til https://$ehmi_auth_host/realms/ehmi/protocol/openid-connect/token hvor $ehmi_auth_host via. DNS bliver resolvet til en IP og HTTP Host header sættes tilsvarende til $ehmi_auth_host
Samme gør sig gældende for /ehmi-eer/ blot med $ehmi_eer_host variablen istedet.
Klientcertifikat til at kalde ud med skal mountes ind på følgende placering for hhv. Auth og EER services:
- /etc/ssl/ehmi-auth/client.crt
- /etc/ssl/ehmi-auth/client.key
- /etc/ssl/ehmi-eer/client.crt
- /etc/ssl/ehmi-eer/client.key
TODO: Skal samme klientcerts anvendes, eller er det forskellige pr. service.
Hvis aftagers certifikat ikke er udstedt af en af de gængse eksisterende certifikatmyndigheder skal servicen konfigureres til at stole på denne.
Dette gøres ved at CA ind på:
...