| Panel | ||||||
|---|---|---|---|---|---|---|
| ||||||
Vi startar ett arbete som sker parallellt och utanför teamets nuvarande kärnuppdrag att jobba mot realisering av MVP ( arbetet sker med resurser utanför teamet - detta är en platshållare). Syftet är att komma igång med att skapa en publicerbar och återanvändbar struktur för attribut inom Samordnad identitet och behörighet, med fokus på att minska “dialekter” och integrationsbörda för e-tjänster. Bakgrunden är de behov som lyfts från samverkande aktörer att komma igång med detta arbete. Arbetet utgår från fyra attributtyper som först ska definieras och avgränsas. Varje typ bedöms kräva egen diskussion och hantering (t.ex. olika källor, tillitskrav, ansvariga parter och livscykel), för att undvika att allt blandas ihop. SKR och Internetstiftelsen tar fram ett första utkast (0.1) med förslag på typindelning, en nationell minsta kärna och exempel på domänprofiler/mappning (t.ex. skola och vård). DIGG har för avsikt att stå för format, struktur och publiceringsyta och vara avsändare för normering, men inte ta fram definitionerna annat än det som är helt nationellt. Status: |
| Table of Contents | ||
|---|---|---|
|
Inledning
För att kunna etablera samverkan via en digital tjänst krävs att den tjänsteproducerande parten kan genomföra ett automatiserat behörighetskontroll. Underlag för sådan kontroll ges i regel i form av utfästelser från tredje part baserat på e-legitimering eller annan inloggningsmekanism. För systemaktörer används ofta certifikat som påstår att innehavaren av certifikatet har en viss identitet. Utfästelserna (eller påståendena) om identiteter och behörighetsgrundande information för anropande system och eventuell bakomliggande fysisk användare taggas som olika attribut, paketeras enligt en attributprofil, och förses med en digital stämpel av den part som står som garant för påståendets riktighet.
...
| Expand | ||
|---|---|---|
| ||
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:
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:
OID svarar på frågan om vad något är:
HTTP-URIEn 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:
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:
Relationen mellan OID och HTTP-URIFö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:
Den semantiska definitionen är således knuten till OID, inte till HTTP-URI. OID definierar objektets identitet. HTTP-URI är ett kontextuellt alias. InteroperabilitetsanalysOID 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å:
Ett exempel OID 2.5.4.10 identifierar begreppet organizationName på en generell semantisk nivå. Dock gäller:
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:
HTTP-URI i federationen säger:
|
Attributkategorier
Detta avsnitt syftar till att redogöra för attributtyper i federativa infrastrukturer för användning 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. Målet är att etablera en modell som skapar semantisk tydlighet och utgör en tillförlitlig grund för beslut., 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 attributtyper har skilda egenskaper avseende stabilitet, tillitsnivå och ansvarig utfärdare, vilket i sin tur påverkar hur de bör användas som underlag för åtkomstbeslut.
| Info | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||
Attribut BÖR typas enligt följande:
|
| Expand | ||
|---|---|---|
| ||
HypotesAlla attribut är inte av samma slag. Attribut kan exempelvis:
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. AttributmodellI federativa miljöer används attribut för att:
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:
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örPlaceholder för subject som kan vara api, api-klienter, etc. |
...
| Info | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
Följande roller och ansvar BÖR etableras:
Exempel på domäner
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. |
...
| Expand | ||
|---|---|---|
| ||
Exempel på förvaltningsstruktur - Transportsektorn
|
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
...
https://id.ena-infrastructure.se/attributes/health/1.0/userOrgAffiliation
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.
Så här är Sweden Connects namn på ett attribut givenName: urn:oid:2.5.4.42
Ö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?
...
| Info |
|---|
En semantisk eller redaktionell uppdatering i profil → tekniskt breaking change 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 Slutsats: inget versionsnummer i attributnamnet |
Attributlista
- Definiera skillnaden mellan attributdefinitioner, och attributprofiler
- 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.
- Beskriv en modell för attributprofiler med personrelaterade attribut, e-leg-relaterade attribut, N x anställningsrelaterade attribut, M x uppdragsrelaterade uppdrag
- Beskriv skillnaden mellan en IdP per organisation och en Idp som representerar flera organisationer
...
| Table Filter | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Referenser
Vägledning för hantering av behörighetsattribut (SKR)
...
Behörighetsmodell för vård och omsorg (Inera)
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
...