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
    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.

  2. 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.

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

  4. Exemplifiera och validera 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. 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.


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": "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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"
}

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

...

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/coordinationNumberhttps://id.ena-infrastructure.se/attributes/eid/health/coordinationNumber https://id.ena.se/scopes/health/eidurn:oid:1.2.752.29.4.13coordinationNumber  

ElegitimationIdentitetsattributhealthN

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

...

...

urn:oid:1.2.

...

...

6.

...

2.1employeeHsaId urn:oid:1.2.752.29.6.2.1

ElegitimationIdentitetsattributhealthN

Anställds organisationstillhörighet, id

...

...

organizationIdentifierhttps://id.oidc.se/claim/orgNumber  

...

...

...

...

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 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.

...

:oid:2.5.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.

...

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/

...

Versionshantering av attribut

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

...

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/

...

...

OrganizationIdentifier

...

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.
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) (s) = SAML2Namn (OIDC) (s) = OIDC Sweden, (c) = OIDC CoreReferensFriendlyNameAlternativt namn (SAML)ExempelvärdenKlassificeringKällaKategoriDomän

Multivärde J/N

Scoped J/N

Kommentar
Vald IdP
 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://id.ena-infrastructure.se/attributes/OrgAffiliationhttps://id.oidc.se/claim/
orgAffiliation
 https://id.oidc.se/scope/naturalPersonOrgIdurn:oid:1.2.752.201.3.1OrgAffiliation
urn:oid:1.2.752.201.3.1
OIDC SverigeKatalogIdentitetsattributgeneralN

OrgAffiliation, knutet till E-legitimationenhttps://id.ena-infrastructure.se/attributes/eid/health/OrgAffiliationhttps://id.ena-infrastructure.se/attributes/eid/health/OrgAffiliation https://id.ena.se/scopes/health/eid urn:oid:1.2.752.201.3.1OrgAffiliation



ElegitimationIdentitetsattributhealthN

E-posthttps://id.ena-infrastructure.se/attributes/mailemailemailurn:oid:0.9.2342.19200300.100.1.3emailhttp://sambi.se/attributes/1/mail urn:oid:0.9.2342.19200300.100.1.3OIDC CoreKatalogKommunikationsattributgeneralJ

Telefonhttps://id.ena-infrastructure.se/attributes/phonenumberphone_number urn:oid:2.5.4.20phone_Number http://sambi.se/attributes/1/telephoneNumber urn:oid:2.5.4.20
OIDC CoreKatalogKommunikationsattributgeneral

J



Mobilhttps://id.ena-infrastructure.se/attributes/mobilehttps://id.ena-infrastructure.se/attributes/mobile urn:oid:0.9.2342.19200300.100.1.41mobile http://sambi.se/attributes/1/mobileTelephoneNumber urn:oid:0.9.2342.19200300.100.1.41

KatalogKommunikationsattributgeneralJ

Förskrivarkodhttps://id.ena-infrastructure.se/attributes/health/personalPrescriptionCodehttps://id.ena-infrastructure.se/attributes/health/personalPrescriptionCode https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.116.3.1.2personalPrescriptionCode http://sambi.se/attributes/1/personalPrescriptionCode 

KatalogMandatattributhealthN

Gruppförskrivarkod
https://id.ena-infrastructure.se/attributes/health/
identityProvider
groupPrescriptionCodehttps://id.
oidc
ena-infrastructure.se/attributes/
claim/authnProvider (s)
  identityProvider IntygstjänstKommunikationsattributgeneralTransaktionsid
health/groupPrescriptionCode 
https://id.ena
-infrastructurehttps://id.ena-infrastructure.se/attributes/transactionIdentifierurn:oid:
.se/
attributes/transactionIdentifier
scopes/health/commission
urn:oid:1.2.752.29.
201.3.2 transactionIdentifier IntygstjänstKommunikationsattributgeneralCertifikat
4.132groupPrescriptionCodehttp://sambi.se/attributes/1/groupPrescriptionCode 

KatalogMandatattributhealth


Yrkesgrupphttps://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicensehttps://id.ena-infrastructure.se/attributes/
eid
health/
certificate
healthcareProfessionalLicense https://id.
oidc
ena.se/scopes/
claim
health/
userCertificate
commissionurn:oid:1.2.752.
201
116.3.1.
10
3
 certificate
healthcareProfessionalLicense 
ElegitimationIdentitetsattributgeneralCertifikatpolicies
http://sambi.se/attributes/1/healthcareProfessionalLicense 

KatalogMandatattributhealthJ

Yrkeskategorier för personal inom vård och omsorg, komplement till healthcareProfessionalLicensehttps://
https://
id.ena-infrastructure.se/attributes/
eid
health/
certificatePolicies
occupationalCodehttps://id.ena-infrastructure.se/attributes
/eid/
/health/occupationalCode https://id.ena.se/scopes/health/commission
certificatePolicies
urn:oid:1.2.752.
29
221.100.
4
1.
xxx
1occupationalCode 
certificatePolicies
http://sambi.se/attributes/1/occupationalCode 
Elegitimation


Katalog
Identitetsattribut
Mandatattribut
generalVisningsnamn
health
Tillitsnivåsaml2:AuthnContextClassRef (s)acr (c)  AuthnContextClassRef 
J

Identitet öppenvårdsapotek
https://id.ena-infrastructure.se/attributes/health/
displayNamename (s)urn:oid:2.16.840.1.113730.3.1.241 displayName ElegitimationgeneralFörnamn
pharmacyIdentifierhttps://id.ena-infrastructure.se/attributes/health/pharmacyIdentifier 
https://id.ena
-infrastructure
.se/scopes/
attributes
health/
givenNamegiven_name (s)
commissionurn:oid:1.2.
5.4.42
752.221.100.1.2pharmacyIdentifier http://sambi.se/attributes/1/pharmacyIdentifier
 givenName
 

KatalogMandatattributhealth
general
N
Förnamn


Organisationsnummer för vårdgivarehttps://id.ena-infrastructure.se/attributes/
eid/
health/
givenName
healthcareProviderIdhttps://id.ena-infrastructure.se/attributes
/eid
/health/healthcareProviderId https://id.ena.se/scopes/health/
givenName
commissionurn:oid:2.5.4.
42
97
 givenName healthEfternamn
healthcareProviderIdhttp://sambi
https://id.ena-infrastructure
.se/attributes
/surNamefamily_name (s)
/1/healthcareProviderId  
 surName


Katalog
 
Relationsattribut
Katalog
health
general
N

HSA-id för vårdgivare
Efternamn
https://id.ena-infrastructure.se/attributes
/eid
/health/
surName
healthcareProviderHsaIdhttps://id.ena-infrastructure.se/attributes
/eid
/health/
surName
healthcareProviderHsaId 
 surName ElegitimationhealthPersonnummer
https://id.ena
-infrastructurehttps://id.oidc.se/claim/
personalIdentityNumber (s)
.se/
attributes/personalIdentityNumber
scopes/health/commission
urn:oid:1.2.752.29.6.
4
10.
13
1healthcareProviderHsaId http://sambi.se/attributes/1/healthCareProviderHsaId
personalIdentityNumber
 

KatalogRelationsattribut
Identitetsattribut
health
general
N

HSA-id för vårdgivare, namn
Personnummer
https://id.ena-infrastructure.se/attributes
/eid
/health/
personalIdentityNumber
healthcareProviderNamehttps://id.ena-infrastructure.se/attributes/
eid
health/healthcareProviderName https://id.ena.se/scopes/health/
personalIdentityNumber
commissionurn:oid:1.2.752.29.6.
4
10.
13
2healthCareProviderName http://sambi.se/attributes/1/healthCareProviderName
personalIdentityNumber
 
Elegitimation


Katalog
Identitetsattribut
Informationsattributhealth
Samordningsnummer
N

 HSA-id för vårdenhet https://id.ena-infrastructure.se/attributes/
coordinationNumber
health/healthcareUnitHsaId  https://id.
oidc
ena-infrastructure.se/attributes/
claim
health/

coordinationNumber (s)
healthcareUnitHsaId https://id.ena.se/scopes/health/commission urn
urn
:oid:1.2.752.29.
4
6.13
.1 healthcareUnitHsaId http://sambi.se/attributes/1/healthCareUnitHsaId
coordinationNumber
 

KatalogRelationsattribut
Identitetsattribut
health
general
N
Samordningsnummer


Vårdenhetsnamn https://id.ena-infrastructure.se/attributes/
eid/
health/
coordinationNumber
healthcareUnitNamehttps://id.ena-infrastructure.se/attributes
/eid
/health/healthcareUnitName https://id.ena.se/scopes/health/
coordinationNumber
commissionurn:oid:1.2.752.29.
4
6.13
.2healthCareUnitName http://sambi.se/attributes/1/healthCareUnitName
coordinationNumber
 
Elegitimation


Katalog
Identitetsattribut
Informationsattributhealth
HSA-id för anställd
N

Befattningskoderhttps://id.ena-infrastructure.se/attributes/health/
employeeHsaId
paTitleCode
 
https://id.ena-infrastructure.se/attributes/health/
employeeHsaId
paTitleCode https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.
29
129.
6
2.2.1.4
employeeHsaId
paTitleCode 
urn:oid:1.2.752.29.6.2.1KatalogIdentitetsattributhealth
http://sambi.se/attributes/1/paTitleCode 

KatalogMandatattributhealthJ
N


HSA-id för
anställd
uppdraghttps://id.ena-infrastructure.se/attributes/
eid/
health/
employeeHsaId
commissionHsaId
 
https://id.ena-infrastructure.se/attributes/
eid/
health/
employeeHsaId
commissionHsaId https://id.ena.se/scopes/health/commissionurn:oid:1.2.752.29.6.
2
12.1
employeeHsaId
commissionHsaId 
urn:oid:1.2.752.29.6.2.1Elegitimation
http://sambi.se/attributes/1/commissionHsaId 

KatalogInformationsattribut
Identitetsattribut
healthN
Anställds organisationstillhörighet, id


Uppdragsnamnhttps://id.ena-infrastructure.se/attributes/
OrganizationIdentifierhttps://id.oidc.se/claim/orgNumber (s)urn:oid:2.5.4.97orgNumber

8024050190

KatalogRelationsattributgeneralNAnställds organisationstillhörighet, namn
health/commissionNamehttps://id.ena-infrastructure.se/attributes/health/
Organization
commissionName

 https://id.
oidc
ena.se/scopes/
claim
health/

orgName (s) OrganizationNameRelationsattributgeneralAnställds organisationstillhörighet   knutet till uppdraget eller aktuell organisation, id
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/
OrganizationIdentifier
commissionPurpose
 
https://id.ena-infrastructure.se/attributes/health/
OrganizationIdentifier
commissionPurpose https://id.ena.se/scopes/health/commission urn
urn
:oid:1.2.
5
752.29.4.
97organizationIdentifier
125 commissionPurposehttp://sambi.se/attributes/1/commissionPurpose  

Katalog
Relationsattribut
Mandatattributhealth
Anställds organisationstillhörighet   knutet till uppdraget eller aktuell organisation, namn
N

 Uppdragets rättigheter https://id.ena-infrastructure.se/attributes/health/
OrganizationName
commissionRight https://id.ena-infrastructure.se/attributes/health/
OrganizationName
commissionRight 
KatalogRelationsattributhealthOrgAffiliation, knutet till uppdraget eller aktuell organisation
https://id.ena
-infrastructure
.se/scopes/
attributes/OrgAffiliation
health/commission urn:oid:1.2.752.29.4.124 commissionRighthttp
https
://
id.oidc
sambi.se/attributes/
claim
1/commissionRight
orgAffiliation (s)
 

Katalog
E-post
MandatattributhealthJ

 Systemrättigheter https://id.ena-infrastructure.se/attributes/health/
mail
systemRole  https://id.ena-infrastructure.se/attributes
/mailurn
/health/systemRole https://id.ena.se/scopes/health/commission urn:oid:
0
1.
9
2.
2342
752.
19200300
29.
100
4.
1.3
95
mail KatalogKommunikationsattributgeneral
 systemRole

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

 

KatalogMandatattributhealthJ

Specialistkoder för legitimerad yrkesgrupp
Telefon
https://id.ena-infrastructure.se/attributes/health/
phonenumber
healthcareProfessionalLicenceSpecialityhttps://id.ena-infrastructure.se/attributes/health/
phonenumberurn:oid:2.5.4.20telephoneNumber KatalogKommunikationsattributMobil
healthcareProfessionalLicenceSpeciality https://id.ena
-infrastructurehttps://id.ena-infrastructure.se/attributes/mobile
.se/scopes/
attributes/mobile
health/commission

Legitimerad yrkesgrupp
urn:oid:1.2.752.116.3.1.3

Specialistkoder


urn:oid:

0

1.

9

2.

2342

752.

19200300

116.

100Förskrivarkodhttps://id.ena-infrastructure.se/attributes/health/personalPrescriptionCodehttps://id.ena-infrastructure.se/attributes/health/personalPrescriptionCode

3.1.

41mobile KatalogKommunikationsattribut

6
urn:oid:1.2.752.116.3.1.7
urn:oid:1.2.752.116.3.1.8

Yrkesgrupphttps://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicensehttps://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicense


urn:oid:1.2.752.116.3.1.

2personalPrescriptionCode KatalogMandatattribut

9
urn:oid:1.2.752.116.3.1.10


urn:oid:1.2.752.116.3.1.

3

15

healthcareProfessionalLicense KatalogMandatattributGruppförskrivarkod
healthcareProfessionalLicenceSpeciality http://sambi
https://id.ena-infrastructure
.se/attributes/1/
health/occupationalCode
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/
occupationalCodeurn:oid:1.2.752.221.100.1.1occupationalCode KatalogMandatattributIdentitet öppenvårdsapotek
healthcareProfessionalLicenseIdentityNumberhttps://id.ena-infrastructure.se/attributes/health/
pharmacyIdentifier
healthcareProfessionalLicenseIdentityNumber https://id.ena
-infrastructure
.se/
attributes
scopes/health/
pharmacyIdentifier
commission

urn:oid:1.2.752.

221

116.

100

3.1.

2

1

pharmacyIdentifier
healthcareProfessionalLicenseIdentityNumber 
KatalogMandatattributOrganisationsnummer för vårdgivarehttps
http://
id.ena-infrastructure
sambi.se/attributes/1/
health/healthcareProviderId
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/
healthcareProviderIdurn:oid:2.5.4.97healthcareProviderId KatalogRelationsattributHSA-id för vårdgivare
veterinaryIdentificationNumberhttps://id.ena-infrastructure.se/attributes/health/
healthcareProviderHsaId
veterinaryIdentificationNumber https://id.ena
-infrastructure
.se/
attributes
scopes/health/
healthcareProviderHsaId
commission

urn:oid:1.2.752.221.

29

100.

6.10.1

1.3

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



KatalogIdentitetsattributhealth
RelationsattributHSA-id för vårdgivare, namn
N

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

KatalogMandatattributhealth
Informationsattribut HSA-id för vårdenhet
N

 Samtliga administrativa uppdrag för en användare https://id.ena-infrastructure.se/attributes/health/
healthcareUnitHsaId
authorizationScope
 
 https://id.ena-infrastructure.se/attributes/health/
healthcareUnitHsaId
authorizationScope https://id.ena.se/scopes/health/authorizationScope urn:oid:1.2.752.
29
221.
6
100.
13
1.
1 healthcareUnitHsaId
4 
KatalogRelationsattribut
authorizationScope http
Vårdenhetsnamn https
://
id.ena-infrastructure
sambi.se/attributes/1/
health/healthcareUnitName
administrationTask 

KatalogMandatattributhealthN

Global federationsanvändarnamnhttps://id.ena-infrastructure.se/attributes/
health
edu/
healthcareUnitNameurn
eduPersonPrincipalName  Använd istället subject-id  urn:oid:1.3.6.1.4.
2
1.
752
5923.
29
1.
6
1.
13.2healthCareUnitNameBefattningskoder
1.6 eduPersonPrincipalNamesubject-id  ee755715-f486-4808-a82b-99a7a66da7d3@edu.goteborg.se 
Katalog
eduN
Informationsattribut
J
Personnummer, samordningsnummer, TF-nummer, reserv-ID eller utländska identitetsbeteckning (t ex eIDAS)

 

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

health

edu/

paTitleCode

norEduPersonNIN

https://id.ena-infrastructure.se/attributes
/health/paTitleCodeurn
/edu/norEduPersonNIN https://id.ena.se/scopes/edu urn:oid:1.3.6.
2
1.
752
4.
129
1.
2
2428.
2
90.1.
4
5
paTitleCode
 norEduPersonNIN
 
KatalogMandatattributHSA-id för uppdrag

200112240123 (personnumer)

200112845862 (samordningsnummer)

22950606FH20 (reserv-id)

20011284TF01 (TF-nummer)


Katalog
eduNN
Skolenhetskod

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

health

edu/

commissionHsaId

sisSchoolUnitCode

 https://id.ena-infrastructure.se/attributes
/health/commissionHsaId
/edu/sisSchoolUnitCode https://id.ena.se/scopes/eduurn:oid:1.2.752.
29
194.
6
10.
12
2.
1
4
commissionHsaIdUppdragsnamn
 sisSchoolUnitCode
 

14801860


Katalog
eduJ
Informationsattribut
N
Alternativ kod för utbildningsenhet 
https://id.ena-infrastructure.se/attributes/
health
edu/
commissionName
sisUnitCodeOther https://id.ena-infrastructure.se/attributes
/health/commissionName
/edu/sisUnitCodeOther https://id.ena.se/scopes/eduurn:oid:1.2.752.
29
194.
6
10.
12
2.
1
11 sisUnitCodeOther
commissionNameUppdragets ändamål
  5117@edu.goteborg.se 
Katalog
Informationsattribut

eduNJ
 Elev i elevgrupp 
https://id.ena-infrastructure.se/attributes/
health
edu/
commissionPurpose
sisSchoolCourseStudent https://id.ena-infrastructure.se/attributes
/health/commissionPurpose urn
/edu/sisSchoolCourseStudent https://id.ena.se/scopes/eduurn:oid:1.2.752.194.
29
10.
4
2.
125
5 sisSchoolCourseStudent
 commissionPurpose
  http://goteborg.se/61701709/IDHIDH01-2015%2F16/Undervisning 
Katalog
eduJ
Mandatattribut
N
 Lärare för elevgrupp
 Uppdragets rättigheter
 https://id.ena-infrastructure.se/attributes/
health
edu/
commissionRight
sisSchoolCourseTeacher https://id.ena-infrastructure.se/attributes
/health/commissionRight urn
/edu/sisSchoolCourseTeacher https://id.ena.se/scopes/eduurn:oid:1.2.752.194.
29
10.
4
2.
124
6
 commissionRight
 sisSchoolCourseTeacher 
KatalogMandatattribut Systemrättigheter
 http
 https
://
id
goteborg.
ena-infrastructure.se/attributes/health/systemRole 
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
/health/systemRole
/edu/eduPersonEntitlement https://id.ena.se/scopes/eduurn
 urn
:oid:1.
2
3.
752
6.
29
1.4
.95
.1.5923.1.1.1.7 eduPersonEntitlement 
 systemRole
 

Katalog
eduJ
MandatattributSpecialistkoder för legitimerad yrkesgrupp
N
 Förvaltning https://id.ena-infrastructure.se/attributes/
health
edu/
healthcareProfessionalLicenceSpeciality
sisOrgDepartment https://id.ena-infrastructure.se/attributes/
health
edu/
healthcareProfessionalLicenceSpecialityLegitimerad yrkesgrupp
sisOrgDepartment https://id.ena.se/scopes/eduurn:oid:1.2.752.
116
194.
3
10.
1
2.3
Specialistkoder
urn:oid:1.2.752.116.3.1.6
urn:oid:1.2.752.116.3.1.7
 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/edu
urn:oid:1.2.752.116.3.1.8
urn:oid:1.2.752.
116
194.
3
10.
1.9
urn:oid:1.2.752.116.3.1.10
urn:oid:1.2.752.116.3.1.15
healthcareProfessionalLicenceSpeciality 

healthCareProfessionalLicenseCode":"

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

KatalogMandatattribut Samtliga uppdrag för en användare
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/
health
edu/
allCommissions 
sisLegalGuardianFor
 
  https://id.ena-infrastructure.se/attributes/
health/allCommissions  allCommissions KatalogMandatattribut Samtliga HSA-id för en användare 
edu/sisLegalGuardianFor 
https://id.ena
-infrastructure
.se/
attributes
scopes/
health/healthcareProfessionalLicenceSpeciality
eduurn:oid:1.2.752.194.10.2.1 sisLegalGuardianFor
  https://id.ena-infrastructure.se/attributes/health/healthcareProfessionalLicenceSpeciality
  
 
201412240123
Katalog
Mandatattribut Samtliga administrativa uppdrag för en användare 

eduJNKommer att utgå
Provisorisk identifierareurn:oid:1.2.752.201.3.4
https://id.
ena-infrastructure
swedenconnect.se/
attributes
claim/
health/authorizationScope
prid
 
https://id.
ena-infrastructure
swedenconnect.se/
attributes/health/authorizationScope   KatalogMandatattribut

Referenser

...

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

...