Nedan är operativa tumregler för att avgöra var ett krav eller en regel hör hemma i din artefakt-arkitektur. De är formulerade som beslutskriterier och gränsdragningar för att minimera överlapp och normkonflikter.
1. Grundprincip: Fråga dig “Vad normeras egentligen?”
När du formulerar ett krav – avgör först om det normerar:
Villkor för att delta → Anslutningspolicy
Egenskaper/förmågor som krävs i federationen → Tekniska anslutningsregler
Process för att få in en komponent → Registreringspolicy
Exakt teknisk implementation → Tekniskt ramverk
Det är alltid objektet för normeringen som styr placeringen.
2. Tumregler per lager
A. Anslutningspolicy (styrningslager)
Lägg här när:
Kravet gäller organisationen som aktör
Kravet kan uppfyllas utan att du vet vilken teknik som används
Kravet är kopplat till avtal, ansvar eller sanktion
Kravet är av typen “måste ha förmåga att…”
Typiska formuleringar:
“Aktören ska…”
“Anslutning får ske om…”
“Aktören ansvarar för…”
“Vid bristande efterlevnad kan…”
Lägg inte här:
Krav på algoritmer, claims, attributformat
Testfall
Konfigurationsdetaljer
Metadatafält
Snabbtest:
Om du kan byta ut “SAML/OIDC” mot “valfri teknik” utan att texten påverkas → då hör det hit.
B. Tekniska anslutningsregler (teknikneutral federationsnivå)
Lägg här när:
Kravet beskriver vilken egenskaper federationer/komponenter måste ha
Kravet gäller alla tekniker i federationskontexten
Kravet uttrycks som säkerhets- eller interoperabilitetsnivå
Du kan formulera det utan att nämna ett protokoll
Typiska formuleringar:
“Autentisering ska uppnå minst nivå X.”
“Kryptografiskt skydd ska säkerställa…”
“Metadata ska vara korrekt och aktuell.”
“Spårbarhet ska möjliggöra…”
Lägg inte här:
“ID Token ska innehålla…”
“Assertion ska signeras med…”
Endpoint-URL-format
Claim-namn
Snabbtest:
Om du behöver nämna ett specifikt protokollelement → då är du på väg ner i ramverket.
C. Registreringspolicy (process + teknik)
Lägg här när:
Kravet beskriver hur en komponent tas in i federationen
Det rör ansökningsförfarande, verifiering, test, godkännande
Det är kopplat till förändringshantering
Det är kopplat till evidenskrav
Typiska formuleringar:
“För registrering ska följande lämnas in…”
“Före produktionssättning ska…”
“Vid ändring av nyckelmaterial ska…”
Lägg inte här:
Generella säkerhetsprinciper
Federationsövergripande krav
Protokollspecifika MUST/SHOULD-detaljer (de hör hemma i ramverket)
Snabbtest:
Om kravet upphör att vara relevant efter att komponenten är godkänd → då hör det sannolikt hit.
D. Tekniskt ramverk (normativ teknisk specifikation)
Lägg här när:
Kravet är testbart på protokollnivå
Du använder MUST/SHOULD/MAY
Du refererar till RFC/OASIS-specifikationer
Det påverkar interoperabilitet direkt
Typiska formuleringar:
“ID Token MUST be signed using…”
“Assertion SHALL contain…”
“Clients MUST support…”
“Metadata SHALL include…”
Lägg inte här:
Avtalsvillkor
Sanktioner
Organisationskrav
Allmänna säkerhetsprinciper utan teknisk konkretisering
3. Beslutsträd (snabbklassificering)
Gäller kravet organisationens rätt eller ansvar att delta?
→ AnslutningspolicyGäller det vilken säkerhets-/interoperabilitetsegenskap federationen ska ha?
→ Tekniska anslutningsreglerGäller det hur en komponent tas in, testas eller ändras?
→ RegistreringspolicyGäller det exakt hur protokollet ska implementeras?
→ Tekniskt ramverk
4. Överlapp – så undviker du dem
Regel: Uppåt är princip, nedåt är konkretisering
Policy säger att
Regler säger vad
Registrering säger hur processen går till
Ramverk säger exakt hur tekniken ska bete sig
Om ett dokument börjar svara på en fråga som hör hemma i ett annat lager → du är på väg att skapa normkonflikt.
5. Konfliktregel (väldigt viktig i normhierarki)
Om två dokument verkar säga olika saker:
Tekniskt ramverk konkretiserar – det får inte motsäga högre nivå.
Registreringspolicy får inte skapa nya materiella krav som saknar stöd i regler eller ramverk.
Tekniska anslutningsregler får inte smyga in avtalskrav.
Anslutningspolicy får inte smyga in tekniska implementationer.
6. Praktiska exempel
| Exempel | Var hör det hemma? | Varför? |
|---|---|---|
| “Aktören ska ha incidenthanteringsförmåga” | Anslutningspolicy | Organisationskrav |
| “Incidenter ska rapporteras inom 24h” | Tekniska anslutningsregler | Federationskrav på samverkan |
| “Byte av signeringscertifikat kräver ny registrering” | Registreringspolicy | Processregel |
| “SAML Assertions MUST be signed with RSA-3072” | Tekniskt ramverk | Protokollkrav |
7. Mental modell: Fyra olika målgrupper
Detta är ofta den tydligaste distinktionen:
| Dokument | Primär målgrupp |
|---|---|
| Anslutningspolicy | Juridik, ledning, styrning |
| Tekniska anslutningsregler | Säkerhetsarkitekter, federationsansvariga |
| Registreringspolicy | Onboarding-/driftansvariga |
| Tekniskt ramverk | Utvecklare och produktleverantörer |
Om fel målgrupp måste läsa dokumentet för att förstå det – då är något felplacerat.
Syfte
Detta dokument beskriver hur SIB:s dokumentpaket hänger ihop och var olika typer av krav ska uttryckas. Målet är att undvika dubbelreglering och göra det tydligt vad som styr styrning, krav, process och tekniska detaljer.
Översikt
Lager 1: Styrning och ansvar
Anslutningspolicy – Anslutningsoperatör
Reglerar relationen mellan Federationsoperatör och Anslutningsoperatör: vem som får bli operatör, vilka ansvar som följer, hur uppföljning sker och hur avstängning/återkallelse hanteras.
Anslutningspolicy – Federationsmedlem
Reglerar relationen mellan Anslutningsoperatör och Federationsmedlem: medlemskriterier, åtaganden, efterlevnad, sanktioner och avstängning/återkallelse på medlemsnivå.
Princip: Policys beskriver “vem och varför”, ansvar samt konsekvens vid bristande efterlevnad.
Lager 2: Federationsgemensamma verifierbara krav
Tekniska anslutningsregler – SIB Federation
Fastställer gemensamma minimikrav som måste vara uppfyllda för att federationen ska fungera säkert och interoperabelt. Innehåller krav som går att kontrollera, och pekar vid behov ut vilket tekniskt ramverk/profil som gäller.
Princip: Här står “vad som ska uppfyllas”, inklusive versionsföljsamhet, miljöer, incident- och nyckelkrav.
Lager 3: Process och evidens (hur man gör i praktiken)
Registreringspolicy – OpenID Federation/OIDC (och ev. andra kontexter)
Beskriver hur en teknisk komponent registreras, valideras, driftsätts, uppdateras och avregistreras. Anger vilka artefakter/bevis som krävs och hur kontroller genomförs.
Princip: Här står “hur man gör”, steg för steg.
Lager 4: Exakta tekniska normer
Tekniskt ramverk – standarder och profiler
Innehåller exakta protokollkrav (profiler, parametrar, endpoints, claims, algoritmer, felhantering) som implementatörer behöver följa.
Princip: Här står “exakt hur det ska implementeras”.
Dokumentkarta (”vem pekar på vem”)
Anslutningspolicy – Anslutningsoperatör
pekar på: Tekniska anslutningsregler, Registreringspolicy
beskriver: ackreditering, ansvar, tillsyn, avstängning/återkallelse av operatör
Anslutningspolicy – Federationsmedlem
pekar på: Tekniska anslutningsregler, Registreringspolicy,
beskriver: medlemskap, åtaganden, sanktioner, avstängning/återkallelse av medlem
Tekniska anslutningsregler – SIB Federation
pekar på: Tekniskt ramverk (profil X/Y),
beskriver: verifierbara minimikrav, miljöer, versionsföljsamhet, säkerhetskrav
Registreringspolicy – OpenID Federation/OIDC
pekar på: Tekniskt ramverk, Tekniska anslutningsregler,
beskriver: registreringsflöden, evidens, validering, publicering, ändring, avregistrering
Tekniskt ramverk – standarder och profiler
refereras av: Tekniska anslutningsregler, Registreringspolicy
beskriver: exakta protokollkrav
Praktiska tumregler för att undvika dubbelreglering
Om frågan är ”vem får, vem ansvarar, vad händer om…” lägg i anslutningspolicy.
Om frågan är ”vilka tekniska funktionella krav som måste vara uppfyllda och hur mäter vi det” lägg i tekniska anslutningsregler.
Om frågan är ”hur går det till i onboarding/registrering/ändring” lägg i registreringspolicy.
Om frågan är ”vilka fält/claims/endpoints/algoritmer exakt” lägg i tekniskt ramverk.
Dokumentpaket
Dokument 1: Anslutningspolicy – Anslutningsoperatör (styrning och ansvar)
Syfte: Reglerar relationen mellan Federationsoperatör och Anslutningsoperatör (ackreditering av operatör).
Innehållsförteckning (förslag):
Syfte, omfattning och definitioner
Roller och ansvar (Federationsoperatör ↔ Anslutningsoperatör)
Tillitsstruktur för operatörsled (konsekvenser vid avstängning/återkallelse)
Kriterier för att få bli Anslutningsoperatör (juridik, säkerhet, kapacitet)
Godkännande och återkommande uppföljning (tillsyn/rapportering)
Krav på operativ förmåga (incident, förändring, kontinuitet, kommunikation)
Delegationer (t.ex. utfärdande av trust marks) – principnivå
Avstängning/återkallelse och konsekvenshantering (migrering, kommunikation)
Bilagor och hänvisningar (till tekniska anslutningsregler/ramverk)
Dokument 2: Anslutningspolicy – Federationsmedlem (styrning och ansvar)
Syfte: Reglerar relationen mellan Anslutningsoperatör och Federationsmedlem (medlemskap och efterlevnad).
Innehållsförteckning (förslag):
Syfte, omfattning och definitioner
Kriterier för medlemskap (juridik, roller, ansvar)
Tillitsstruktur för medlem (konsekvenser vid avstängning/återkallelse)
Medlemsåtaganden (metadataansvar, kontaktvägar, incident, förändring)
Godkännande, uppföljning och sanktioner
Avstängning/återkallelse (medlemsnivå)
Bilagor och hänvisningar
Gräns: Inga tekniska fältlistor—bara åtaganden och efterlevnadsprinciper.
Dokument 3: Tekniska anslutningsregler – SIB Federation (verifierbara minimikrav)
Syfte: Definierar gemensamma, testbara krav som alla parter måste uppfylla för interoperabilitet och säker drift i SIB.
Innehållsförteckning (förslag):
Översikt: mål, tillämpning, miljöer
Gemensamma säkerhetskrav (TLS, nyckelhantering, loggning, tidsstämpling, driftinfo)
Metadata- och identitetskrav (kvalitet, aktualitet, kontaktuppgifter)
Versionsföljsamhet och övergångsregler (tidsfrister, bakåtkompatibilitet)
Krav per roll (Federationsoperatör / Anslutningsoperatör / Federationsmedlem) – utan protokollfält men med tydliga verifieringspunkter
Krav på tillitsstyrning (vilka trust marks/kategorier krävs när, principnivå)
Test, granskning och godkännande (vilka bevis krävs)
Incident- och återkallelsekrav (tekniska effekter och åtgärdstider)
Hänvisningar till tekniskt ramverk och registreringspolicy
Gräns: Här kan det finnas teknikbindning via hänvisning (“för OpenID Federation gäller Ramverk X”), men detaljparametrar ligger i ramverket.
Dokument 4: Registreringspolicy – OpenID Federation/OIDC
Syfte: Beskriver hur registrering/uppdatering/avregistrering går till för federationens tekniska komponenter och metadata.
Innehållsförteckning (förslag):
Roller i registreringsprocessen (vem gör vad)
Onboardingflöde (steg för steg)
Registreringsobjekt (entitetstyper, relationer, kedjor)
Validering och kontroller (automatiska + manuella)
Miljöer: test/sandbox/produktion och flyttregler
Ändringshantering (metadata, endpoints, nycklar, certifikat)
Avpublicering och återkallelse (inkl. trust mark-status)
Loggning, spårbarhet och beslut
Driftinformation och kommunikation
Mallar: checklistor, evidenskrav, tidsfrister
Gräns: Process + kontroller. Här beskrivs “hur man gör”
Dokument 5: Tekniskt ramverk – profiler och interoperabilitet
Syfte: Exakta standarder/profiler och parametrar som implementatörer behöver följa.
Innehållsförteckning (förslag):
Refererade standarder och profiler
OpenID Federation-profil (exakta claims, endpointkrav, policy application)
OIDC/OAuth-profil (flöden, response types, tokenkrav, signing/encryption)
Algoritmer, nycklar, tidskrav
Felhantering och säkerhetskrav på protokollnivå
Testprofil/konformitet (testfall, assertions)
Versionering och kompatibilitet
Gräns: Endast tekniska detaljer.
Policyn gäller för anslutning till SIB-federationen inklusive:
anslutning av AO till FO,
anslutning av FM (och deras entiteter) via AO,
publicering, uppdatering, avpublicering och revokering av metadata och trust marks.
Policyn reglerar inte bilaterala nyttjandeavtal mellan FM (tjänst-till-tjänst), men kräver att federationens metadata tydligt kan uttrycka avtals-/tillitsförutsättningar via policy/tillitsmarkeringar.2. Policyramverk och harmonisering
Policyn ska bestå av tre sammanhängande delar:
A) Anslutningsvillkor (juridik/avtal),
B) Tekniska anslutningsregler,
C) Operativa rutiner (processer för drift/incident/ändring).
Tekniska anslutningsregler ska vara verifierbara och knutna till anslutningsavtal (motsvarande Sweden Connect-principen att avtal definierar ansvar/avgifter och tekniska regler beskriver hur anslutningen ska fungera).
Policyn ska säkerställa att en Operatör (FO eller AO) som ansluts till SIB:
kan upprätthålla federationens tillit (trust chain) på operatörsnivå,
kan ansluta och hantera FM enligt separata medlemskrav (FM-policy),
kan genomföra drift, incident, ändring och revokering på ett sätt som skyddar federationen och dess deltagare.
-----------------------------utkast 20260220-------------------------
1. Syfte
Denna policy beskriver vad registrering av tekniska komponenter i federationen innebär och vilken betydelse (semantik) registrerade metadata-attribut har. Policyn ska skapa en gemensam förståelse för vilken tillit som kan läggas i registrerade uppgifter samt hur dessa används för automatiserad tillitsetablering, interoperabilitet och säker drift.
Policyn tar vid efter att en organisation är ansluten som federationsmedlem enligt anslutningspolicy (verifierad organisation och behöriga kontaktpersoner).
2. Styrande ramverk
Policyn bygger på OpenID Federation och den svenska profilen för OpenID Federation. Dessa anger den tekniska modellen för entity statements, trust chains, metadata per entity type och (i förekommande fall) trust marks. Denna policy preciserar hur metadata ska förstås, vilka tillitsantaganden som ska gälla och vilka minimikrav som behöver vara uppfyllda för att en registrering ska vara meningsfull och maskinellt användbar.
3. Vad andra parter kan förutsätta
När en teknisk komponent är registrerad enligt denna policy kan andra parter förutsätta att:
Komponenten är knuten till en federationsmedlem (juridisk person) genom stabila organisationsuppgifter i metadata.
Identifierare och domänval ger en kontrollerbar koppling mellan komponent och organisationens domän(er), för att minska risk för felregistrering och vilseledande identiteter.
Metadata-attributen har en definierad semantik som kan användas för maskinell validering och resolution i federationen.
Registreringen hänvisar till en identifierbar registreringspolicy (policy-URI) som anger vilket regelverk som gällde vid registreringstillfället och vid uppdateringar.
4. Omfattning och avgränsning
4.1 Omfattar
Semantik för metadata-attribut vid registrering av tekniska komponenter: identitet, organisation, kontakt, nycklar, endpoints och protokollrelaterad metadata.
Grundprinciper för hur metadata används för interoperabilitet och tillit inom ramen för OpenID Federation och svensk profil.
Registreringslivscykel på policynivå (nyregistrering, uppdatering, avregistrering) med fokus på spårbarhet.
4.2 Omfattar inte
Exakta fältkrav per profil, algoritmlistor, testfall eller detaljerade tekniska valideringsregler (hanteras i krav/spec/profil).
Organisationsverifiering och mandatkedjor för medlemskap (hanteras i anslutningspolicy).
Driftinstruktioner för resolver, cache och federationstjänster (hanteras i operativa dokument).
5. Roller och ansvar
Ledningsaktör: fastställer policyn och kan initiera uppföljning/revision av efterlevnad.
Federationsoperatör: ansvarar för federationens tillitsinfrastruktur och publicering av federationens gemensamma resurser (om rollen är separerad).
Registreringsfunktion (Federation Registration Entity): ansvarar för att registrering sker enligt policyn, att policyidentifierare används och att tillitsartefakter publiceras.
Federationsmedlem: ansvarar för att lämnad metadata är korrekt, aktuell och att förändringar hanteras enligt federationens processer.
6. Definitioner
Teknisk komponent: federationsentitet som registreras och publiceras för upptäckt och tillit inom federationen, t.ex. OpenID Provider, Relying Party/Client, Authorization Server, Resource.
Entity Identifier: entydig URI som identifierar en entitet i federationen.
Entity Configuration: entitetens självdeklaration som utgör startpunkt för trust chain och metadata resolution.
Subordinate Statement: uttalande signerat av entitetens överordnade registreringsfunktion som intygar bindningar och kontroller vid registrering.
Registreringspolicy-URI: stabil identifierare som anger vilken version av registreringspolicy som tillämpats.
7. Grundläggande ställningstaganden
Registrering är tillitsskapande och ska möjliggöra maskinell bedömning av vem som står bakom en komponent, vilka nycklar som hör till entiteten och hur komponenten ska användas säkert och interoperabelt.
Metadata ska vara begriplig och verifierbar. Identitetspekande metadata (namn, org-id, domän, kontakt) ska vara spårbar till federationsmedlemmen.
Registreringspolicy-URI är en central del av tilliten: andra parter ska kunna förstå vilket regelverk som gällde vid intaget och vid senare ändringar.
Svensk profil tillämpas med rollseparation: federation service-roller och protokollroller ska inte blandas under samma entity identifier för protokollentiteter.
8. Registreringsobjekt och policyartefakter
Registrering av en teknisk komponent ska resultera i följande artefakter:
Entity Configuration som kan hämtas och valideras.
Subordinate Statement utfärdat av registreringsfunktionen, som binder ihop entiteten, dess federationsnycklar och dess medlemskap samt kan fixera eller stärka utvalda metadata.
Registreringspolicy-URI som gör policyn spårbar vid resolution och vid revision.
9. Registreringsprocess (policy-nivå)
9.1 Nyregistrering
Nyregistrering innebär att en ny entitet skapas med initial baseline-metadata. Registreringsfunktionen ska säkerställa att:
organisationskoppling är etablerad,
domänkoppling är rimlig och kontrollerbar,
entity configuration kan valideras,
subordinate statement kan utfärdas,
registreringspolicy-URI kopplas till registreringen.
9.2 Uppdatering
Uppdatering innebär ändring av metadata för en befintlig entitet. Principer:
Uppdateringar ska vara spårbara (vem, vad, när, varför).
Nyckelbyte och endpointändringar ska hanteras kontrollerat.
Uppdateringar kan kräva ny attest eller ny kontroll beroende på ändringens säkerhetspåverkan.
Tillämplig policyversion ska vara tydlig (antingen kvarvarande version om policyn ej ändras, eller ny version om policyn uppdaterats och tillämpas).
9.3 Avregistrering och återkallelse
Avregistrering innebär att entiteten inte längre ska vara tillitsbar/upptäckbar. Principer:
Avregistrering ska kunna ske kontrollerat vid avslutat medlemskap eller vid säkerhetsincident.
Federationens tillitskedjor ska brytas eller markera entiteten som icke giltig på ett sätt som är konsekvent för relying parter.
10. Spårbarhet, transparens och bevisbarhet
Registreringsbeslut ska kunna knytas till ärende/beslutsdatum och tillämpad policyversion.
Federationens parter ska kunna skilja på vad som intygats av registreringsfunktionen (subordinate statement) och vad som är självdeklarerat (entity configuration).
Underlag för kritiska bindningar (organisation↔entitet, domän↔identifierare, nycklar↔entitet) ska kunna redovisas vid revision.
11. Revision och uppföljning
Efterlevnad kan följas upp genom stickprov, incidentuppföljning och granskning av publicerade artefakter.
Vid brister kan federationen kräva korrigering, begränsa tillit eller avregistrera komponenten enligt federationens styrmodell.
Bilagor – Metadata-tabeller per entity type (portalformat)
Bilaga A – Entity Configuration (top-level claims) – svensk profil
| Attribute | Type | Required | Description | Validation (svensk profil) |
|---|---|---|---|---|
| iss | String (URI) | Yes | Utfärdare av entity statement. | HTTPS-URI. För self-signed entity configuration: iss = sub. |
| sub | String (URI) | Yes | Entitetens entity identifier. | HTTPS-URI. Stabil över tid. |
| iat | Number | Yes | Utfärdandetid. | Unix-tid (sekunder). |
| exp | Number | Yes | Utgångstid. | Unix-tid (sekunder), > iat. |
| jwks | Object (JWKS) | Yes | Federationsnycklar (publika) för att verifiera entity statements. | Endast publika nycklar. keys krävs. Unika kid. |
| authority_hints | String[] (URI) | Yes (för Protocol Entities) | Pekar ut entitetens immediate superior(s). | Ej tom för leaf/protokollentiteter. HTTPS-URI. |
| trust_anchor_hints | String[] (URI) | No | Extra hint om relevanta trust anchors. | Om angiven: ej tom. HTTPS-URI. |
| metadata | Object | Yes (för Protocol Entities) | Metadata per entity type (protokollroll). | Får inte inkludera federation_entity för protokollentiteter. |
| trust_marks | Object[] | No | Trust marks som entiteten innehar/presenterar. | Varje post måste ha trust_mark_type och trust_mark (JWT). |
Bilaga B – Trust Marks (generisk struktur)
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| trust_marks[].trust_mark_type | String (URI) | Yes | Identifierare för trust mark-typen. | URI enligt federationens överenskommelse. Ska matcha tokeninnehåll. |
| trust_marks[].trust_mark | String (JWT) | Yes | Trust mark-token. | JWT. Signatur och giltighet måste valideras enligt federationens tillitsmodell. |
| trust_mark_issuers | Object | No (Trust Anchor) | Anger betrodda utfärdare per trust mark-typ. | Endast relevant för trust anchor. |
| trust_mark_owners | Object | No (Trust Anchor) | Anger ägare av trust mark-typ, inkl. nyckelmaterial. | Endast relevant för trust anchor. |
Bilaga C – Gemensam organisations- och kontaktmetadata
Dessa fält bör finnas för samtliga protokollentiteter (OP, RP/Client, AS, Resource) för att stödja spårbarhet och mänsklig validering.
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| organization_identifier | String | Yes | Identifierare för federationsmedlem (juridisk person). Borde var 12 siffror och kanske börja med 16 men vad vet jag | Organisationsnummerformat (policybestämt). |
| organization_name | String / Object (lang map) | Yes | Organisationens namn. | Ska vara konsekvent med anslutet medlemskap. |
| contacts | String[] | Yes | Kontaktpunkter. Frågan är vad vi ska ha denna till. | E-post/URI enligt federationens format. Ska vara förvaltningsbara och bemannade. |
| policy_uri | String (URI) | No | Länk till policy/sekretess för tjänsten. | HTTPS, relevant för tjänsten. |
| tos_uri | String (URI) | No | Länk till villkor. | HTTPS, relevant för tjänsten. |
| logo_uri | String (URI) | No | Logotyp/ikon för UI. | HTTPS, kontrollerbar, inte vilseledande. |
Bilaga D – Entity type: OpenID Relying Party / Client (metadata.openid_relying_party.*)
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.openid_relying_party.client_name | String / Object (lang map) | Policy-styrt | Namn för klienten/tjänsten. | Får inte vara vilseledande. |
| metadata.openid_relying_party.redirect_uris | String[] (URI) | Yes (för auth code) | Redirect URIs. | HTTPS. Inga fragment. Exakt matchning. Kontrollerbar domän. |
| metadata.openid_relying_party.response_types | String[] | Policy-styrt | Tillåtna response types. | Ska vara konsistent med grant_types och profil. |
| metadata.openid_relying_party.grant_types | String[] | Policy-styrt | Tillåtna grant types. | Ska vara konsistent med response_types och profil. |
| metadata.openid_relying_party.token_endpoint_auth_method | String | Policy-styrt | Auth-metod vid token endpoint. | Ska följa federationsprofil/krav. |
| metadata.openid_relying_party.jwks_uri | String (URI) | Conditional | URL till klientens JWKS. | HTTPS. Får ej kombineras med inline jwks om policy säger exklusivitet. |
| metadata.openid_relying_party.jwks | Object (JWKS) | Conditional | Inline JWKS. | Publika nycklar. Unika kid. |
| metadata.openid_relying_party.request_uris | String[] (URI) | No | URIer för request objects. | HTTPS. Kontrollerbar domän. |
| metadata.openid_relying_party.request_object_signing_alg | String | Policy-styrt | Signeringsalg för request objects. | Ska följa profil/krav. |
| metadata.openid_relying_party.id_token_signed_response_alg | String | Policy-styrt | Signeringsalg för ID Token. | Ska följa profil/krav. |
| metadata.openid_relying_party.userinfo_signed_response_alg | String | No | Signeringsalg för UserInfo (om signerat). | Ska följa profil/krav. |
| metadata.openid_relying_party.client_uri | String (URI) | No | Informationssida för klienten. | HTTPS, kontrollerbar. |
| metadata.openid_relying_party.logo_uri | String (URI) | No | Logotyp. | HTTPS, kontrollerbar. |
| metadata.openid_relying_party.policy_uri | String (URI) | No | Policy/sekretess. | HTTPS, relevant. |
| metadata.openid_relying_party.tos_uri | String (URI) | No | Villkor. | HTTPS, relevant. |
Bilaga E – Entity type: OpenID Provider (metadata.openid_provider.*)
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.openid_provider.issuer | String (URI) | Yes | OP:s issuer identifier. | HTTPS. Ska vara konsistent med OP:s discovery och federationens identifiering. |
| metadata.openid_provider.authorization_endpoint | String (URI) | Yes | Authorization endpoint. | HTTPS. |
| metadata.openid_provider.token_endpoint | String (URI) | Policy-styrt | Token endpoint (om tillämpligt). | HTTPS. |
| metadata.openid_provider.userinfo_endpoint | String (URI) | No | UserInfo endpoint. | HTTPS. |
| metadata.openid_provider.jwks_uri | String (URI) | Yes | URL till OP:s JWKS för protokollnycklar. | HTTPS. Kontrollerbar domän. |
| metadata.openid_provider.registration_endpoint | String (URI) | No | Dynamic registration endpoint (om stöd). | HTTPS. Ofta inte relevant i federerad modell om registrering sker via federation. |
| metadata.openid_provider.scopes_supported | String[] | Policy-styrt | Scopes som stöds. | Ska vara konsistent med svensk profil/krav. |
| metadata.openid_provider.response_types_supported | String[] | Yes | Response types som stöds. | Måste innehålla minst de som krävs av profil. |
| metadata.openid_provider.response_modes_supported | String[] | No | Response modes som stöds. | Ska följa profil/krav. |
| metadata.openid_provider.grant_types_supported | String[] | Policy-styrt | Grant types som stöds. | Ska följa profil/krav. |
| metadata.openid_provider.subject_types_supported | String[] | Yes | Subject types som stöds. | Ska följa profil/krav. |
| metadata.openid_provider.id_token_signing_alg_values_supported | String[] | Yes | Signeringsalgoritmer för ID Token. | Ska följa profil/krav. |
| metadata.openid_provider.userinfo_signing_alg_values_supported | String[] | No | Signeringsalgoritmer för UserInfo (om signerat). | Ska följa profil/krav. |
| metadata.openid_provider.claims_supported | String[] | Policy-styrt | Claims som stöds. | Ska följa profil/krav och informationsklassning. |
| metadata.openid_provider.claims_parameter_supported | Boolean | No | Stöd för claims-parameter. | Ska följa profil/krav. |
| metadata.openid_provider.request_parameter_supported | Boolean | No | Stöd för request-parameter. | Ska följa profil/krav. |
| metadata.openid_provider.request_uri_parameter_supported | Boolean | No | Stöd för request_uri. | Om true bör request_uris vara kontrollerbara och policyreglerade. |
| metadata.openid_provider.require_request_uri_registration | Boolean | No | Kräver registrerade request_uris. | Rekommenderas om request_uri används. |
| metadata.openid_provider.code_challenge_methods_supported | String[] | Policy-styrt | PKCE-metoder. | Ska följa profil/krav. |
| metadata.openid_provider.tls_client_certificate_bound_access_tokens | Boolean | No | mTLS-bound tokens. | Endast om federation/profil stödjer. |
| metadata.openid_provider.dpop_signing_alg_values_supported | String[] | No | DPoP-algoritmer. | Endast om federation/profil stödjer. |
Bilaga F – Entity type: OAuth Authorization Server (metadata.oauth_authorization_server.*)
Används för AS som inte nödvändigtvis är en OpenID Provider (ren OAuth AS), eller där man vill uttrycka OAuth AS-metadata separat.
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.oauth_authorization_server.issuer | String (URI) | Yes | AS issuer identifier. | HTTPS. |
| metadata.oauth_authorization_server.authorization_endpoint | String (URI) | Yes | Authorization endpoint. | HTTPS. |
| metadata.oauth_authorization_server.token_endpoint | String (URI) | Yes | Token endpoint. | HTTPS. |
| metadata.oauth_authorization_server.jwks_uri | String (URI) | Yes | JWKS URI. | HTTPS. |
| metadata.oauth_authorization_server.scopes_supported | String[] | Policy-styrt | Scopes som stöds. | Ska vara konsistent med federationens scope-policy. |
| metadata.oauth_authorization_server.response_types_supported | String[] | Policy-styrt | Response types som stöds. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.grant_types_supported | String[] | Policy-styrt | Grant types som stöds. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.token_endpoint_auth_methods_supported | String[] | Policy-styrt | Auth-metoder mot token endpoint. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.token_endpoint_auth_signing_alg_values_supported | String[] | No | Algoritmer för signerad klientauth. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.introspection_endpoint | String (URI) | No | Introspection endpoint. | HTTPS. Endast om erbjuds. |
| metadata.oauth_authorization_server.revocation_endpoint | String (URI) | No | Revocation endpoint. | HTTPS. Endast om erbjuds. |
| metadata.oauth_authorization_server.registration_endpoint | String (URI) | No | Dynamic registration endpoint. | Ofta ej relevant i federerad modell om registrering sker via federation. |
| metadata.oauth_authorization_server.code_challenge_methods_supported | String[] | Policy-styrt | PKCE-metoder. | Ska följa profil/krav. |
| metadata.oauth_authorization_server.dpop_signing_alg_values_supported | String[] | No | DPoP-algoritmer. | Endast om stöd finns. |
| metadata.oauth_authorization_server.require_pushed_authorization_requests | Boolean | No | Kräver PAR. | Rekommenderas om PAR används. |
| metadata.oauth_authorization_server.pushed_authorization_request_endpoint | String (URI) | No | PAR endpoint. | HTTPS. Om PAR används. |
Bilaga G – Entity type: OAuth Protected Resource (metadata.oauth_resource.*)
Avser resurs/API som skyddas av OAuth (Resource Server) och som kan beskrivas maskinellt för interoperabilitet.
| Attribute | Type | Required | Description | Validation |
|---|---|---|---|---|
| metadata.oauth_resource.resource | String (URI) | Yes | Resursidentifierare (audience/resource indicator). | HTTPS-URI. Stabil över tid. |
| metadata.oauth_resource.authorization_servers | String[] (URI) | Yes | Lista över AS/issuer som resursen accepterar tokens ifrån. | HTTPS-URI. Ska peka på federerade AS-entiteter. |
| metadata.oauth_resource.scopes_supported | String[] | Policy-styrt | Scopes som resursen kräver/accepterar. | Ska vara konsistent med federationens scope-policy och AS-konfiguration. |
| metadata.oauth_resource.bearer_methods_supported | String[] | No | Hur bearer tokens presenteras (t.ex. header). | Ska vara konsistent med resursens tekniska gränssnitt. |
| metadata.oauth_resource.resource_documentation | String (URI) | No | Dokumentation för API/resurs. | HTTPS, kontrollerbar. |
| metadata.oauth_resource.tls_client_certificate_bound_access_tokens | Boolean | No | Kräver/hanterar mTLS-bound tokens. | Endast om stöd finns i federationen. |
| metadata.oauth_resource.dpop_signing_alg_values_supported | String[] | No | DPoP-algoritmer som resursen accepterar. | Endast om stöd finns. |
Bilaga H – Minimiregler för semantik och kvalitet (gäller alla entity types)
H.1 Identifierare och domänkoppling
Entity identifier och kritiska URI-fält ska vara valda så att koppling till federationsmedlemmens domän(er) är rimlig och kontrollerbar.
URI:er ska vara långsiktigt förvaltningsbara och inte peka på innehåll/endpoints som kan bytas ut på ett sätt som skapar vilseledande beteende.
H.2 Nycklar och livscykel
Federationsnycklar (i entity configuration) och protokollnycklar (i entity type metadata, t.ex. jwks_uri) ska kunna roteras på ett kontrollerat sätt.
Nyckelbyte ska vara spårbart och hanteras som säkerhetskänslig ändring.
H.3 Kontakter och incidentförmåga
Kontakter ska vara bemannade och kunna hantera incidenter, nyckelbyten och metadataändringar.
Vid incident ska federationen kunna nå ansvarig part utan dröjsmål.
H.4 Rollseparation (svensk profil)
Protokollentiteter ska vara leaf entities och får inte blandas med federation service-roller under samma entity identifier.
Protokollentiteters entity configuration ska inte innehålla federation service-metadata (
federation_entity).
Bilaga I – Mall för “registreringsbeslut” (spårbarhet)
| Fält | Innehåll |
|---|---|
| Ärende-ID | Unik referens till registreringsärendet |
| Entitet | Entity Identifier (URI) |
| Entity type(s) | OP / RP / AS / Resource (en eller flera) |
| Organisationskoppling | organization_identifier + organization_name |
| Kontaktuppgifter | contacts (inkl. ansvarig funktion) |
| Policy | Registreringspolicy-URI + version |
| Nycklar | Federations-JWKS + ev. protokoll-JWKS/JWKS URI |
| Endpoint-/URI-kontroll | Sammanfattning av domän/URI-kontroller |
| Beslut | Godkänd / Avslagen / Avregistrerad |
| Beslutsdatum | Datum/tid |
| Beslutsfattare | Funktion/roll (ej persondata om inte nödvändigt) |