Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Fokus för detta dokument är att beskriva hur arbetet med att definiera attribut och attributprofiler bör drivas framgent för att främja interoperabilitet och för att underlätta för samhällets digitalisering avseende behörighetskontroller.

...

arbetet när man har ett behov av behörighetsgrundande information för ett behörighetsbeslut och hur man säkerställer att denna information uttrycks på ett sätt som främjar interoperabilitet och återanvändbarhet. 

Uppdragets leverabler

Arbetsgruppen har i uppdrag att skapa en gemensam och hållbar grund för hantering av behörighetsattribut i federativa och sektorsgemensamma sammanhang.

Syftet är att bidra till en enhetlig, interoperabel och långsiktigt förvaltbar modell som kan användas av kommuner, regioner och nationella aktörer.

Uppdraget omfattar att:

    Behörighetsattribut
    Ta fram en struktur för hur behörighetattribut namnges och beskrivs
    Attributprofiler
    Förvaltningsstruktur
  1. Föreslå förvaltningsstruktur

  2. Definiera hur behörighetsattribut och attributprofiler kan förvaltas över tid, inklusive roller, ansvar, styrande principer och beslutsprocesser. Förvaltningsmodellen ska tydliggöra ägarskap, förändringshantering och samordning mellan berörda aktörer.
  3. Ta fram behörighetsattribut och attributprofiler för exemplifierade domäner
    Identifiera och definiera ett första urval av behörighetsattribut inom några utvalda domäner. Dessa ska fungera som konkreta exempel och kunna användas för att pröva struktur, semantik och tillämpning.

...


  1. Beskriv attributlistor och hur de kan användas
    Hur går man tillväga när man tar fram en attributlista som ska användas inom en domän, ett samverkanskontext eller för en specifik tillämpning.

  2. Anvisa hur nya behörighetsattribut definieras
    Ta fram en process för hur nya behörighetattribut namnges och beskrivs

  3. Exemplifiera och validera
    Identifiera och definiera ett första urval av behörighetsattribut inom några utvalda domäner. Dessa ska fungera som konkreta exempel och kunna användas för att pröva struktur, semantik och tillämpning. Verifiera även attributlistor genom att skapa sådana för specifika tillämpningar som Nationell Läkemedelslistan och elektronisk underskrift.


draw.io Diagram
borderfalse
diagramNameCopy of Namnlöst diagram-1773822493982
simpleViewerfalse
width
linksauto
tbstyleinline
lboxtrue
diagramWidth861785
height581631
revision1113

Principer

...

i framtagandet

  1. Respektera gjorda investeringar i dagens attributanvändning
    1. De behörighetsattribut som används inom olika sektorer idag kommer inte sluta användas bara för att en statlig myndighet hittar på en bättre variant. Förbättringar kommer ske över tid.
    2. När det förankrats att användning av ett behörighetsattribut ska fasas ut ska det i attributets dokumentation kunna markeras vilket annat synonymt attribut som rekommenderas.
    3. De komponenter som tar behörighetsbeslut utifrån tillförda tillför behörighetsattribut bör ha vetskap om alternativa attributsdefinitioner synonymer för att kunna svara på attributbegäran

  2. Favorisera brett förankrade attributsdefinitioner framför att skapa nya
    1. Behörighetsattribut ska i första hand utgå från etablerade och registrerade standarder (exempelvis IANA, OID eller motsvarande internationella register).
    2. Nya attribut ska endast definieras när befintliga standarder inte täcker behovetbefintligt attribut saknas.

  3. Rekommendera selektiv användning

    1. Attributsdefinitionskatalogen beskriver möjliga behörighetsattribut. Vid varje enskilt användningstillfälle ska endast de behörighetsattribut som är relevanta för ändamålet användas.

Avgränsningar

  1. Exakt hur Hur tillit till behörighetsattribut uppstår i e-legitimationer eller attributkällor skapas beskrivs inte här. Tilliten till attributen löser vi i federationen. Se Referenser för exempel på behörighetsmodeller.

  2. Tekniska mekanismer för informationsförsörjning av, och hantering av, behörighetsattribut beskrivs inte av detta dokument.

...

Kravställande användningsfall

Nedan listas ett antal användningsfall som vi använder som utgångspunkt i arbetet med behörighetsattribut och attributlistor. Syftet är att belysa olika organisatoriska och federativa situationer där identitet, hemvist, utfärdare och företrädd organisation kan skilja sig åt.

...

  • Utfärdande organisation
  • Hemorganisation/anställning
  • Företrädd organisation i aktuellt uppdrag
  • Roll och mandat i den specifika situationen
Info
titleOrganisatorisk dimension

Ett viktigt attribut som kan hänföra sig till den organisatoriska dimensionen är orgAffiliation. En person kan ibland agera inom ramen för sin organisatoriska tillhörighet, ibland handlar det om uppdrag. Ett sätt att skilja på detta är att e-tjänsten kan specificera specifika attribut som till exempel userOrgAffiliation när det handlar om organisation och orgAffiliation när det handlar om uppdrag.

Info
titleAttribut från e-legitimationen

Om en e-tjänst vill nyttja en e-legitimation utan att använda kataloguppslag är det nödvändigt att från e-tjänstens perspektiv kunna peka ut attribut som hänför sig till e-legitimationen. I det fallet kan det vara så att intygsutfördaren inte har tillgång till katalogen eller att det helt enkelt är en onödig omväg. I utgivning av en e-legitimation kan det vara tvunget att säkerställa att identiten härrör från e-legitimationen, inte från katalogen, attributkällan.

Behörighetsattribut

Ett behörighetsattribut inom Samordnad identitet och behörighet definieras behöver i sin definition inkludera följande metainformation:

  1. Identifierare: en eller flera attributidentifierare enligt #3.1 nedan.
  2. Kategori: en attributkategori enligt #3.2 nedan.
  3. Status: En indikering om attributet är aktivt, under utfasning, eller utfasat.
  4. Synonymt med: en eller flera attributidentifierare som kan användas synonymt med detta attribut
  5. ...mer

draw

Identifierare

Som identifierare av attribut eller andra semantiska objekt i en interoperabel infrastruktur används i regel formaten Object Identifier (OID), HTTP-URI, eller ett textuellt namn utan format.

Info
titleRegler och rekommendationer
  1. Attribut BÖR primärt identifieras med HTTP-URI
  2. Attribut BÖR INTE primärt identifieras med oformaterat textuellt namn eller OID i federativ kommunikation
  3. Attribut KAN identifieras med oformaterat textuellt namn eller OID
  4. Om man i en och samma behörighetskontroll behöver särskilja mellan instanser av "samma" behörighetsattribut, informationsförsörjda från olika attributkällor, REKOMMENDERAS att man skapar olika behörighetsattribut, men olika identifierare.
  5. Attribut BÖR exponeras och refereras med den identifierare som definieras i en attributprofil som erkänns av federationens medlemmar.
Expand
titleUnderlag ...

Object Identifier (OID)

En OID som URN (t ex urn:oid:2.5.4.42) är en globalt unik och hierarkiskt strukturerad identifierare bestående av en numerisk sträng enligt ITU-T X.660 / ISO/IEC 9834.

En OID:

  • SKA vara globalt unik.
  • SKA entydigt identifiera ett och samma semantiska objekt.
  • FÅR INTE återanvändas för att identifiera ett annat semantiskt objekt.
  • BÖR betraktas som den normativa och långsiktigt stabila identifieraren.

OID definierar den semantiska identiteten oberoende av teknisk representation eller kontext.

OID ägs och förvaltas i ett OID-träd. Är stabil över tid och används för:

  • Semantisk entydighet
  • Standarder
  • Långsiktig interoperabilitet

OID svarar på frågan om vad något är:

”Exakt vilket begrepp pratar vi om, oavsett kontext?”

HTTP-URI

En HTTP-URI är en kontextuell identifierare som används inom en specifik modell, profil eller implementation för att referera till ett objekt som definieras av en OID.

En HTTP-URI:

  • KAN vara en sträng, URI, kortkod eller annan lokal identifierare.
  • SKA entydigt mappa till exakt en OID inom den kontext där den används.
  • FÅR INTE användas för att referera till olika OID:er inom samma kontext.
  • KAN ändras över tid utan att objektets semantik förändras, förutsatt att mappningen till OID kvarstår.

En HTTP-URI är inte i sig en global semantisk identifierare.

En HTTP-URI förvaltas inom ramen för en specifik specifikation, federation eller implementation.

HTTP-URI svarar på frågan om hur begreppet fungerar här och nu:

”Hur refererar vi till det här begreppet i just den här modellen eller profilen?”

Relationen mellan OID och HTTP-URI

Följande princip gäller: En HTTP-URI refererar till ett objekt vars semantiska identitet definieras av en OID.

En HTTP-URI utgör en kontextuell identifierare som används inom en viss modell eller implementation. Den pekar på en OID, vilken utgör den globala och långsiktigt stabila identifieraren för objektet. OID:en är i sin tur knuten till den formella semantiska definition som entydigt beskriver objektets betydelse.

Relationen kan beskrivas som en semantisk identifieringskedja:

HTTP-URI → OID → Semantisk definition

Den semantiska definitionen är således knuten till OID, inte till HTTP-URI.

OID definierar objektets identitet.

HTTP-URI är ett kontextuellt alias.

Interoperabilitetsanalys

OID utgör den globala semantiska identifieraren, men saknar i sig den kontextuella precisering som krävs för interoperabilitet inom en federation.

Samma OID kan användas i flera federationer men ges olika kontextuell innebörd beroende på:

  • tillitsramverk
  • källa till uppgiften
  • identitetsprocess
  • ansvarig part

Ett exempel

OID 2.5.4.10 identifierar begreppet organizationName på en generell semantisk nivå.

Dock gäller:

  • I Sweden Connect den organisation som har anskaffat e-legitimationen för sin medarbetare (är kopplad till utgivningsprocessen).
  • I Sambi användarens hemorganisation utifrån kataloguppgifter om medarbetarens tjänstgöring (är kopplad till anställning eller uppdrag).
  • I Skolfederation eller SWAMID kan motsvarande attribut ha annan källa och annan tillitsgrund.

Det är således inte OID:en i sig som definierar attributets interoperabla betydelse inom federationen, utan den federationsspecifika HTTP-URI och dess profildefinition.

OID säger:

Detta är attributtypen enligt ett generellt schema.

HTTP-URI i federationen säger:

Detta attribut har denna specifika semantik enligt federationens regelverk.

Attributkategorier

...

titleRegler och rekommendationer

Attribut BÖR typas enligt följande:

...

Identitetsattribut

...

Representation - lokal

...

Attribut som beskriver hur arbets- eller uppdragsgivare representerar individen.

Det rör sig om identifierande egenskaper som är kopplade till individen och genom vilka denne är känd, identifierbar eller tekniskt representerad inom den egna organisationen. Dessa attribut är organisatoriskt kontextbundna och kan förändras över tid, exempelvis vid byte av roll, system eller organisatorisk tillhörighet.

...

Representation - federativ

...

Hemorganisationens tekniska identifierare som används i federationen.

Dessa attribut är säkerhetskritiska och deras stabilitet regleras av federationen. De är inte personliga egenskaper utan tekniska identifieringsartefakter.

...

Relationsattribut

...

Attribut som beskriver strukturell koppling mellan individ och en organisation.

Detta är en relation – inte en egenskap hos personen.

...

Mandatattribut

...

Attribut som beskriver att individen representerar en organisation i en viss funktion eller ett uppdrag.

Dessa attribut kan vara tidsbegränsade, transaktionsbundna och representera en funktionell roll.

Mandat är inte samma sak som affiliation.

...

Rättighetsattribut

...

Kommunikationsattribut

...

Attribut som beskriver kanaler genom vilka individen kan kontaktas eller nås.

Rekommenderas inte att användas för beslut om åtkomst.

...

Transaktionella attribut

...

Attribut utanför subjektet som beskriver händelser om autentisering och/eller intygutgivning vid en specifik tidpunkt. 

Beskriver händelsen och är inte en egenskap hos individen, utan tillhör snarare ett intygs metadata.

...

  • en specifik situation

Ytterligare ett krav är att det i vissa situationer kan vara viktigt att kunna uttrycka från vilken källa ett attribut härrör sig. Till exempel vid utgivning av en mobil e-legitimation utifrån en legitimering med en fysisk e-legitimation kan det vara tvunget att säkerställa att identiteten härrör från den fysiska e-legitimationen och inte inte från en annan attributkällan.

Leverabler

Förvaltningsstruktur

För att säkerställa långsiktig hållbarhet, interoperabilitet och tydligt ansvar behöver attributsdefinitioner och attributlistor förvaltas i en definierad struktur med tydliga roller och mandat.

Info

Följande roller och ansvar BÖR etableras:

  1. Nationell koordinator (förslagsvis ledningsaktören för Samordnad identitet och behörighet, Digg)
    1. Äger och förvaltar den övergripande domänstrukturen och tillser att varje domän har en utsedd domänkoordinator.
    2. Tar in behov av nya och förtydligade attributsdefinitioner från domänkoordinatorer
    3. Förvaltar en nationell katalog för attributsdefinitioner
    4. Förvaltar domänoberoende attribut i den nationella katalogen med attributsdefinitioner
    5. Förvaltar ramverk för kvalificering, kvalitetsgranskning och publicering av attributsdefinitioner.

  2. Domänkoordinator (exempelvis sektorsmyndigheter)
    1. Tar in behov av nya och förtydligade attributsdefinitioner från aktörer inom en sektor
    2. Förvaltar domänspecifika attribut i den nationella katalogen med attributsdefinitioner
    3. Lyfter behov gällande gemensamma attribut till nationell koordinator

Notera att vissa attribut alltid föds från en nationellt gemensam källa (tex Skatteverkets Navet, Socialstyrelsens HOSP-register). Attributdefinitionerna för dessa attribut hanteras också via en domänkoordinator, även om parten ansvarig för källan har mycket att säga till om.

Exempel på domäner

DomänDomänkoordinator
Hälso- och sjukvård (Health)E-hälsomyndigheten
Skola och utbildning (edu)SIS
Forskning och högre utbildningarSUNET
TransportTransportstyrelsen


Expand
titleYtterligare underlag ...

Exempel på förvaltningsstruktur - Transportsektorn

  1. Ledningsaktören för Samordnad identitet och behörighet är Digg.
    1. Digg utser Transportstyrelsen till domänkoordinator för Transport-domänen.
  2. Transportstyrelsen är således domänkoordinator
    1. Transportstyrelsen ansvarar även för attributkällor för vissa domänunika attribut - tex fordonsägare i Fordionsregistret.
    2. Trafikverket ansvarar för andra centrala attributkällor inom Transport-domänen och koordinerar tillhörande attributsdefinitioner med Transportstyrelsen - tex registreringsinformation om enskild väg.


Attributlistor och hur de kan användas

Inom ett verksamhetsområde så behöver parterna komma överens om vilka behörighetsattribut som som ska användas för att tjänsteproducenter att utvärdera anropande parts juridiska behörighet att utföra förfaranden inom tjänsten. Olika domäner styrs ofta av delvis olika lagstiftning och kan därför kräva domänspecifika behörighetsattribut för att kunna genomföra behörighetskontroller. 

Här ger vi vägledning kring hur attributlistor bör livscykelhanteras för bibehållen interoperabilitet.

Info
titleRegler och rekommendationer

För att stödja livscykelhantering av attributlistor utan att störa verksamheters behov av robust digital samverkan, bör man tillämpa följande rekommendationer:

  1. Det BÖR för varje domän tas fram attributlistor både för SAML och OIDC.
  2. Revideringar BÖR göras med bakåtkompabilitet, dvs man bör i stort sett aldrig ersätta attribut eller genomföra andra icke bakåtkompatibla förändringar.
  3. Kompabilitetsbrytande revideringar BÖR genomföras genom en övergångsperiod av bakåtkompatibla förändringar och parallellt stöd för äldre och nyare behörighetsattribut i tjänsteproducenters behörighetskontroll.

Notera att det för specifika situationer där förutsättningar finns för att driva igenom brytande revideringar utan negativ verksamhetspåverkan för samverkande parter, kan det vara att föredra.

Val av attribut

När man har behov av ett attribut som man vill inkludera i en attributlista bör man på ett strukturerat sätt söka om det finns ett redan definierat attribut som fyller behovet innan man definierar ett nytt attribut.

draw.io Diagram
borderfalse
diagramNameNamnlöst diagram-1776959132577
simpleViewerfalse
width
linksauto
tbstyleinline
lboxtrue
diagramWidth1071
height331
revision3

Hur används attributlistor

När man slutit en överenskommelse kring en attributlista som ska användas behöver samverkande parter implementera stöd för den. Legitimeringstjänster behöver kunna informationsförsörja attribut i attributlistan och e-tjänster behöver implementera dem för att styra behörigheter i e-tjänsten. Man kan utöver en överenskommelse om vilka attribut som ska användas också definiera scopes för attributbeställningar för att underlätta beställning. E-tjänster kan beställa behörighetsattribut explicit via claims eller i bulk via scope.

Exempel: En E-tjänst begär legitimering av en användare och instruerar legitimeringstjänsten om vilka scopes och claims som krävs eller önskas.

Code Block
languagetext
GET https://op.example.se/authorize?
  response_type=code
  &client_id=rp-client-123
  &redirect_uri=https%3A%2F%2Frp.example.se%2Fcallback
  &scope=openid%20profile%20email
  &state=af0ifjsldkj
  &nonce=n-0S6_WzA2Mj
  &claims=%7B
    %22id_token%22%3A%7B
      %22acr%22%3A%7B%22essential%22%3Atrue%7D
    %7D%2C
    %22userinfo%22%3A%7B
      %22given_name%22%3A%7B%22essential%22%3Atrue%7D%2C
      %22family_name%22%3A%7B%22essential%22%3Atrue%7D%2C
      %22birthdate%22%3A%7B%22essential%22%3Afalse%7D
    %7D
  %7D

I exemplet begärs scopen openid, profile och email. Utöver dessa grupperingar begär man explicit attributen id_token och given_name, family_name och birthdate från userinfo. Betydelsen av essential-märkningen för respektive attributbegäran är om det attributet är obligatoriskt ("essential": true) eller valfritt att bifoga ("essential": false).

Legitimeringstjänsten (även 'OP' i OIDC, eller 'IdP' i SAML) tillför behörighetsattributen, med värden inhämtade från e-legitimationen eller attributkällor av olika slag.

Info
titleSynonymer

Legitimeringstjänster BÖR hantera synonymer enligt attributdefinitioner, dvs att om en förlitande part begär ett attribut med någon av dess synonyma identifierare bör detta kunna hanteras utan att generera fel.

Det är hjälpsamt för att kunna hantera livscykelhantering av behörighetsattribut.

Info
titleOrganisatorisk dimension

Ett viktigt attribut som kan hänföra sig till den organisatoriska dimensionen är orgAffiliation och andra uppdragsrelaterade behörighetsattribut. 

  1. När det finns flera möjliga uppdrag BÖR man låta användaren välja utifrån vilken roll eller uppdrag åtkomst begärs.
  2. Man KAN även överföra information om alla uppdrag till en e-tjänst och låta användaren välja, och växla mellan, uppdrag där. 

Notera att man som princip ska minimera information som man delger om en användare, så alternativ 2 bör användas sparsamt.

Hur nya behörighetsattribut definieras

Ett behörighetsattribut inom Samordnad identitet och behörighet definieras behöver i sin definition inkludera följande metainformation:

  1. Identifierare: en eller flera attributidentifierare enligt #3.1 nedan.
  2. Kategori: en attributkategori enligt #3.2 nedan.
  3. Betydelse: betydelse / tolkning av det värde som ges i detta attribut?
  4. Status: En indikering om attributet är aktivt, under utfasning, eller utfasat.
  5. Synonymer: en eller flera attributidentifierare som kan användas synonymt med detta attribut

Identifierare (attributnamn)

Som identifierare av attribut eller andra semantiska objekt i en interoperabel infrastruktur används i regel formaten Object Identifier (OID), HTTP-URI, eller ett textuellt namn utan format.

Info
titleRegler och rekommendationer
  1. Attribut BÖR primärt identifieras med HTTP-URI
  2. Attribut BÖR INTE primärt identifieras med oformaterat textuellt namn eller OID i federativ kommunikation
  3. Attribut KAN identifieras med oformaterat textuellt namn eller OID
  4. Om man i en och samma behörighetskontroll behöver särskilja mellan instanser av "samma" behörighetsattribut, informationsförsörjda från olika attributkällor, REKOMMENDERAS att man skapar olika behörighetsattribut, med olika identifierare.
  5. Attribut BÖR exponeras och refereras med den identifierare som definieras i en attributprofil som erkänns av federationens medlemmar.

Om man använder textuella namn eller URI:er brukar identifieraren även benämnas "attributnamn". 

Expand
titleUnderlag ...

Object Identifier (OID)

En OID som URN (t ex urn:oid:2.5.4.42) är en globalt unik och hierarkiskt strukturerad identifierare bestående av en numerisk sträng enligt ITU-T X.660 / ISO/IEC 9834.

En OID:

  • SKA vara globalt unik.
  • SKA entydigt identifiera ett och samma semantiska objekt.
  • FÅR INTE återanvändas för att identifiera ett annat semantiskt objekt.
  • BÖR betraktas som den normativa och långsiktigt stabila identifieraren.

OID definierar den semantiska identiteten oberoende av teknisk representation eller kontext.

OID ägs och förvaltas i ett OID-träd. Är stabil över tid och används för:

  • Semantisk entydighet
  • Standarder
  • Långsiktig interoperabilitet

OID svarar på frågan om vad något är:

”Exakt vilket begrepp pratar vi om, oavsett kontext?”

HTTP-URI

En HTTP-URI är en kontextuell identifierare som används inom en specifik modell, profil eller implementation för att referera till ett objekt som definieras av en OID.

En HTTP-URI:

  • KAN vara en sträng, URI, kortkod eller annan lokal identifierare.
  • SKA entydigt mappa till exakt en OID inom den kontext där den används.
  • FÅR INTE användas för att referera till olika OID:er inom samma kontext.
  • KAN ändras över tid utan att objektets semantik förändras, förutsatt att mappningen till OID kvarstår.

En HTTP-URI är inte i sig en global semantisk identifierare.

En HTTP-URI förvaltas inom ramen för en specifik specifikation, federation eller implementation.

HTTP-URI svarar på frågan om hur begreppet fungerar här och nu:

”Hur refererar vi till det här begreppet i just den här modellen eller profilen?”

Relationen mellan OID och HTTP-URI

Följande princip gäller: En HTTP-URI refererar till ett objekt vars semantiska identitet definieras av en OID.

En HTTP-URI utgör en kontextuell identifierare som används inom en viss modell eller implementation. Den pekar på en OID, vilken utgör den globala och långsiktigt stabila identifieraren för objektet. OID:en är i sin tur knuten till den formella semantiska definition som entydigt beskriver objektets betydelse.

Relationen kan beskrivas som en semantisk identifieringskedja:

HTTP-URI → OID → Semantisk definition

Den semantiska definitionen är således knuten till OID, inte till HTTP-URI.

OID definierar objektets identitet.

HTTP-URI är ett kontextuellt alias.

Interoperabilitetsanalys

OID utgör den globala semantiska identifieraren, men saknar i sig den kontextuella precisering som krävs för interoperabilitet inom en federation.

Samma OID kan användas i flera federationer men ges olika kontextuell innebörd beroende på:

  • tillitsramverk
  • källa till uppgiften
  • identitetsprocess
  • ansvarig part

Ett exempel

OID 2.5.4.10 identifierar begreppet organizationName på en generell semantisk nivå.

Dock gäller:

  • I Sweden Connect den organisation som har anskaffat e-legitimationen för sin medarbetare (är kopplad till utgivningsprocessen).
  • I Sambi användarens hemorganisation utifrån kataloguppgifter om medarbetarens tjänstgöring (är kopplad till anställning eller uppdrag).
  • I Skolfederation eller SWAMID kan motsvarande attribut ha annan källa och annan tillitsgrund.

Det är således inte OID:en i sig som definierar attributets interoperabla betydelse inom federationen, utan den federationsspecifika HTTP-URI och dess profildefinition.

OID säger:

Detta är attributtypen enligt ett generellt schema.

HTTP-URI i federationen säger:

Detta attribut har denna specifika semantik enligt federationens regelverk.


Attributkategorier

För att möjliggöra interoperabilitet och tillförlitliga åtkomstbeslut i federativa infrastrukturer behöver attribut klassificeras. Klassificeringen tydliggör vad ett attribut representerar, i vilken kontext det är giltigt samt hur det bör tolkas och användas. Detta minskar risken för feltolkningar, särskilt vid informationsutbyte mellan organisationer eller över landsgränser, och skapar en stabil grund för både tekniska implementationer och policybeslut.

Som grund för klassificeringen görs en åtskillnad mellan attribut som beskriver subjektets identitet, hur det representeras tekniskt och organisatoriskt, samt vilka relationer, mandat och rättigheter som gäller i en viss kontext. Vidare särskiljs attribut som möjliggör kommunikation med individer från sådana som beskriver själva transaktionen, exempelvis uppgifter om autentisering eller intygsutgivning. Ur ett IAM-perspektiv är denna uppdelning central, då olika attributkategorier har skilda egenskaper avseende stabilitet, tillitsnivå och förekomst av ansvarig utfärdare, vilket i sin tur påverkar hur de bör användas som underlag för åtkomstbeslut.

Info
titleRegler och rekommendationer

Attribut BÖR typas enligt följande:

KategoriBeskrivningTypisk källaExempel på attribut

Identitetsattribut

Attribut som beskriver individens juridiska eller officiella identitet. Det rör sig om egenskaper som tillhör individen oberoende av organisationstillhörighet, roll eller uppdrag. Dessa uppgifter har typiskt sin grund i officiella register och är, relativt sett, långlivade och stabila över tid.E-legitimationpersonnummer, officiellt namn, födelsedatum.

Representation - lokal

Attribut som beskriver hur arbets- eller uppdragsgivare representerar individen.

Det rör sig om identifierande egenskaper som är kopplade till individen och genom vilka denne är känd, identifierbar eller tekniskt representerad inom den egna organisationen. Dessa attribut är organisatoriskt kontextbundna och kan förändras över tid, exempelvis vid byte av roll, system eller organisatorisk tillhörighet.

Kataloguuid, användarnamn, tjänstebeteckning

Representation - federativ

Hemorganisationens tekniska identifierare som används i federationen.

Dessa attribut är säkerhetskritiska och deras stabilitet regleras av federationen. De är inte personliga egenskaper utan tekniska identifieringsartefakter.

Katalogsubject-id, orgAffiliation, pairwise-id, eduPersonPrincipalName, healthCareProviderHsaId.

Relationsattribut

Attribut som beskriver strukturell koppling mellan individ och en organisation.

Detta är en relation – inte en egenskap hos personen.

Katalogorganisationsnamn, organisatorisk enhet/avdelning, skolenhetskod, affiliation (t ex personal, elev)

Mandatattribut

Attribut som beskriver att individen representerar en organisation i en viss funktion eller ett uppdrag.

Dessa attribut kan vara tidsbegränsade, transaktionsbundna och representera en funktionell roll.

Mandat är inte samma sak som affiliation.

KatalogallCommissionOrgAffiliations, sisSchoolCourseTeacher

Rättighetsattribut

Policybärande attribut som anger vad individen får göra – rätt att använda en resurs eller utföra en handling.KatalogeduPersonEntitlement

Kommunikationsattribut

Attribut som beskriver kanaler genom vilka individen kan kontaktas eller nås.

Rekommenderas inte att användas för beslut om åtkomst.

Kataloge-postadress, telefonnummer, mobilnummer

Transaktionella attribut

Attribut utanför subjektet som beskriver händelser om autentisering och/eller intygutgivning vid en specifik tidpunkt. 

Beskriver händelsen och är inte en egenskap hos individen, utan tillhör snarare ett intygs metadata.

Intygsutfärdareidentifieringens tillitsnivå, transaktionsid, delegeringskedja

Informationsattribut

Attribut som kan användas för att informera och visa vad saker och ting heter.

KatalogNamn på organisation och personer


Expand
titleYtterligare underlag ...

Hypotes

Alla attribut är inte av samma slag. Attribut kan exempelvis:

  • Avse individen som sådan,
  • Uttrycka en teknisk representation av individen,
  • Definiera en relation kopplad till individen
  • Ange ett mandat som individen har tilldeltas
  • Definiera en rättighet inom vilken individen får agera, eller
  • Beskriva en händelse om autentisering och intygsutgvining.

Dessa är ontologiskt olika. Attribut ska därför kategoriseras efter vad de representerar och efter deras semantiska natur.

Attribut som påverkar åtkomstbeslut får inte blandas med beskrivande eller "dekorativa" attribut.

Attributmodell

I federativa miljöer används attribut för att:

  1. identifiera och tekniskt representera individer och systemaktörer,
  2. beskriva organisatorisk tillhörighet,
  3. förmedla mandat och rättigheter, samt
  4. dokumentera förutsättningarna för autentisering och intygsutgivning.

Trots detta behandlas attribut ofta som en enhetlig mängd egenskaper. I praktiken representerar de dock fundamentalt skilda semantiska kategorier. När dessa kategorier inte hålls isär uppstår otydliga behörighetsbeslut, bristande tillitsbedömningar, juridisk osäkerhet och försämrad interoperabilitet, vilket i sin tur försvårar standardisering.

Begreppet organisation är ett tydligt exempel på denna problematik. Det används i flera olika betydelser, exempelvis som:

  1. utfärdare av identitetsintyg vid e-legitimering,
  2. individens organisatoriska hemvist, eller
  3. uppdragsgivare i en specifik handling/situation.

När dessa betydelser sammanblandas uppstår otydlighet i ansvar, mandat och tillit, vilket leder till felaktiga behörighetsbeslut, oklara rättsliga relationer och interoperabilitetsproblem.

Teknisk aktör

Placeholder för subject som kan vara api, api-klienter, etc.


Exemplifiering och validering


  1. Modellera för hur en attributprofil kan ha multipla attributinstanser, tex beroende på källa (attribut på e-leg, från en katalog), relaterad till ett eller flera uppdrag.
  2. Beskriv en modell för attributprofiler med personrelaterade attribut, e-leg-relaterade attribut, N x anställningsrelaterade attribut, M x uppdragsrelaterade uppdrag 
  3. Beskriv skillnaden mellan en IdP per organisation och en Idp som representerar flera organisationer


Frågor

  1. Personalidentity - både pnr och snr eller separata attribut?
  2. Ska vi lägga in synonymer från andra federationer, t ex Sambi? JA, se lista
  3. Kan vi lösa de olika synsätten på att peka ut e-legitimationen som källa i namnet genom att göra denna typ av attribut domänspecifika? (https://id.ena-infrastructure.se/attributes/surName jfr med https://id.ena-infrastructure.se/attributes/eid/health/surName). Ska källan i det första fallet vara okänd? Beroende på vilken IdP man använder?
  4. Attribut som saknas i nuvarande Sambi, t ex Middlename, vad gör vi med dom?
  5. Enhet som generellt attribut, andra är domänspecifika t ex vårdenhet, skolenhet?


Val av attribut

Namnen är hämtade från OIDC Core, OIDC Sweden och inspirerade av Sambis attributprofil. Domänen health kommer mycket från Ineras IdP då de också är överenskomna med Ehälsomyndigheten. Sweden Connect har gett eIDAS-namnen. Se referenser.

För att avgöra vad ett attribut eller claim ska heta och vilket scope ett claim eventuellt ska tillhöra, behövs en beslutsordning med hänvisning till befintliga standarder. Här har vi valt att illustrera denna beslutsordning i form av beslutsträd.


  •  Att göra: beslutsträd för SAML-namn


För att bestämma vilket namn ett claim ska ha, se nedan för beslutsträd.



draw.io Board Diagram
borderfalse
diagramNameEna claims std
simpleViewerfalse
width
linksauto
tbstyleinline
lboxtrue
diagramWidth1073
height1331
revision5

För att bestämma vilket scope ett claim eventuellt ska tillhöra, se beslutsträd nedan. Observera att domänansvarig kan bestämma en ökad granularitet, se attributlistan för exempel. Det kan också vara så att ett claim kan sakna scope.


draw.io Board Diagram
borderfalse
diagramNameBestämm Scopenamn Drawio
simpleViewerfalse
width
linksauto
tbstyleinline
lboxtrue
diagramWidth989
height1225
revision7


Attribut / attributlista


Info

Nedan första utkastet på attributlistan, den ska i detta läge ses främst som ett försök till att bestämma formatet då det är önskvärt att hålla ihop beskrivningen men ändå kunna filtrera på olika sätt.


Table Filter
fixedCols
totalrow,,,,,,,,,,,,,,,
hidelabelsfalse
ddSeparator‚‚‚‚‚‚
sparkNameSparkline
hidePaneFiltration panel
customNoTableMsgText
limitHeight
sparklinefalse
default,,,,,,
isFirstTimeEntertrue
cell-width250,250,250,250,250,250,250
hideColumnsfalse
totalRowName
totalColName
customNoTableMsgfalse
disabledfalse
enabledInEditorfalse
globalFilterfalse
id1776699475527_-1836505391
iconfilter
order0,1,2,3,4,5,6
hideControlsfalse
inversefalse,false,false,false,false,false,false
numbering
datefilter
columnDomän,Kategori,Källa,Sambi synonym,Sweden Connect synonym,Standard,OIDC scope
sort
totalcol
disableSavefalse
rowsPerPage
separatorPoint (.)
labelsDomän‚Kategori‚Källa‚Sambi synonym‚Sweden Connect synonym‚Standard‚OIDC scope
thousandSeparator
ignoreFirstNrows
ddOperatorOR,OR,OR,OR,OR,OR,OR
userfilter
datepatterndd M yy
numberfilter
heightValue
hideFilters
updateSelectOptionsfalse
worklog365|5|8|y w d h m|y w d h m
isORAND
showNRowsifNotFiltered
BeskrivningNamn (SAML)Namn (OIDC claim)OIDC scopeReferens (format)FriendlyNameSambi synonymSweden Connect synonymExempelvärdenStandardKällaKategoriDomän

Multivärde J/N

Scoped J/N

Kommentar
Vald IdPhttps://id.ena-infrastructure.se/attributes/identityProviderhttps://id.oidc.se/claim/authnProvider  urn:oid:1.2.752.201.3.15 identityProvider  
OIDC SverigeIntygsutfärdareTransaktionella attributgeneralN

Autentiseringsmetodsidhttps://id.ena-infrastructure.se/attributes/authenticationMethodhttps://id.ena-infrastructure.se/attributes/authenticationMethod
 authenticationMethod  

IntygsutfärdareTransaktionella attributgeneralN

Autentiseringsmetodhttps://id.ena-infrastructure.se/attributes/authnMethodamropenid authnMethod urn:sambi:names:attribute:authnMethod 
OIDC CoreIntygsutfärdareTransaktionella attributgeneralN

Transaktionsidhttps://id.ena-infrastructure.se/attributes/transactionIdentifierhttps://id.ena-infrastructure.se/attributes/transactionIdentifier urn:oid:1.2.752.201.3.2 transactionIdentifier  urn:oid:1.2.752.201.3.2

IntygsutfärdareTransaktionella attributgeneralN

Certifikathttps://id.ena-infrastructure.se/attributes/eid/certificatehttps://id.oidc.se/claim/userCertificate urn:oid:1.2.752.201.3.10 certificate  urn:oid:1.2.752.201.3.10
OIDC SverigeElegitimationIdentitetsattributgeneralN

Certifikatpolicieshttps://id.ena-infrastructure.se/attributes/eid/certificatePolicieshttps://id.ena-infrastructure.se/attributes/eid/certificatePolicies urn:oid:1.2.752.29.4.xxx certificatePolicies  

ElegitimationIdentitetsattributgeneralN

Tillitsnivåsaml2:AuthnContextClassRefacr openidurn:oid:1.2.752.201.3.3 AuthnContextClassRef urn:sambi:names:attribute:levelOfAssurance urn:oid:1.2.752.201.3.3
OIDC CoreIntygsutfärdareMandatattributgeneralN

Visningsnamnhttps://id.ena-infrastructure.se/attributes/displayNamename  https://id.oidc.se/scope/naturalPersonInfo
https://id.oidc.se/scope/naturalPersonOrgId
urn:oid:2.16.840.1.113730.3.1.241 displayName  urn:oid:2.16.840.1.
113730.3.1.241

OIDC CoreElegitimationInformationsattributgeneralN

Förnamnhttps://id.ena-infrastructure.se/attributes/givenNamegiven_name https://id.oidc.se/scope/naturalPersonInfourn:oid:2.5.4.42 givenName http://sambi.se/attributes/1/givenName urn:oid:2.5.4.42
OIDC CoreKatalogInformationsattributgeneralN

Förnamnhttps://id.ena-infrastructure.se/attributes/eid/health/givenNamehttps://id.ena-infrastructure.se/attributes/eid/health/givenName https://id.ena.se/scopes/health/eidurn:oid:2.5.4.42 givenName  

ElegitimationInformationsattributhealthN

Efternamnhttps://id.ena-infrastructure.se/attributes/surNamefamily_name https://id.oidc.se/scope/naturalPersonInfourn:oid:2.5.4.4 surName http://sambi.se/attributes/1/surname urn:oid:2.5.4.4
OIDC CoreKatalogInformationsattributgeneralN

Efternamnhttps://id.ena-infrastructure.se/attributes/eid/health/surNamehttps://id.ena-infrastructure.se/attributes/eid/health/surName https://id.ena.se/scopes/health/eidurn:oid:2.5.4.4 surName  
OIDC SverigeElegitimationInformationsattributhealthN

Personnummerhttps://id.ena-infrastructure.se/attributes/personalIdentityNumberhttps://id.oidc.se/claim/
personalIdentityNumber
 https://id.oidc.se/scope/naturalPersonNumberurn:oid:1.2.752.29.4.13personalIdentityNumber http://sambi.se/attributes/1/personalIdentityNumber urn:oid:1.2.752.29.4.13
OIDC SverigeKatalogIdentitetsattributgeneralN

Personnummerhttps://id.ena-infrastructure.se/attributes/eid/health/personalIdentityNumberhttps://id.ena-infrastructure.se/attributes/eid/health/personalIdentityNumber https://id.ena.se/scopes/health/eidurn:oid:1.2.752.29.4.13personalIdentityNumber  

ElegitimationIdentitetsattributhealthN
I många implementationer innehåller detta attribut även samordningsnummer
Samordningsnummerhttps://id.ena-infrastructure.se/attributes/coordinationNumberhttps://id.oidc.se/claim/
coordinationNumber
 https://id.oidc.se/scope/naturalPersonNumberurn:oid:1.2.752.29.4.13coordinationNumber  
OIDC SverigeKatalogIdentitetsattributgeneralN
Återfinns ofta i personaldentityNumber
Samordningsnummerhttps://id.ena-infrastructure.se/attributes/eid/health/coordinationNumber
Expand
titleYtterligare underlag ...

Hypotes

Alla attribut är inte av samma slag. Attribut kan exempelvis:

  • Avse individen som sådan,
  • Uttrycka en teknisk representation av individen,
  • Definiera en relation kopplad till individen
  • Ange ett mandat som individen har tilldeltas
  • Definiera en rättighet inom vilken individen får agera, eller
  • Beskriva en händelse om autentisering och intygsutgvining.

Dessa är ontologiskt olika. Attribut ska därför kategoriseras efter vad de representerar och efter deras semantiska natur.

Attribut som påverkar åtkomstbeslut får inte blandas med beskrivande eller "dekorativa" attribut.

Attributmodell

I federativa miljöer används attribut för att:

  1. identifiera och tekniskt representera individer och systemaktörer,
  2. beskriva organisatorisk tillhörighet,
  3. förmedla mandat och rättigheter, samt
  4. dokumentera förutsättningarna för autentisering och intygsutgivning.

Trots detta behandlas attribut ofta som en enhetlig mängd egenskaper. I praktiken representerar de dock fundamentalt skilda semantiska kategorier. När dessa kategorier inte hålls isär uppstår otydliga behörighetsbeslut, bristande tillitsbedömningar, juridisk osäkerhet och försämrad interoperabilitet, vilket i sin tur försvårar standardisering.

Begreppet organisation är ett tydligt exempel på denna problematik. Det används i flera olika betydelser, exempelvis som:

  1. utfärdare av identitetsintyg vid e-legitimering,
  2. individens organisatoriska hemvist, eller
  3. uppdragsgivare i en specifik handling/situation.

När dessa betydelser sammanblandas uppstår otydlighet i ansvar, mandat och tillit, vilket leder till felaktiga behörighetsbeslut, oklara rättsliga relationer och interoperabilitetsproblem.

Teknisk aktör

Placeholder för subject som kan vara api, api-klienter, etc.

Attributprofiler

En attributprofil är uppsättning behörighetsattribut som som möjliggör för tjänsteproducenter att utvärdera anropande parts juridiska behörighet att utföra förfaranden inom tjänsten. Olika domäner styrs ofta av delvis olika lagstiftning och kan därför kräva domänspecifika behörighetsattribut för att kunna genomföra behörighetskontroller. 

Info
titleRegler och rekommendationer

För att stödja livscykelhantering av attributprofiler utan att störa verksamheters behov av robust digital samverkan, bör man tillämpa följande rekommendationer:

  1. Det SKA för varje domän etableras minst en attributprofil för SAML och en attributprofil för OIDC.
  2. Attributprofiler BÖR revideras med bakåtkompabilitet, dvs man bör i stort sett aldrig ersätta attribut eller genomföra andra icke bakåtkompatibla förändringar.
  3. Kompabilitetsbrytande revideringar av attributprofiler BÖR genomföras genom en övergångsperiod av bakåtkompatibla förändringar och parallellt stöd för äldre och nyare behörighetsattribut i tjänsteproducenters behörighetskontroll.

Notera att det för specifika situationer där förutsättningar finns för att driva igenom brytande revideringar av attributprofiler utan negativ verksamhetspåverkan för samverkande parter, kan det vara att föredra.

Exemplifiering för hälsosektorn

Inom hälsosektorn används en attributprofil, i vilken man kan uttrycka att en användare kan ha ett antal olika systemspecifika rolltilldelningar (SystemRole), vårdspecifika uppdrag (Commission), samt så kallade administrativa uppdrag (AdminCommission) inom ett visst organisatoriskt omfång (AuthorizationScope).

Notera att Ineras IdP låter användaren välja vilken av uppdragen som ska representeras som "aktivt" och då få sina claims kopierade till rotnivån i intyget. Alla uppdrag kan även bifogas (allCommissions) och då kan eTjänsten låta användaren välja vilket uppdrag som ska användas för åtkomstbeslut, loggning, m.m. i e-tjänsten.

Attributprofil skapad utifrån exempel från Inera Idp (inklippt nedan). Bilden länkar till en online-editor Image Removed

Expand
titleExempelintyg

{
    "commissionPurpose": "Administration",
    "at_hash": "qEj37dgo2bQEyePuzqDyNQ",
    "pharmacyIdentifier": "731.1337.1337:Apotek",
    "sub": "1a400571-a2d0-4b28-b9da-11400ba496e1",
    "healthCareUnitName": "Admin",
    "credentialCertificatePolicies": [
        "2.23.140.1.2.3",
        "1.2.752.74.8.506"
    ],
    "amr": [
        "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient"
    ],
    "iss": "https://idp.dev.inera.test:8443/oidc",
    "credentialGivenName": "Olof",
    "healthcareProviderId": "2321000214",
    "commissionHsaId": "SE111-UPPDRAG-JLL-TEKSYSADMIN",
    "acr": "http://id.sambi.se/loa/loa3",
    "systemRole": [
        {
            "systemId": "BIF",
            "role": "Loggadministratör"
        },
        {
            "systemId": "BIF",
            "role": "Administrator"
        },
        {
            "systemId": "PU",
            "role": "Administratör"
        }
    ],
    "organizationIdentifier": "2321000214",
    "credentialSurname": "Olsson",
    "auth_time": 1610616929,
    "healthCareProviderName": "SE111-JLL",
    "exp": 1610618196,
    "healthCareProviderHsaId": "SE111-JLL",
    "iat": 1610617896,
    "commissionRight": [
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "dia"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "fun"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "lkf"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "lkm"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "lko"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "pad"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "pat"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "und"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "upp"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "vbe"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "vko"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "voo"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "vot"
        },
        {
            "activity": "Läsa",
            "scope": "VG",
            "informationClass": "vpo"
        }
    ],
    "organizationName": "SE111-JLL",
    "healthCareUnitHsaId": "SE111-ADMIN",
     "authorizationScope": [
        {
            "authorizationScopePropertyName": "Tjänstesupport",
            "authorizationScopeName": "Hitta och jämför vård",
            "authorizationScopeCode": "HJV",
            "authorizationScopePropertyCode": "HJV;003",
            "authorizationScopeDescription": "Hitta och jämför vård är den del på 1177.se som presenterar kontaktinformation till landets     vårdmottagningar, deras vårdutbud och vårdkvalitet.Varje enskild mottagning har ett eget ”kontaktkort” där kontaktuppgifter, e-tjänster och övrigt utbud presenteras.",
            "authorizationScopePropertyDescription": "Tjänstesupport Beskrivning",
            "adminCommissions": [
                {
                    "adminCommissionHsaId": "TNT4477663322-1021",
                    "sector": [
                        {
                            "sectorFlag": true,
                            "feignedUnit": null,
                            "name": "CGI Östersund",
                            "unitHsaId": "TNT4477663322-101Q"
                        }
                    ],
                    "adminCommissionResponsibleOrganisation": "447766-3323",
                    "feignedAdminCommission": null
                }
            ]
        },
        {
            "authorizationScopePropertyName": "Redaktör kontaktkort",
            "authorizationScopeName": "Hitta och jämför vård",
            "authorizationScopeCode": "HJV",
            "authorizationScopePropertyCode": "HJV;001",
            "authorizationScopeDescription": "Hitta och jämför vård är den del på 1177.se som presenterar kontaktinformation till landets vårdmottagningar, deras vårdutbud och vårdkvalitet.Varje enskild mottagning har ett eget ”kontaktkort” där kontaktuppgifter, e-tjänster och övrigt utbud presenteras.",
            "authorizationScopePropertyDescription": "Redaktör kontaktkort får administrera information på kontaktkorten förutom kontaktkorten.",
            "adminCommissions": [
                {
                    "adminCommissionHsaId": "TNT4477663322-1021",
                    "sector": [
                        {
                            "sectorFlag": true,
                            "feignedUnit": null,
                            "name": "CGI Östersund",
                            "unitHsaId": "TNT4477663322-101Q"
                        }
                    ],
                    "adminCommissionResponsibleOrganisation": "447766-3323",
                    "feignedAdminCommission": null
                }
            ]
        }
    ],
    "x509SubjectName": "EMAILADDRESS=olof.olsson@inera.test, SERIALNUMBER=TNT4477663322-1046, GIVENNAME=Olof, SURNAME=Olsson, CN=Olof Olsson, O=Inera AB, L=SITHS, C=SE",
    "given_name": "Olof",
    "x509IssuerName": "CN=TEST SITHS e-id Person HSA-id 3 CA v1,O=Inera AB,C=SE",
    "aud": "https://sp.dev.inera.test:8881",
    "commissionName": "Teknisk Systemadministratör JLL",
    "credentialPersonalIdentityNumber": "TNT4477663322-1046",
    "credentialCertificate": "MIIGLDCCBBSgAwIBAgIPAXFdbr7VwpjRZAID8OW5MA0GCSqGSIb3DQEBCwUAMEwxCzAJBgNVBAYTAlNFMREwDwYDVQQKDAhJbmVyYSBBQjEqMCgGA1UEAwwhVEVTVCBTSVRIUyBlLWlkIFBlcnNvbiBJRCAzIENBIHYxMB4XDTIwMDQwOTA1MzQzMFoXDTI1MDMzMDIyNTk1OVowgYExCzAJBgNVBAYTAlNFMQ4wDAYDVQQHDAVTSVRIUzERMA8GA1UECgwISW5lcmEgQUIxFjAUBgNVBAMMDVN2ZW4gRXJpY3Nzb24xETAPBgNVBAQMCEVyaWNzc29uMQ0wCwYDVQQqDARTdmVuMRUwEwYDVQQFEwwxOTQyMTExOTY5NzkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDD74bO125QuwwNfYwFa+FphbBoyw3i1Rw7g6d/xCckEiuMBDVMlyit6y2AbU6NLPoB+RhZir4ZL2bTO+Hc06YXS/3ShQZ6gz4QkYpZLAEnvJSnKmXafJCU/UP2ELu64wpl+TBpzIwdEfvSYKVOoklwo4QMs/VxywMXb3tJUl0N6zqZ9IQid7s2SvNb66Z65KRCFlObqIoSPulds+oDxuCwrrJcd/QvKddrRXXvg1H4ZMTtssTGF58ACqO74qc2F5+MpmJ3unjnz6khaWBJj8rHZcdzWKpRe/iEUhSlMw/biW1uJWEWZP8YLxSn/bRLYmI4GQUDU/6+N+oPuoMeQ+3tAgMBAAGjggHTMIIBzzAfBgNVHSMEGDAWgBToKeVtVR3Xg9I2+z+WTQEBj4ec1DAdBgNVHQ4EFgQUN9CzE5NcPeOpM/7I1yGVfUIeaAowDgYDVR0PAQH/BAQDAgWgMIGJBgNVHSAEgYEwfzA9BgZngQwBAgMwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly93d3cuaW5lcmEuc2Uvc2l0aHMvcmVwb3NpdG9yeTA+BgcqhXBKCIN2MDMwMQYIKwYBBQUHAgEWJWh0dHBzOi8vd3d3LmluZXJhLnNlL3NpdGhzL3JlcG9zaXRvcnkwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL2NybDFwcC5zaXRocy5zZS90ZXN0c2l0aHNlaWRwZXJzb25pZDNjYXYxLmNybDATBgNVHSUEDDAKBggrBgEFBQcDAjB0BggrBgEFBQcBAQRoMGYwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwMXBwLnNpdGhzLnNlMD8GCCsGAQUFBzAChjNodHRwOi8vYWlhcHAuc2l0aHMuc2UvdGVzdHNpdGhzZWlkcGVyc29uaWQzY2F2MS5jZXIwHwYGKoVwIgIBBBUTEzk3NTIyNjk4NzU3MDAxMDExODkwDQYJKoZIhvcNAQELBQADggIBAG6X/KblSrVX+JLLcEu/667sVybfc78QbPeIPO9a2/kIh4ZMOBgo+ep9imXWwkkFiBDXE6fp2ZhM+wBm00WytyPHyVUJnCx1a1QCx6DinAWZZYU+b/XBjKSbJ95a6zPkZioexIy10kWiT7qeKQooWRkLpTv/AuJMTcTAOUT36NzobovBW0ccqvbjeMVB2kX+eh0ntOk8OGPxBVYeCfLkQrn9OENRXCxEGSdxtlU1jkZC+lmCP5CtslJnykFI97N804kL9gJmUwXZnYqi28YJoYdJu8LtyV5Rq1JoRrhuYMrXpgloXXilxD8ZhP+K0mciPhjnHrBbrgcsITfyc1Cm0wpGqnBQ17DEsQLjLWeLpc6JSzoKqxwYaLb9ALJK9yLWZh6YcmuXM6qhtJZ98IMa7PstPJaabG09do05VBzfHxbAGMPWqdTBfK0vEqZvGFJuZS0e+xk9SSrpK/hpTzucQS+tr8C5fcjmXJ6ubkG7SWg9lAIWACKiGDCUADILq+dp10xHQSqFsfLJpyOGHF4pwvGj7czEe1XJj/1cPONCpDlSQUiOc0naQjQhlkjDGeoGfwqT+0OCWugGcZLmGpRv8ltKV8UEieuy3eLEdwLnfZeY3Tvg5BDD4QRZMcnrMFEiJcxW1zeXHmBMgPpGdHJxWmPqOsUWVslVtEl3e2iF8YES",
    "employeeHsaId": "TNT4477663322-1046",
    "name": "Olof Olsson",
    "credentialDisplayName": "Olof Olsson",
    "credentialOrganizationName": "Inera AB",
    "family_name": "Olsson",
    "authenticationMethod": "SITHS_EID_SAME_DEVICE",
    "allEmployeeHsaIds": [
          "TSTNMT2321000156-10NG",
          "TSTNMT2321000156-10NX"
    ],  
    "allCommissions": "[{\"employeeHsaId\":\"TSTNMT2321000156-10NG\",\"commissionName\":\"Teknisk Systemadministratör JLL\",\"commissionHsaId\":\"SE111-UPPDRAG-JLL-TEKSYSADMIN\",\"commissionPurpose\":\"Administration\",\"healthCareUnitHsaId\":\"SE111-ADMIN\",\"healthCareUnitName\":\"Admin\",\"healthCareProviderHsaId\":\"SE111-JLL\",\"healthCareProviderName\":\"SE111-JLL\",\"healthCareProviderOrgNo\":\"2321000214\",\"commissionRights\":[{\"activity\":\"Läsa\",\"informationClass\":\"dia\",\"scope\":\"VG\"},{\"activity\":\"Läsa\",\"informationClass\":\"fun\",\"scope\":\"VG\"}]},{\"employeeHsaId\":\"TSTNMT2321000156-10NX\",\"commissionName\":\"Teknisk Systemadministratör SLL\",\"commissionHsaId\":\"SE222-UPPDRAG-SLL-TEKSYSADMIN\",\"commissionPurpose\":\"Administration\",\"healthCareUnitHsaId\":\"SE222-ADMIN\",\"healthCareUnitName\":\"Admin\",\"healthCareProviderHsaId\":\"SE222-SLL\",\"healthCareProviderName\":\"SE222-SLL\",\"healthCareProviderOrgNo\":\"2321000214\",\"commissionRights\":[{\"activity\":\"Läsa\",\"informationClass\":\"dia\",\"scope\":\"VG\"},{\"activity\":\"Läsa\",\"informationClass\":\"fun\",\"scope\":\"VG\"}]}]",
    "allCommissionOrgAffiliations": [
      "TSTNMT2321000156-10NG@123456-7890",
      "TSTNMT2321000156-10NX@654321-0987"
    ],
    "userOrganizationHsaId": "SE2321000156-0001",
    "sithsEidChallenge": "b90fc25314de41ffaf88c03677e2caac"
}

Förvaltningsstruktur

För att säkerställa långsiktig hållbarhet, interoperabilitet och tydligt ansvar behöver attributsdefinitioner och attributprofiler förvaltas i en definierad struktur med tydliga roller och mandat.

...

Följande roller och ansvar BÖR etableras:

...

  1. Tar in behov av nya och förtydligade attributsdefinitioner från aktörer inom en sektor
  2. Förvaltar domänspecifika attribut i den nationella katalogen med attributsdefinitioner
  3. Lyfter behov gällande gemensamma attribut till nationell koordinator

Notera att vissa attribut alltid föds från en nationellt gemensam källa (tex Skatteverkets Navet, Socialstyrelsens HOSP-register). Attributdefinitionerna för dessa attribut hanteras också via en domänkoordinator, även om parten ansvarig för källan har mycket att säga till om.

Exempel på domäner

DomänDomänkoordinator
HealthE-hälsomyndigheten
SkolaSIS
Forskning och högre utbildningarSUNET
TransportTransportstyrelsen
Expand
titleYtterligare underlag ...

Exempel på förvaltningsstruktur - Transportsektorn

  1. Ledningsaktören (Digg) utser Transportstyrelsen till domänkoordinator för Transport-domänen.
  2. Transportstyrelsen är domänkoordinator
    1. Transportstyrelsen ansvarar även för attributkällor för vissa domänunika attribut - tex fordonsägare i Fordionsregistret.
    2. Trafikverket ansvarar för andra centrala attributkällor inom Transport-domänen och koordinerar tillhörande attributsdefinitioner med Transportstyrelsen - tex registreringsinformation om enskild väg.

Exemplifierade domäner

Generiska attribut

Frågeställningar

Här finns ett antal frågor att besvara innan vi kan detaljera attributramverket.

  • Vem har givit ut e-legitimationen?
  • Vem är personens huvudsakliga arbetsgivare?
  • Vem är personens uppdragsgivare för den rolll personen agerar i just nu?

Ska namnet på attributet spegla källan, till exempel /eid för e-legitimation och /idp för IdP?

I den överenskommelse som finns mellan regionerna och E-hälsomyndigheten när det gäller den SAML-propageringslösning för åtkomst till NLL har man etablerat en namnstandard för attribut som härrör sig från IdP:n. Ett exempel på detta är https://idp.inera.se/attributes/identityProviderForSign Som man kan se så innehåller attributnamnet referens till en organisation. En mera neutral namngivning på detta attribut kunde vara https://federationer.se/attribute/idp/1.0/identityProviderForSign

I vissa användningsfall är det viktigt för e-tjänsten som begär attributen att skilja på om attributen kommer från själva e-legitimationen eller från attributkällan. För Ineras IdP så går det att peka ut certifikatets givenName med attributet urn:credential:givenName. Motsvarande attribut som hämtas från katalogen är http://sambi.se/attributes/1/givenName eller urn:oid:2.5.4.42 (enligt Sweden Connects namnsättning), beroende på vilken IdP man ansluter till.  I det senare fallet finns det ingen metod att peka ut attributet som är e-legitimationsspecifikt. 

Det spännande attributet orgAffiliation som heter urn:oid:1.2.752.201.3.1 enligt Sweden Connect och som i Ineras fall betyder att källan är katalogen, knutet till uppdraget, att jämföra med https://idp.inera.se/attributes/userOrgAffiliation som är knutet till en personpost i katalogen, oberoende av uppdrag men beroende på vilken organisation som användaren tillhör.

...

...

...

...

OID som attributnamn

Ska vi använda Sweden Connects namn på vissa av  attributen vilket i praktiken innebär OID:ar? Ska vi då förutsätta att attributen härrör från e-legitimationen? Det stämmer inte med nuvarande realiseringar som t ex Inera har.

...

...

urn:oid:1.2.

...

752.29.4.

...

Övrig semantik i attributnamnet

Vissa attribut kan relatera till en anställds organisationstillhörighet eller uppdrag/roll, hur ska e-tjänsten kunna skilja på detta? I Ineras fall när det gäller den anställdes HSAid beror det på vilka andra attribut som e-tjänsten begär. Observera skillnaden mellan ett HSAid som är knutet till e-legitimationen och HSA-id som finns i katalogen. I den senare kategorin finns ingen namnsättning som skiljer på organisationstillhörighet och uppdragssituation.

...

13coordinationNumber  

ElegitimationIdentitetsattributhealthN

HSA-id för anställdhttps://id.ena-infrastructure.se/attributes/health/employeeHsaId https://id.ena-infrastructure.se/attributes/health/

...

Versionshantering av attribut

Ska attributnamnen ha en namnstandard som medger versionshantering enligt mönster från Sambi?

...

employeeHsaId https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.29.6.2.1employeeHsaId 

...

...

employeeHsaIdurn:oid:1.2.752.29.6.2.1

KatalogIdentitetsattributhealthN

HSA-id för anställdhttps://id.ena-infrastructure.se/attributes/eid/health/employeeHsaId

...

...

...

health/employeeHsaId urn:oid:1.2.752.29.6.2.1employeeHsaId urn:oid:1.2.752.29.6.2.1

ElegitimationIdentitetsattributhealthN

Anställds organisationstillhörighet, idhttps://id.ena-infrastructure.se/attributes/organizationIdentifierhttps://id.oidc.se/claim/orgNumber  https://id.oidc.se/scope/naturalPersonOrgIdurn:oid:2.5.4.97orgNumberhttp://sambi.se/attributes/1/organizationIdentifierurn:oid:2.5.4.97

8024050190

OIDC Sverige

KatalogRelationsattributgeneralN

Anställds organisationstillhörighet, namnhttps://id.ena-infrastructure.se/attributes/organizationNamehttps://id.oidc.se/claim/
orgName 
 https://id.oidc.se/scope/naturalPersonOrgId urn:oid:2.5.4.10OrganizationNamehttp://sambi.se/attributes/1/organizationNameurn:oid:2.5.4.10


OIDC Sverige

KatalogRelationsattributgeneralN

Anställds relation till avdelning eller förvaltning inom organisationenhttps://id.ena-infrastructure.se/attributes/orgUnithttps://id.oidc.se/claim/orgUnit urn:oid:2.5.4.11ou
urn:oid:2.5.4.11

Barn- och ungdomsförvaltningen

OIDC Sverige

KatalogRelationsattributgeneralJN
Anställds organisationstillhörighet   knutet till uppdraget eller aktuell organisation, idhttps://id.ena-infrastructure.se/attributes/health/OrganizationIdentifier https://id.ena-infrastructure.se/attributes/health/OrganizationIdentifier urn:oid:2.5.4.97organizationIdentifierhttp://sambi.se/attributes/1/organizationIdentifierurn:oid:2.5.4.97

KatalogRelationsattributhealthN

Anställds organisationstillhörighet   knutet till uppdraget eller aktuell organisation, namnhttps://id.ena-infrastructure.se/attributes/health/OrganizationNamehttps://id.ena-infrastructure.se/attributes/health/OrganizationName  urn:oid:2.5.4.10

OrganizationName

o

http://sambi.se/attributes/1/organizationNameurn:oid:2.5.4.10

KatalogRelationsattributhealthN

OrgAffiliation, knutet till uppdraget eller aktuell organisationhttps:

...

Fördelar: om ett attribut får en annan betydelse, till exempel en annan värdemängd, behöver vi inte hitta på ett helt nytt namn utan bara byta som i detta fall 1.0 till 2.0. Den praktiska konsekvensen är att det är ett helt nytt attribut som kan leva parallellt med det gamla. Fråga: har detta någonsin använts i Sambi?

Info

En semantisk eller redaktionell uppdatering i profil → tekniskt breaking change
Och det är ofta oproportionerligt dyrt.

Konsekvens:

Versionsnumret i attributnamnet fryser på “1” för alltid. Det beror på att man undviker kostnaden för att byta – vilket gör versionen semantiskt meningslös.

Designprinciper som brukar fungera bättre:

Attributidentifieraren ska vara stabil
Versionering ska ske i profilen, inte i attributet
Om något förändras – använd kompatibilitetsprincipen
Om du kan uppdatera profilen utan att bryta existerande implementationer → behåll attributets URI.
Om det bryter → skapa nytt attribut och deprecera det gamla.

Slutsats: inget versionsnummer i attributnamnet

Attributlista

  1. Modellera för hur en attributprofil kan ha multipla attributinstanser, tex beroende på källa (attribut på e-leg, från en katalog), relaterad till ett eller flera uppdrag.
  2. Beskriv en modell för attributprofiler med personrelaterade attribut, e-leg-relaterade attribut, N x anställningsrelaterade attribut, M x uppdragsrelaterade uppdrag 
  3. Beskriv skillnaden mellan en IdP per organisation och en Idp som representerar flera organisationer
Info
Nedan första utkastet på attributlistan, den ska i detta läge ses främst som ett försök till att bestämma formatet då det är önskvärt att hålla ihop beskrivningen men ändå kunna filtrera på olika sätt.
https:
Table Filter
fixedCols
totalrow,,,,,,,,,,,,,
hidelabelsfalse
ddSeparator‚‚
sparkNameSparkline
hidePaneFiltration panel
customNoTableMsgTextlimitHeight
sparklinefalse
default,,
isFirstTimeEntertrue
cell-width250,250,250
hideColumnsfalse
totalRowNametotalColName
customNoTableMsgfalse
disabledfalse
enabledInEditorfalse
globalFilterfalse
id1772969846082_-1232987905
iconfilter
order0,1,2
hideControlsfalse
inversefalse,false,false
numberingdatefilter
columnDomän,Kategori,Källa
sorttotalcol
disableSavefalse
rowsPerPage
separatorPoint (.)
labelsDomän‚Kategori‚Källa
thousandSeparatorignoreFirstNrows
ddOperatorOR,OR,OR
userfilter
datepatterndd M yy
numberfilterheightValuehideFilters
updateSelectOptionsfalse
worklog365|5|8|y w d h m|y w d h m
isORAND
showNRowsifNotFiltered
BeskrivningNamn (SAML)Namn (OIDC)ReferensFriendlyNameAlternativt namn (SAML)ExempelvärdenKlassificeringKällaKategoriDomän

Multivärde J/N

Scoped J/N

Kommentar
Personnummer
//id.ena-infrastructure.se/attributes/
personalIdentityNumber
OrgAffiliationhttps://id.oidc.se/claim/

personalIdentityNumber

orgAffiliation
 https://id.oidc.se/scope/naturalPersonOrgIdurn:oid:1.2.752.
29
201.
4
3.
13
1
personalIdentityNumber
OrgAffiliation
urn:oid:1.2.752.201.3.1
OIDC Sverige
 
KatalogIdentitetsattribut
generalN

OrgAffiliation, knutet till E-legitimationen
Personnummer
https://id.ena-infrastructure.se/attributes/eid/health/
personalIdentityNumber
OrgAffiliationhttps://id.ena-infrastructure.se/attributes/eid/health/OrgAffiliation https://id.ena.se/scopes/health/
personalIdentityNumber
eid
urn
 urn:oid:1.2.752.
29
201.
4
3.
13 
1
personalIdentityNumber
OrgAffiliation



ElegitimationIdentitetsattribut
Samordningsnummer
healthN

E-posthttps://id.ena-infrastructure.se/attributes/
coordinationNumber
mailemailemail
https://id.oidc.se/claim/
coordinationNumber
urn:oid:
1
0.9.
2
2342.
752
19200300.
29
100.
4
1.
13
3
coordinationNumber KatalogIdentitetsattributSamordningsnummerhttps
emailhttp://
id
sambi.
ena-infrastructure.
se/attributes/
eid/health/coordinationNumberhttps://id.ena-infrastructure.se/attributes/eid/health/coordinationNumberurn:oid:1.2.752.29.4.13coordinationNumber ElegitimationIdentitetsattributHSA-id för anställd
1/mail urn:oid:0.9.2342.19200300.100.1.3OIDC CoreKatalogKommunikationsattributgeneralJ

Telefonhttps://id.ena-infrastructure.se/attributes/
health/employeeHsaId https://id.ena-infrastructure.se/attributes/health/employeeHsaId
phonenumberphone_number urn:oid:
1.
2.
752
5.
29.6.2.1employeeHsaId urn:oid:1.2.752.29.6.2.1KatalogIdentitetsattributhealthNHSA-id för anställd
4.20phone_Number http://sambi.se/attributes/1/telephoneNumber urn:oid:2.5.4.20
OIDC CoreKatalogKommunikationsattributgeneral

J



Mobilhttps://id.ena-infrastructure.se/attributes/
eid/health/employeeHsaId
mobile
 
https://id.ena-infrastructure.se/attributes/
eid/health/employeeHsaId
mobile urn:oid:
1
0.
2
9.
752
2342.
29
19200300.
6
100.
2
1.
1
41
employeeHsaId
mobile 
urn
http://sambi.se/attributes/1/mobileTelephoneNumber urn:oid:
1
0.
2
9.
752
2342.
29
19200300.
6
100.
2
1.
1
41

Katalog
Elegitimation
Kommunikationsattribut
Identitetsattribut
general
health
J
N


Förskrivarkodhttps://id.ena-infrastructure.se/attributes/health/personalPrescriptionCode
Anställds organisationstillhörighet, id
https://id.ena-infrastructure.se/attributes/health/
OrganizationIdentifier
personalPrescriptionCode https://id.
oidc
ena.se/scopes/
claim
health/
orgNumber
commissionurn:oid:1.2.752.116.
5
3.
4
1.
97orgNumber8024050190
2personalPrescriptionCode http://sambi.se/attributes/1/personalPrescriptionCode 

Katalog
Relationsattribut
Mandatattribut
general
healthN
Anställds organisationstillhörighet, namn


Gruppförskrivarkodhttps://id.ena-infrastructure.se/attributes/
OrganizationNamehttps://id.oidc.se/claim/
orgName
 Anställds organisationstillhörighet   knutet till uppdraget, id
health/groupPrescriptionCodehttps://id.ena-infrastructure.se/attributes/health/
OrganizationIdentifier
groupPrescriptionCode https://id.ena
-infrastructure
.se/
attributes
scopes/health/
OrganizationIdentifier
commissionurn:oid:1.2.752.
5
29.4.
97
132
organizationIdentifierKatalogRelationsattributhealthAnställds organisationstillhörighet   knutet till uppdraget, namn
groupPrescriptionCodehttp://sambi
https://id.ena-infrastructure
.se/attributes/1/
health/OrganizationName
groupPrescriptionCode 

KatalogMandatattributhealth


Yrkesgrupphttps://id.ena-infrastructure.se/attributes/health/
OrganizationName E-post
healthcareProfessionalLicensehttps://id.ena-infrastructure.se/attributes/health/
mail
healthcareProfessionalLicense https://id.ena
-infrastructure
.se/scopes/
attributes
health/
mail
commissionurn:oid:
0
1.
9
2.
2342
752.
19200300
116.
100
3.1.3
mailmans.johansson@storhamrakommun
healthcareProfessionalLicense 
http://sambi.se
  • anna-maria.de-la-cruz@specialistmyndigheten.se
  • karl-olof.ornstedt@nordicfuturegymnasium.se
  • Kommunikationsattribut

    Referenser

    ...

    /attributes/1/healthcareProfessionalLicense 

    KatalogMandatattributhealthJ

    Yrkeskategorier för personal inom vård och omsorg, komplement till healthcareProfessionalLicensehttps://id.ena-infrastructure.se/attributes/health/occupationalCodehttps://id.ena-infrastructure.se/attributes/health/occupationalCode https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.221.100.1.1occupationalCode http://sambi.se/attributes/1/occupationalCode 

    KatalogMandatattributhealthJ

    Identitet öppenvårdsapotekhttps://id.ena-infrastructure.se/attributes/health/pharmacyIdentifierhttps://id.ena-infrastructure.se/attributes/health/pharmacyIdentifier https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.221.100.1.2pharmacyIdentifier http://sambi.se/attributes/1/pharmacyIdentifier 

    KatalogMandatattributhealthN

    Organisationsnummer för vårdgivarehttps://id.ena-infrastructure.se/attributes/health/healthcareProviderIdhttps://id.ena-infrastructure.se/attributes/health/healthcareProviderId https://id.ena.se/scopes/health/commissionurn:oid:2.5.4.97healthcareProviderIdhttp://sambi.se/attributes/1/healthcareProviderId  

    KatalogRelationsattributhealthN

    HSA-id för vårdgivarehttps://id.ena-infrastructure.se/attributes/health/healthcareProviderHsaIdhttps://id.ena-infrastructure.se/attributes/health/healthcareProviderHsaId https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.29.6.10.1healthcareProviderHsaId http://sambi.se/attributes/1/healthCareProviderHsaId 

    KatalogRelationsattributhealthN

    HSA-id för vårdgivare, namnhttps://id.ena-infrastructure.se/attributes/health/healthcareProviderNamehttps://id.ena-infrastructure.se/attributes/health/healthcareProviderName https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.29.6.10.2healthCareProviderName http://sambi.se/attributes/1/healthCareProviderName 

    KatalogInformationsattributhealthN

     HSA-id för vårdenhet https://id.ena-infrastructure.se/attributes/health/healthcareUnitHsaId  https://id.ena-infrastructure.se/attributes/health/healthcareUnitHsaId https://id.ena.se/scopes/health/commission urn:oid:1.2.752.29.6.13.1 healthcareUnitHsaId http://sambi.se/attributes/1/healthCareUnitHsaId 

    KatalogRelationsattributhealthN

    Vårdenhetsnamn https://id.ena-infrastructure.se/attributes/health/healthcareUnitNamehttps://id.ena-infrastructure.se/attributes/health/healthcareUnitName https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.29.6.13.2healthCareUnitName http://sambi.se/attributes/1/healthCareUnitName 

    KatalogInformationsattributhealthN

    Befattningskoderhttps://id.ena-infrastructure.se/attributes/health/paTitleCodehttps://id.ena-infrastructure.se/attributes/health/paTitleCode https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.129.2.2.1.4paTitleCode http://sambi.se/attributes/1/paTitleCode 

    KatalogMandatattributhealthJ

    HSA-id för uppdraghttps://id.ena-infrastructure.se/attributes/health/commissionHsaIdhttps://id.ena-infrastructure.se/attributes/health/commissionHsaId https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.29.6.12.1commissionHsaId http://sambi.se/attributes/1/commissionHsaId 

    KatalogInformationsattributhealthN

    Uppdragsnamnhttps://id.ena-infrastructure.se/attributes/health/commissionNamehttps://id.ena-infrastructure.se/attributes/health/commissionName

     https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.29.6.12.2commissionName http://sambi.se/attributes/1/commissionName 

    KatalogInformationsattributhealthN

    Uppdragets ändamålhttps://id.ena-infrastructure.se/attributes/health/commissionPurposehttps://id.ena-infrastructure.se/attributes/health/commissionPurpose https://id.ena.se/scopes/health/commission urn:oid:1.2.752.29.4.125 commissionPurposehttp://sambi.se/attributes/1/commissionPurpose  

    KatalogMandatattributhealthN

     Uppdragets rättigheter https://id.ena-infrastructure.se/attributes/health/commissionRight https://id.ena-infrastructure.se/attributes/health/commissionRight https://id.ena.se/scopes/health/commission urn:oid:1.2.752.29.4.124 commissionRighthttp://sambi.se/attributes/1/commissionRight 

    KatalogMandatattributhealthJ

     Systemrättigheter https://id.ena-infrastructure.se/attributes/health/systemRole  https://id.ena-infrastructure.se/attributes/health/systemRole https://id.ena.se/scopes/health/commission urn:oid:1.2.752.29.4.95 systemRole

    http://sambi.se/attributes/1/systemRole

     

    KatalogMandatattributhealthJ

    Specialistkoder för legitimerad yrkesgrupphttps://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicenceSpecialityhttps://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicenceSpeciality https://id.ena.se/scopes/health/commission

    Legitimerad yrkesgrupp
    urn:oid:1.2.752.116.3.1.3

    Specialistkoder
    urn:oid:1.2.752.116.3.1.6
    urn:oid:1.2.752.116.3.1.7
    urn:oid:1.2.752.116.3.1.8
    urn:oid:1.2.752.116.3.1.9
    urn:oid:1.2.752.116.3.1.10
    urn:oid:1.2.752.116.3.1.15

    healthcareProfessionalLicenceSpeciality http://sambi.se/attributes/1/healthCareProfessionalLicenceSpeciality 

    healthCareProfessionalLicenseCode":"

    LK","specialityCode":"30014","specialityName":"Barn-ochungdomshematologi och onkologi"


    KatalogMandatattributhealthJ

    Unik identitet(löpnummer) för enperson i HOSPhttps://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicenseIdentityNumberhttps://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicenseIdentityNumber https://id.ena.se/scopes/health/commission

    urn:oid:1.2.752.116.3.1.1

    healthcareProfessionalLicenseIdentityNumber http://sambi.se/attributes/1/healthcareProfessionalLicenseIdentityNumber 



    KatalogIdentitetsattributhealthN

    Yrkeskategorier för personal inom vård- ochomsorg som inte finnsreglerat i annat ellermer formellt register.Exempelvisyrkeskategorier som intehar yrkeslegitimation irelation tillsocialstyrelsenhttps://id.ena-infrastructure.se/attributes/health/veterinaryIdentificationNumberhttps://id.ena-infrastructure.se/attributes/health/veterinaryIdentificationNumber https://id.ena.se/scopes/health/commission

    urn:oid:1.2.752.221.100.1.3

    veterinaryIdentificationNumber http://sambi.se/attributes/1/veterinaryIdentificationNumber 



    KatalogIdentitetsattributhealthN

     Samtliga uppdrag för en användare https://id.ena-infrastructure.se/attributes/health/allCommissions https://id.ena-infrastructure.se/attributes/health/allCommissions https://id.ena.se/scopes/health/allCommissions  allCommissions  

    KatalogMandatattributhealthN

     Samtliga administrativa uppdrag för en användare https://id.ena-infrastructure.se/attributes/health/authorizationScope https://id.ena-infrastructure.se/attributes/health/authorizationScope https://id.ena.se/scopes/health/authorizationScope urn:oid:1.2.752.221.100.1.4 authorizationScope http://sambi.se/attributes/1/administrationTask 

    KatalogMandatattributhealthN

    Global federationsanvändarnamnhttps://id.ena-infrastructure.se/attributes/edu/eduPersonPrincipalName  Använd istället subject-id  urn:oid:1.3.6.1.4.1.5923.1.1.1.6 eduPersonPrincipalNamesubject-id  ee755715-f486-4808-a82b-99a7a66da7d3@edu.goteborg.se 
    Katalog
    eduNJ
    Personnummer, samordningsnummer, TF-nummer, reserv-ID eller utländska identitetsbeteckning (t ex eIDAS)

     https://id.ena-infrastructure.se/attributes/edu/norEduPersonNIN

    https://id.ena-infrastructure.se/attributes/edu/norEduPersonNIN https://id.ena.se/scopes/edu urn:oid:1.3.6.1.4.1.2428.90.1.5 norEduPersonNIN
     

    200112240123 (personnumer)

    200112845862 (samordningsnummer)

    22950606FH20 (reserv-id)

    20011284TF01 (TF-nummer)


    Katalog
    eduNN
    Skolenhetskod

     https://id.ena-infrastructure.se/attributes/edu/sisSchoolUnitCode

     https://id.ena-infrastructure.se/attributes/edu/sisSchoolUnitCode https://id.ena.se/scopes/eduurn:oid:1.2.752.194.10.2.4 sisSchoolUnitCode
     

    14801860


    Katalog
    eduJN
    Alternativ kod för utbildningsenhet https://id.ena-infrastructure.se/attributes/edu/sisUnitCodeOther https://id.ena-infrastructure.se/attributes/edu/sisUnitCodeOther https://id.ena.se/scopes/eduurn:oid:1.2.752.194.10.2.11 sisUnitCodeOther  5117@edu.goteborg.se 
    Katalog
    eduNJ
     Elev i elevgrupp https://id.ena-infrastructure.se/attributes/edu/sisSchoolCourseStudent https://id.ena-infrastructure.se/attributes/edu/sisSchoolCourseStudent https://id.ena.se/scopes/eduurn:oid:1.2.752.194.10.2.5 sisSchoolCourseStudent  http://goteborg.se/61701709/IDHIDH01-2015%2F16/Undervisning 
    Katalog
    eduJN
     Lärare för elevgrupp https://id.ena-infrastructure.se/attributes/edu/sisSchoolCourseTeacher https://id.ena-infrastructure.se/attributes/edu/sisSchoolCourseTeacher https://id.ena.se/scopes/eduurn:oid:1.2.752.194.10.2.6 sisSchoolCourseTeacher  http://goteborg.se/61701709/IDHIDH01-2015%2F16/Undervisning 
    Katalog
    eduJN
     Tilldelning av resurser https://id.ena-infrastructure.se/attributes/edu/eduPersonEntitlement https://id.ena-infrastructure.se/attributes/edu/eduPersonEntitlement https://id.ena.se/scopes/eduurn:oid:1.3.6.1.4.1.5923.1.1.1.7 eduPersonEntitlement  

    Katalog
    eduJN
     Förvaltning https://id.ena-infrastructure.se/attributes/edu/sisOrgDepartment https://id.ena-infrastructure.se/attributes/edu/sisOrgDepartment https://id.ena.se/scopes/eduurn:oid:1.2.752.194.10.2.3 sisOrgDepartment  Barn- och ungdomsförvaltningen
    Katalog
    eduJN
     Årskurs https://id.ena-infrastructure.se/attributes/edu/sisSchoolGrade https://id.ena-infrastructure.se/attributes/edu/sisSchoolGrade https://id.ena.se/scopes/eduurn:oid:1.2.752.194.10.2.2 sisSchoolGrade  7
    Katalog
    eduNNkodas med F för förskolan, 0-10 för grundskolan, 11-14 för gymnasiet och V för vuxenutbildning
     Vårdnadshavarens barn https://id.ena-infrastructure.se/attributes/edu/sisLegalGuardianFor  https://id.ena-infrastructure.se/attributes/edu/sisLegalGuardianFor https://id.ena.se/scopes/eduurn:oid:1.2.752.194.10.2.1 sisLegalGuardianFor  201412240123
    Katalog
    eduJNKommer att utgå
    Provisorisk identifierareurn:oid:1.2.752.201.3.4https://id.swedenconnect.se/claim/pridhttps://id.swedenconnect.se/scope/eidasNaturalPersonIdentityurn:oid:1.2.752.201.3.4prid  
    Sweden Connect

    eIDASNN


    Utestående frågeställningar

    Här finns ett antal frågor att besvara innan vi kan detaljera attributramverket.

    • Vem har givit ut e-legitimationen?
    • Vem är personens huvudsakliga arbetsgivare?
    • Vem är personens uppdragsgivare för den rolll personen agerar i just nu?

    Ska namnet på attributet spegla källan, till exempel /eid för e-legitimation och /idp för IdP?

    I den överenskommelse som finns mellan regionerna och E-hälsomyndigheten när det gäller den SAML-propageringslösning för åtkomst till NLL har man etablerat en namnstandard för attribut som härrör sig från IdP:n. Ett exempel på detta är https://idp.inera.se/attributes/identityProviderForSign Som man kan se så innehåller attributnamnet referens till en organisation. En mera neutral namngivning på detta attribut kunde vara https://federationer.se/attribute/idp/1.0/identityProviderForSign

    I vissa användningsfall är det viktigt för e-tjänsten som begär attributen att skilja på om attributen kommer från själva e-legitimationen eller från attributkällan. För Ineras IdP så går det att peka ut certifikatets givenName med attributet urn:credential:givenName. Motsvarande attribut som hämtas från katalogen är http://sambi.se/attributes/1/givenName eller urn:oid:2.5.4.42 (enligt Sweden Connects namnsättning), beroende på vilken IdP man ansluter till.  I det senare fallet finns det ingen metod att peka ut attributet som är e-legitimationsspecifikt. 

    Det spännande attributet orgAffiliation som heter urn:oid:1.2.752.201.3.1 enligt Sweden Connect och som i Ineras fall betyder att källan är katalogen, knutet till uppdraget, att jämföra med https://idp.inera.se/attributes/userOrgAffiliation som är knutet till en personpost i katalogen, oberoende av uppdrag men beroende på vilken organisation som användaren tillhör.

    Vi skulle kunna tänka oss följande motsvarande attribut i ramverket

    https://id.ena-infrastructure.se/attributes/health/1.0/orgAffiliation

    https://id.ena-infrastructure.se/attributes/health/1.0/userOrgAffiliation

    Övrig semantik i attributnamnet

    Vissa attribut kan relatera till en anställds organisationstillhörighet eller uppdrag/roll, hur ska e-tjänsten kunna skilja på detta? I Ineras fall när det gäller den anställdes HSAid beror det på vilka andra attribut som e-tjänsten begär. Observera skillnaden mellan ett HSAid som är knutet till e-legitimationen och HSA-id som finns i katalogen. I den senare kategorin finns ingen namnsättning som skiljer på organisationstillhörighet och uppdragssituation.

    När det gäller domänspecifika attribut inom vård och omsorg finns "health" med i attributnamnet https://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicenseIdentityNumber bland de attribut som används för åtkomst till NLL och är överenskommet med E-hälsomyndigheten och regionerna.

    Versionshantering av attribut

    Ska attributnamnen ha en namnstandard som medger versionshantering enligt mönster från Sambi?

    Exempel från Sambi: http://sambi.se/attributes/1/givenName 

    Om vi använder det i ramverket:  https://federationer.se/attribute/1.0/givenName

    Fördelar: om ett attribut får en annan betydelse, till exempel en annan värdemängd, behöver vi inte hitta på ett helt nytt namn utan bara byta som i detta fall 1.0 till 2.0. Den praktiska konsekvensen är att det är ett helt nytt attribut som kan leva parallellt med det gamla. Fråga: har detta någonsin använts i Sambi?





    Info

    En semantisk eller redaktionell uppdatering i profil → tekniskt breaking change
    Och det är ofta oproportionerligt dyrt.

    Konsekvens:

    Versionsnumret i attributnamnet fryser på “1” för alltid. Det beror på att man undviker kostnaden för att byta – vilket gör versionen semantiskt meningslös.

    Designprinciper som brukar fungera bättre:

    Attributidentifieraren ska vara stabil
    Versionering ska ske i profilen, inte i attributet
    Om något förändras – använd kompatibilitetsprincipen
    Om du kan uppdatera profilen utan att bryta existerande implementationer → behåll attributets URI.
    Om det bryter → skapa nytt attribut och deprecera det gamla.

    Slutsats: inget versionsnummer i attributnamnet, regel för detta arbete.


    Referenser

    Anchor
    Vägledning attribut SKR
    Vägledning attribut SKR
    Vägledning för hantering av behörighetsattribut (SKR)

    Anchor
    Upphandling e-underskrift SKR
    Upphandling e-underskrift SKR
    Stöd för upphandling av e-underskrifter (SKR)

    Anchor
    Behörighetsmodell Inera
    Behörighetsmodell Inera
    Behörighetsmodell för vård och omsorg (Inera)

    Anchor
    Vägledning elektronisk underskrift SKR
    Vägledning elektronisk underskrift SKR
    Vägledning elektronisk underskrift (SKR)

    Anchor
    OIDC Core
    OIDC Core
    OIDC Core

    Anchor
    OIDC Sweden
    OIDC Sweden
    OIDC Sweden

    Anchor
    Sweden Connect attributprofil
    Sweden Connect attributprofil
    Sweden Connect attributprofil

    Anchor
    Sambis attributprofil
    Sambis attributprofil
    Sambis attributprofil

    I

    Anchor
    Inera IdP plus attribut
    Inera IdP plus attribut
    nera IdP plus attributlista

    Anchor
    OID
    OID
    OID repository

    RFC LDAP

    Appendix A - exempel från verkligheten

    SAML

    För SAML finns det exempel på metadata, inloggningsbegäran (request) och svar (assertion). Det kan vara värt att studera dessa exempel för att förstå hur SAML fungerar.

    IdP Bas från Inera SAML-profil


    OIDC

    För OIDC finns motsvarande här

    IdP Bas från Inera OIDC-profil

    Appendix B - utforskande material kring informationsmodell för behörighetsgrundande information

    DISCLAIMER: Inom detta arbete ska vi inte modellera hur behörighetsstyrande attribut är strukturerade i attributkällor, men vi tänkte lite kring detta i tidigt skede av arbetet och har sparat vårt arbetsmaterial i detta appendix.

    Image Added

    Länk till editor för att editera modell...

    Exempel läkare

    Expand
    Code Block
    languagejson
    {
        "subject": {
            "type": "Human",
            "name": "Anna Andersson",
            "given_name": "Anna",
            "family_name": "Andersson",
            "eID": {
                "prid": "SE:NO:199001011234",
                "pridPersistence": "A",
                "x509SubjectName": "CN=Anna Andersson,SERIALNUMBER=199001011234,C=SE",
                "x509IssuerName": "CN=SITHS e-id Function CA v1,O=Inera AB,C=SE",
                "credentialGivenName": "Anna",
                "credentialSurname": "Andersson",
                "credentialPersonalIdentityNumber": "199001011234",
                "credentialCertificate": "MIIGHz...",
                "credentialDisplayName": "Anna Andersson",
                "credentialOrganizationName": "Region Stockholm",
                "credentialCertificatePolicies": [
                    "1.2.752.26.11.1.15.4",
                    "1.2.752.26.11.1.15.14"
                ]
            },
            "credentials": {
                "email": "anna.andersson@regionstockholm.se"
            },
            "affiliations": [
                {
                    "type": "Employment",
                    "orgAffiliation": "SE2321000016-5BCD",
                    "employeeIdentifier": "SE2321000016-ABC123",
                    "telephoneNumber": "+4608123456",
                    "mobile": "+46701234567",
                    "mail": "anna.andersson@regionstockholm.se",
                    "cFARUnit": "12345678",
                    "organizationalUnitAssignment": "Akutmottagningen",
                    "financialResponsibilityCode": "1234",
                    "jobTitle": "Läkare",
                    "facility": "Karolinska Universitetssjukhuset",
                    "responsibilityArea": "Akut",
                    "workLocation": "Huddinge"
                },
                {
                    "type": "Commission",
                    "orgAffiliation": "SE2321000016-5BCD",
                    "commissionIdentifier": "SE2321000016-COMM01",
                    "commissionName": "Förskrivare",
                    "commissionPurpose": "Vård och behandling",
                    "aidCode": "000",
                    "aidLabel": "Läkare",
                    "responsibilityCode": "1",
                    "function": "Behandlande läkare",
                    "domain": "Vård",
                    "validFrom": "2025-01-01",
                    "validTo": "2026-12-31",
                    "principalIdentifier": "SE2321000016-VARD01",
                    "principalName": "Region Stockholm Vård AB",
                    "commissionRights": [
                        {
                            "activity": "Förskriva",
                            "scope": "Slutenvård",
                            "informationClass": "Läkemedel"
                        },
                        {
                            "activity": "Läsa",
                            "scope": "Öppenvård",
                            "informationClass": "Journal"
                        }
                    ],
                    "authorizationScope": {
                        "facility": "Karolinska Universitetssjukhuset",
                        "responsibilityArea": "Akut",
                        "workLocation": "Huddinge"
                    }
                }
            ]
        }
    }



    Exempel Lärare

    Expand
    Code Block
    languagejson
    {
        "subject": {
            "type": "Human",
            "name": "Maria Lindström",
            "given_name": "Maria",
            "family_name": "Lindström",
            "eID": {
                "prid": "SE:SE:197505152345",
                "pridPersistence": "A",
                "x509SubjectName": "CN=Maria Lindström,SERIALNUMBER=197505152345,C=SE",
                "x509IssuerName": "CN=SITHS e-id Person CA v2,O=Inera AB,C=SE",
                "credentialGivenName": "Maria",
                "credentialSurname": "Lindström",
                "credentialPersonalIdentityNumber": "197505152345",
                "credentialCertificate": "MIIGHz...",
                "credentialDisplayName": "Maria Lindström",
                "credentialOrganizationName": "Värmdö kommun",
                "credentialCertificatePolicies": [
                    "1.2.752.26.11.1.15.4"
                ]
            },
            "credentials": {
                "email": "maria.lindstrom@varmdo.se"
            },
            "affiliations": [
                {
                    "type": "Employment",
                    "orgAffiliation": "SE212000028-AB12",
                    "employeeIdentifier": "SE212000028-EMP456",
                    "telephoneNumber": "+4608570800",
                    "mobile": "+46709876543",
                    "mail": "maria.lindstrom@varmdo.se",
                    "cFARUnit": "87654321",
                    "organizationalUnitAssignment": "Gustavsbergsskolan",
                    "financialResponsibilityCode": "2210",
                    "jobTitle": "Lärare",
                    "facility": "Gustavsbergsskolan",
                    "responsibilityArea": "Grundskola år 7-9",
                    "workLocation": "Gustavsberg"
                },
                {
                    "type": "Commission",
                    "orgAffiliation": "SE212000028-AB12",
                    "commissionIdentifier": "SE212000028-COMM01",
                    "commissionName": "Klasslärare 8B",
                    "commissionPurpose": "Undervisning och elevvård",
                    "aidCode": "310",
                    "aidLabel": "Lärare grundskola",
                    "responsibilityCode": "1",
                    "function": "Klasslärare",
                    "domain": "Utbildning",
                    "validFrom": "2025-08-15",
                    "validTo": "2026-06-15",
                    "principalIdentifier": "SE212000028-NÄMND01",
                    "principalName": "Värmdö kommuns barn- och ungdomsnämnd",
                    "commissionRights": [
                        {
                            "activity": "Registrera",
                            "scope": "Elevdokumentation",
                            "informationClass": "Betyg"
                        },
                        {
                            "activity": "Läsa",
                            "scope": "Elevdokumentation",
                            "informationClass": "Åtgärdsprogram"
                        }
                    ],
                    "authorizationScope": {
                        "facility": "Gustavsbergsskolan",
                        "responsibilityArea": "Grundskola år 7-9",
                        "workLocation": "Gustavsberg"
                    }
                }
            ]
        }
    }



    Exempel student

    Expand
    Code Block
    languagejson
    {
        "subject": {
            "type": "Human",
            "name": "Erik Johansson",
            "given_name": "Erik",
            "family_name": "Johansson",
            "credentials": {
                "email": "erik.johansson@elev.skola.se"
            },
            "affiliations": [
                {
                    "type": "Student",
                    "orgAffiliation": "SE212000028-AB12",
                    "eduPersonPrincipalName": "erik.johansson@skola.se",
                    "eduPersonScopedAffiliation": "student@skola.se",
                    "organizationName": "Värmdö kommuns skolor",
                    "organizationNumber": "212000-0028",
                    "sisSchoolUnitCode": "53513510",
                    "sisSchoolUnitName": "Gustavsbergsskolan",
                    "schoolType": "Grundskola",
                    "schoolYear": "8",
                    "studentGroup": "8B",
                    "educationRole": "student"
                }
            ]
        }
    }



    Bakgrundmaterial

    Expand
    titleBakgrundsmaterial

    Inom hälsosektorn används en attributprofil, i vilken man kan uttrycka att en användare kan ha ett antal olika systemspecifika rolltilldelningar (SystemRole), vårdspecifika uppdrag (Commission), samt så kallade administrativa uppdrag (AdminCommission) inom ett visst organisatoriskt omfång (AuthorizationScope).

    Notera att Ineras IdP låter användaren välja vilken av uppdragen som ska representeras som "aktivt" och då få sina claims kopierade till rotnivån i intyget. Alla uppdrag kan även bifogas (allCommissions) och då kan eTjänsten låta användaren välja vilket uppdrag som ska användas för åtkomstbeslut, loggning, m.m. i e-tjänsten.

    Code Block
    languagejson
    {
        "commissionPurpose": "Administration",
        "at_hash": "qEj37dgo2bQEyePuzqDyNQ",
        "pharmacyIdentifier": "731.1337.1337:Apotek",
        "sub": "1a400571-a2d0-4b28-b9da-11400ba496e1",
        "healthCareUnitName": "Admin",
        "credentialCertificatePolicies": [
            "2.23.140.1.2.3",
            "1.2.752.74.8.506"
        ],
        "amr": [
            "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient"
        ],
        "iss": "https://idp.dev.inera.test:8443/oidc",
        "credentialGivenName": "Olof",
        "healthcareProviderId": "2321000214",
        "commissionHsaId": "SE111-UPPDRAG-JLL-TEKSYSADMIN",
        "acr": "http://id.sambi.se/loa/loa3",
        "systemRole": [
            {
                "systemId": "BIF",
                "role": "Loggadministratör"
            },
            {
                "systemId": "BIF",
                "role": "Administrator"
            },
            {
                "systemId": "PU",
                "role": "Administratör"
            }
        ],
        "organizationIdentifier": "2321000214",
        "credentialSurname": "Olsson",
        "auth_time": 1610616929,
        "healthCareProviderName": "SE111-JLL",
        "exp": 1610618196,
        "healthCareProviderHsaId": "SE111-JLL",
        "iat": 1610617896,
        "commissionRight": [
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "dia"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "fun"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "lkf"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "lkm"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "lko"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "pad"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "pat"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "und"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "upp"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "vbe"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "vko"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "voo"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "vot"
            },
            {
                "activity": "Läsa",
                "scope": "VG",
                "informationClass": "vpo"
            }
        ],
        "organizationName": "SE111-JLL",
        "healthCareUnitHsaId": "SE111-ADMIN",
         "authorizationScope": [
            {
                "authorizationScopePropertyName": "Tjänstesupport",
                "authorizationScopeName": "Hitta och jämför vård",
                "authorizationScopeCode": "HJV",
                "authorizationScopePropertyCode": "HJV;003",
                "authorizationScopeDescription": "Hitta och jämför vård är den del på 1177.se som presenterar kontaktinformation till landets     vårdmottagningar, deras vårdutbud och vårdkvalitet.Varje enskild mottagning har ett eget ”kontaktkort” där kontaktuppgifter, e-tjänster och övrigt utbud presenteras.",
                "authorizationScopePropertyDescription": "Tjänstesupport Beskrivning",
                "adminCommissions": [
                    {
                        "adminCommissionHsaId": "TNT4477663322-1021",
                        "sector": [
                            {
                                "sectorFlag": true,
                                "feignedUnit": null,
                                "name": "CGI Östersund",
                                "unitHsaId": "TNT4477663322-101Q"
                            }
                        ],
                        "adminCommissionResponsibleOrganisation": "447766-3323",
                        "feignedAdminCommission": null
                    }
                ]
            },
            {
                "authorizationScopePropertyName": "Redaktör kontaktkort",
                "authorizationScopeName": "Hitta och jämför vård",
                "authorizationScopeCode": "HJV",
                "authorizationScopePropertyCode": "HJV;001",
                "authorizationScopeDescription": "Hitta och jämför vård är den del på 1177.se som presenterar kontaktinformation till landets vårdmottagningar, deras vårdutbud och vårdkvalitet.Varje enskild mottagning har ett eget ”kontaktkort” där kontaktuppgifter, e-tjänster och övrigt utbud presenteras.",
                "authorizationScopePropertyDescription": "Redaktör kontaktkort får administrera information på kontaktkorten förutom kontaktkorten.",
                "adminCommissions": [
                    {
                        "adminCommissionHsaId": "TNT4477663322-1021",
                        "sector": [
                            {
                                "sectorFlag": true,
                                "feignedUnit": null,
                                "name": "CGI Östersund",
                                "unitHsaId": "TNT4477663322-101Q"
                            }
                        ],
                        "adminCommissionResponsibleOrganisation": "447766-3323",
                        "feignedAdminCommission": null
                    }
                ]
            }
        ],
        "x509SubjectName": "EMAILADDRESS=olof.olsson@inera.test, SERIALNUMBER=TNT4477663322-1046, GIVENNAME=Olof, SURNAME=Olsson, CN=Olof Olsson, O=Inera AB, L=SITHS, C=SE",
        "given_name": "Olof",
        "x509IssuerName": "CN=TEST SITHS e-id Person HSA-id 3 CA v1,O=Inera AB,C=SE",
        "aud": "https://sp.dev.inera.test:8881",
        "commissionName": "Teknisk Systemadministratör JLL",
        "credentialPersonalIdentityNumber": "TNT4477663322-1046",
        "credentialCertificate": "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",
        "employeeHsaId": "TNT4477663322-1046",
        "name": "Olof Olsson",
        "credentialDisplayName": "Olof Olsson",
        "credentialOrganizationName": "Inera AB",
        "family_name": "Olsson",
        "authenticationMethod": "SITHS_EID_SAME_DEVICE",
        "allEmployeeHsaIds": [
              "TSTNMT2321000156-10NG",
              "TSTNMT2321000156-10NX"
        ],  
        "allCommissions": "[{\"employeeHsaId\":\"TSTNMT2321000156-10NG\",\"commissionName\":\"Teknisk Systemadministratör JLL\",\"commissionHsaId\":\"SE111-UPPDRAG-JLL-TEKSYSADMIN\",\"commissionPurpose\":\"Administration\",\"healthCareUnitHsaId\":\"SE111-ADMIN\",\"healthCareUnitName\":\"Admin\",\"healthCareProviderHsaId\":\"SE111-JLL\",\"healthCareProviderName\":\"SE111-JLL\",\"healthCareProviderOrgNo\":\"2321000214\",\"commissionRights\":[{\"activity\":\"Läsa\",\"informationClass\":\"dia\",\"scope\":\"VG\"},{\"activity\":\"Läsa\",\"informationClass\":\"fun\",\"scope\":\"VG\"}]},{\"employeeHsaId\":\"TSTNMT2321000156-10NX\",\"commissionName\":\"Teknisk Systemadministratör SLL\",\"commissionHsaId\":\"SE222-UPPDRAG-SLL-TEKSYSADMIN\",\"commissionPurpose\":\"Administration\",\"healthCareUnitHsaId\":\"SE222-ADMIN\",\"healthCareUnitName\":\"Admin\",\"healthCareProviderHsaId\":\"SE222-SLL\",\"healthCareProviderName\":\"SE222-SLL\",\"healthCareProviderOrgNo\":\"2321000214\",\"commissionRights\":[{\"activity\":\"Läsa\",\"informationClass\":\"dia\",\"scope\":\"VG\"},{\"activity\":\"Läsa\",\"informationClass\":\"fun\",\"scope\":\"VG\"}]}]",
        "allCommissionOrgAffiliations": [
          "TSTNMT2321000156-10NG@123456-7890",
          "TSTNMT2321000156-10NX@654321-0987"
        ],
        "userOrganizationHsaId": "SE2321000156-0001",
        "sithsEidChallenge": "b90fc25314de41ffaf88c03677e2caac"
    }

    Attributprofil skapad utifrån exempel från Inera Idp (inklippt nedan). Bilden länkar till en online-editor Image Added

    ...

    Exempel

    Tomas Fransson  referenser till nuvarnde och exempel för ny struktur.

    SAML

    För SAML finns det exempel på metadata, inloggningsbegäran (request) och svar (assertion). Det kan vara värt att studera dessa exempel för att förstå hur SAML fungerar.

    IdP Bas från Inera SAML-profil

    OIDC

    För OIDC finns motsvarande här

    ...