Övergripande beskrivning

openid-federation-services är en Java/Spring Boot-baserad komponent för att exponera och hantera tjänster enligt OpenID Federation 1.0. Komponenten implementerar centrala federationstjänster för att möjliggöra dynamisk tillitshantering inom en OpenID Federation-baserad infrastruktur. (github.com)

Komponenten är framtagen inom Samordnad identitet och böhörighet och Sweden Connect.

Komponenten stödjer funktioner för:

• Publicering av federationsmetadata
• Hantering av trust chains och trust anchors
• Federation discovery och metadata-upplösning
• Hantering av subordinate statements
• Utfärdande och hantering av trust marks
• Validering och distribution av federationstillit mellan anslutna parter

Komponenten kan agera som:
• Trust Anchor
• Intermediate Entity
• Resolver

Arkitektur och driftläge

Tjänsten kan köras i två huvudsakliga driftlägen:

  1. Standalone mode
    Instanskonfiguration hanteras lokalt via properties/YAML-konfiguration.
  2. Managed mode
    Instanser hämtar sin konfiguration från ett externt registry-system. Detta möjliggör central administration och webbgränssnitt för federationshantering. I detta läge kan flera noder grupperas bakom lastbalanserare och dela gemensam federation-konfiguration.
    OBS! OpenID Federation Registry utvecklas fortfarande och är inte släppt som open source

Arkitekturen är avsedd för horisontell skalning där flera federation-noder kan exponera samma tjänster bakom lastbalanserare.

Konfiguration

Konfiguration sker primärt via Spring Boot-konfiguration (application.yaml eller miljövariabler).

Exempel på typiska konfigurationsparametrar:

• Entity ID för trust anchor/intermediate
• Signeringsnycklar och certifikat
• Endpoint-URL:er
• Registry-anslutning i managed mode
• Federation policies
• Trust mark-konfiguration

Projektet använder även gemensamma bibliotek från openid-federation-commons, vilket innehåller grundfunktioner för federation, trust chain-validering och klientstöd. (github.com)

Drift

Komponenten levereras som Spring Boot-applikation och publiceras även som container-image via GitHub Releases.

Status

Versionsinformation: openid-federation-services/docs/release-notes.md at main · swedenconnect/openid-federation-services


FrågaSvarKommentar
  1. Krav på driftsmiljöer:
    • Ställs krav på HSM för signeringsnyckel samt genomförande av nyckelscermoni? 
    • Specifikat krav på driftsmiljö för Pilot, Exvis om det räcker med TEST-miljö under piloten
  • Piloten avses att köras i produktion

2. Konnektivitetskrav, till exempel

    • Anslutningstjänster till Tillitsankaret
    • Protokollentiteter till Anslutningstjänst och Uppslagstjänst

 

Frågeställningarna behöver förtydligas

  1. Vad avses med konnektivetskrav?
    SVAR: Med konnektivitet avses här vilka tjänster/ändpunkter som behöver vara nåbara och mellan vilka komponenter.

3. Systemkrav:

    • Operativsystem
    • Hårdvaruarkitektur
    • Databaser
    • Open Source utan support under Piloten, MariaDB, Redis

Frågeställningarna behöver förtydligas

  1. Vad avses med plattformsstöd?
    SVAR: Ändrat till krav på operativsystem, hådrvaruplattformar och databaser
  2. Vad avser ni med behov av licenser?
    SVAR: Stryker denna fråga; det viktiga är att veta kraven på databaser som sådant.
  3. Vad avses med Open source utan support?
    SVAR: Återkommer, ställt fråga.

4. Åtkomstkontroll:

    • Styrs vi konfigurationsfiler
    • Konfigurationer för inloggning i federationstjänster
  • OpenID Federation Services omfattar inte åtkomstkontroll
  • Standalone mode, instanskonfiguration hanteras lokalt via properties/YAML-konfiguration.


5. Ip-adresser och routing:

    • Hur många externa ip-adresser kommer Anslutningstjänst+Resolver att behöva?
    • Ska adresserna kunna routas över både Internet och Sjunet?
  • Routing över Internet

6. Externa certifikat för TLS på publika endpoints

    • Något särskilt att tänka på för piloten?
    • Hur ska resolverns certifikat skapas
    • Hur är relationen till Digg
    • Signeringscertifikat?
  • Publika TLS certifikat ska användas för endpoints

7. Autentisering och behörighet för Admin

  • Nyttja KeyCloak från start, eller konfigurera användare direkt i Admin-delen till en början?
  • Standalone mode: instanskonfiguraion hanteras lokalt via properties/YAML-konfiguration.

OpenID Federation Registry kommer på sikt kunna användas för konfigurera OpenID Federation Services i managed mode.

Frågan avser hur realiseras behörigheterna för att kunna administrera federationstjänsterna, dvs. Admin-applikationen.

8. Beskrivning av komponent som integrerar mellan auktorsationsserver federationstjänsten Resolver (Uppslagstjänst)

Frågeställningarna behöver förtydligas

  1. Vilken komponent är det som avses?
    SVAR: Torde vara den separata komponent som nämnts som kan agera adapter mellan Auktorisationsserver (KeyCloak) och Uppslagstjänsten.

  2. Vilket notifieringsprotokoll avses? 
    1. Mellan vilka komponenter?
      SVAR: Samma komponenter som ovan. Justerar frågan då notifieringsprotokoll är om ens tillämpligt en del av svaret/lösningen.