Att lägga till en tjänst på anslutningsservern
Den här artikeln beskriver hur du lägger till en ny SOAP- eller REST-tjänst till Informationsledens anslutningsserver och hur du definierar tjänstens användarrättigheter. Denna stödartikel riktar sig till organisationer som erbjuder tjänster via Informationsleden.
Observera att du innan du kan lägga till en ny tjänst till anslutningsservern måste du
- ansluta ett informationssystem till anslutningsservern och
- testa förbindelsen mellan informationssystemet och anslutningsservern.
Läs mer om att ansluta ett informationssystem till anslutningsservern.
En ny tjänst läggs till via anslutningsserverns administrationsgränssnitt. Adressen till anslutningsserverns administrationsgränssnitt är
https://{host}:4000/där host ersätts med host-namnet på organisationens egen anslutningsserver.
Du kan lägga till två typer av tjänster till Informationsleden:
- En SOAP-tjänst: Du lägger till tjänsten genom att ange en URL-adress för WSDL-beskrivningen
- En REST-tjänst: Du lägger till tjänsten genom att ange OpenAPI 3 Description-vägen eller REST API Base Path-vägen
En WSDL-beskrivning kan innehålla gränssnittsbeskrivningen av en eller flera tjänster. Flera olika WSDL-beskrivningar kan läggas till anslutningsservern. Läs mer om X-Road dataöverföringsprotokoll för SOAP och REST.
Lägg till en SOAP-tjänst
Logga in i anslutningsserverns administrationsgränssnitt. Efter inloggningen öppnas en lista över de subsystem som lagts till anslutningsservern på skärmen.
1. Välj det subsystem på Clients-fliken för vilket du vill lägga till en ny tjänst.

2. Fliken Services visar en lista på de WSDL-beskrivningar som anslutits till subsystemet. Lägg till en ny WSDL-beskrivning genom att välja Add WSDL.

3. Kopiera WSDL-beskrivningens URL-adress till fältet URL och välj Add.

4. WSDL-beskrivningen har lagts till i listan på tjänster i det valda subsystemet. Det förvalda värdet är att beskrivningens status är passiv. Aktivera WSDL-beskrivningen med brytaren intill den. När du klickar på pilen framför WSDL-texten öppnas en lista på de tjänster som ingår i WSDL-beskrivningen.

5. Nästa dag kontrollera att tjänsten syns i Test-API-katalogenÖppnas i ett nytt fönster. eller API-katalogenÖppnas i ett nytt fönster., beroende på miljö. Om tjänsten inte syns, kontrollera att alla steg ovan har utförts och be vid behov om hjälp på palveluvayla@palveluvayla.fiÖppnas i ett nytt fönster.. Kom ihåg att beskriva de tjänster du lagt till API-katalogen.
Lägg till en REST-tjänst
Du kan lägga till en REST-tjänst genom att använda REST API Base Path-vägen eller OpenAPI3 Description-vägen. Om du lägger till en tjänst genom att använda REST API Base Path-vägen så syns den tekniska gränssnittsbeskrivningen inte korrekt i API-katalogen. Lägg då till gränssnittsbeskrivningen som en separat bilaga till API-katalogen. Av denna orsak rekommenderar vi att du lägger till REST-tjänsterna i Informationsleden genom att använda OpenAPI 3 Description-stigen. Läs mer om OpenAPI 3-definitionen (på engelska)Öppnas i ett nytt fönster..
Så här lägger du till en REST-tjänst:
1. Välj det subsystem på Clients-fliken för vilket du vill lägga till en ny tjänst.

2. Lägg till REST-tjänsten på fliken Services genom att välja Add REST.

3. Välj antingen REST API Base Path eller OpenAPI 3 Description som adresstyp. Fyll i URL-adress och tjänstens namn (Service Code) i fälten. Lägg till tjänsten genom att välja Add.

4. Aktivera REST-tjänsten med brytaren intill den. Kontrollera att uppgifterna i tjänsten är korrekta innan du aktiverar tjänsten. Efter aktiveringen är tjänsten tillgänglig för användarna.

5. Nästa dag kontrollera att tjänsten syns i Test-API-katalogenÖppnas i ett nytt fönster. eller API-katalogenÖppnas i ett nytt fönster., beroende på miljö. Om tjänsten inte syns, kontrollera att alla steg ovan har utförts och be vid behov om hjälp på palveluvayla@palveluvayla.fiÖppnas i ett nytt fönster.. Kom ihåg att beskriva de tjänster du lagt till API-katalogenÖppnas i ett nytt fönster..
Definiera användarrättigheterna till tjänsterna
Definiera tjänsternas användarrättigheter genom att först välja tjänst och därefter klicka på knappen Access Rights.

I fönstret som öppnas finns en lista på subsystem som har rätt att använda den valda tjänsten. Lägg till en ny användarrättighet genom att klicka på knappen Add Subjects.

Klicka på knappen Search för att se en lista på alla organisationer som anslutit sig till Informationsleden och deras subsystem. Välj det subsystem som användarrättigheten ska ges till. Klicka därefter på knappen Add Selected to ACL.
OBS! Användarrättigheter ska alltid ges på subsystemnivå, aldrig på organisationsnivå.

Det valda subsystemet har nu rätt att använda tjänsten. Stäng fönstret med knappen Close.

Siffran inom parentes efter den valda tjänstens namn har utökats med 1 efter att den nya användarrättigheten lades till. Om siffran är noll, har inget subsystem tillsvidare rätt att använda tjänsten. Det kan hända att fliken Services måste öppnas på nytt för att siffran ska uppdateras.

Låssymbolen intill tjänstens URL-adress berättar om anslutningsservern för att anropa tjänsten använder
- HTTP-protokollet (öppet lås, grått)
- HTTPS-protokollet utan verifiering av certifikatet (stängt lås, gult)
- HTTPS-protokollet med verifiering av certifikatet (stängt lås, grönt).
Du kan redigera inställningarna för en enskild tjänst genom att välja tjänsten och klicka på knappen Edit. Via fönstret Edit Service Parameters kan du redigera tjänstens URL-adress och gränsen för tidsutlösningen vid tjänsteanrop, samt ange om tjänstens certifikat ska verifieras när en HTTPS-förbindelse används. Den förvalda inställningen är att värdet på parametern Service URL läses från WSDL-beskrivningen.

Tjänstens förbindelseinställningar
En anslutningsserver kan anropa en tjänst som ska anslutas över HTTP- eller HTTPS-protokollet. Om du använder HTTPS-protokollet och vill verifiera den nya tjänstens certifikat, måste anslutningsservern känna till certifikatet. Lägg till certifikatet under punkten Internal TLS Certificates på fliken Internal Servers. Om certifikatet inte verifieras duger vilket certifikat som helst för anslutningsservern, också så kallade self-signed certifikat.
När man använder HTTPS-protokollet ska den nya tjänstens certifikat läggas till anslutningsservern även på operativsystemnivå, läs mer i en separat artikel. Certifikatet ska läggas till också i det fall att det inte verifieras. Om inget certifikat läggs till anslutningsservern på operativsystemnivå, kommer anslutningsservern inte att kunna hämta den nya tjänstens WSDL-beskrivning. De egentliga tjänsteanropen och sökningen bland WSDL-beskrivningar har genomförts på olika sätt, och därför måste certifikatet tills vidare läggas till två gånger.
Om den nya tjänsten förutsätter TLS-klientcertifikat, skickar anslutningsservern sitt eget interna certifikat (kan vid behov laddas via Security Server Certificate → Export).

I trafiken mellan anslutningsservern och tjänsten som ska läggas till är TLS 1.2 och följande PFS Cipher Suites tillåtna som standard:
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256*
- TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256*
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384*
- TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384*
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384.
(*) inte i bruk i RHEL, om man använder OpenJDK
På anslutningsserverns kommandorad kan du med följande kommando kontrollera att den tjänst som ska anslutas stöder de krypteringsinställningar som anslutningsservern förutsätter:
openssl s_client -tls1_2 -cipher ’EDH+aRSA+AES:!SHA’ -connectOm anslutningsservern som standard inte tillåter användning av Cipher Suite eller protokollet, kan du konfigurera de nya krypteringsinställningarna i följande fil:
/etc/xroad/conf.d/local.iniDe värden som lagts till i filen skriver över de värden som angetts i andra filer och används därför alltid i första hand. local.ini-ändringar bevaras även om anslutningsservern uppdateras, eftersom filen inte ersätts när uppdateringar installeras. Om du vill återställa det förvalda värdet, ta bort din egen inställning från filen local.ini.
De ändringar du gjort träder i kraft när du startar om xroad-proxy-tjänsten.
Exempelvis i fallet med IIS-servrar har man varit tvungen att utvidga krypteringsinställningarna för anslutningsservrar till följande:
#LOCAL.INI
[PROXY]
CLIENT-TLS-PROTOCOLS=TLSV1.1,TLSV1.2
CLIENT-TLS-CIPHERS=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_128_CBC_SHA