STS NETVÆRKSDAGE ADGANGSSTYRING Brian Storm Graversen April 2016
Emner Motivation og baggrund Introduktion til jobfunktionsrollebegrebet Hvad er en jobfunktionsrolle Typer af brugersystemroller Dataafgrænsninger som et redskab Eksempler på jobfunktionsroller Teknisk understøttelse / Identity Provider Scenarie 1 statiske dataafgrænsninger Scenarie 2 dynamiske dataafgrænsninger Hvordan man får sin Identity Provider tilsluttet
Motivation og baggrund For at ibrugtage KY, KSD, SAPA, E&E, DAR samt BBR skal kommunerne være klar med følgende 1. Tilslutte en Identity Provider til støttesystemet Adgangsstyring for brugere 2. Registrere sine Jobfunktionsroller i støttesystemet Administrationsmodulet 3. Registrere sine organisationsdata i støttesystemet Organisation
INTRODUKTION TIL JOBFUNKTIONSROLLE- BEGREBET
Hvad er en Jobfunktionsrolle? En jobfunktionsrolle er et sæt af rettigheder, der tilsammen gør det muligt for en medarbejder at udføre en funktion. En jobfunktionsrolle kunne være Økonomimedarbejder, Sagsbehandler eller Leder. Teknisk består en jobfunktionsrolle af et sæt af brugersystemroller, hvor disse brugersystemroller kan komme fra forskellige it-systemer.
Hvad er en Brugersystemrolle? En Brugersystemrolle er et sæt af rettigheder i et bestemt itsystem (fx SAPA). En Brugersystemrolle kan være aktør-baseret (fx Sagsbehandler i ydelsescenter, Leder eller Lokal administrator ) handlings-baseret (fx Opret Sag, Godkend Udbetaling eller Tværkommunalt Opslag ). En Brugersystemrolle kan dataafgrænses på udvalgte områder (fx KLE emneområde eller Organisatorisk Enhed). Ikke alle systemer anvender dataafgrænsninger, fx har KSD og E&E ikke nogen dataafgrænsninger!
Hvorfor dataafgrænsninger? Dataafgrænsninger er et modelleringsværktøj, der gør det muligt at adskille den handling der udføres, fra de data handlingen udføres på. Fx har SAPA en brugersystemrolle der giver adgang til at se sager og dokumenter. Vha. dataafgrænsning kan denne brugersystemrolle anvendes til at se sager vedr. kontante ydelser (KLE 32.*) se sager vedr. særlig støtte til børn og unge (KLE 27.24.*) Dataafgrænsninger er optionelle, og hvis de ikke udfyldes, giver brugersystemrollen adgang til alle data!
Datamodel Administreres af kommunen Administreres af it-leverandør Fx 27.18.* Fx KLE
EKSEMPEL PÅ EN JOBFUNKTIONSROLLE
SAPA Brugersystemroller (lille uddrag) Brugersystemrolle Begrænset visning af sager Begrænset visning af sager og ydelser Fuld visning af sager, ydelser og dokumenter Opret journalnotater på part Opret bemærkninger Visning af adviser i Overblik Dataafgrænsninger KLE, Følsomhed, Organisatorisk Enhed KLE, Følsomhed, Organisatorisk Enhed KLE, Følsomhed, Organisatorisk Enhed KLE KLE, Følsomhed, Organisatorisk Enhed
En SAPA Jobfunktionsroller Jobfunktionsrolle Brugersystemrolle Dataafgrænsning Sagsbehandler Fuld visning af sager, ydelser og dokumenter KLE Følsomhed Organisatorisk Enhed Opret Journalnotat på part KLE Visning af adviser i overblik KLE Følsomhed Organisatorisk Enhed
Anvendelse En medarbejder i Ydelsescenter Vest tildeles Jobfunktionsrollen Sagsbehandler, og medarbejderen dataafgrænses til KLE: 32.* Organisatorisk Enhed: Ydelsescenter Vest Medarbejderen har nu adgang til de 3 operationer i SAPA nævnt i Jobfunktionsrollen, afgrænset til at kunne udføres på data, der er opmærket med KLE 32.xx.xx, og ejet af Ydelsescenter Vest
LIDT PRAKTISK INFO OM DATAAFGRÆNSNINGER
Praktisk info om dataafgrænsningsværdier Dataafgrænsningsværdier kan tildeles den enkelte bruger på login tidspunkt (dynamisk) eller registreres direkte på jobfunktionsrollen (statisk) Dynamiske værdier har den fordel, at jobfunktionsroller kan genbruges i forskellige sammenhæng Fx en læse-rolle der tildeles mange medarbejdere, men dataafgrænses individuelt Dynamiske værdier stiller dog større tekniske krav til den kommunale implementering af Identity Provider
HVORDAN VIL EN KSD JOBFUNKTIONSROLLE SE UD?
En KSD Jobfunktionsrolle KSD har 5 Brugersystemroller, der alle er aktør-baserede KSD anvender ikke dataafgrænsninger Jobfunktionsrolle Brugersystemrolle Dataafgrænsning Sagsbehandler i ydelsescenter Sagsbehandler i ydelsescenter -
KSD & SAPA to yderpunkter KSD SAPA # Brugersystemroller 5 30+ Typen af Brugersystemroller Aktør-baserede Handlings-baserede Dataafgrænsninger - KLE Organisatorisk Enhed Følsomhed KY og E&E vil også anvende aktør-baserede roller KY vil anvende dataafgrænsninger, mens E&E ikke vil DAR & BBR anvendelsesmønster kendes pt ikke, men forvent det ligner KSD/E&E mere end SAPA/KY
HVORDAN SER DET UD I ADMINISTRATIONSMODULET? (PROTOTYPE SKÆRMBILLEDE)
HVAD GØR MAN FØR ADMINISTRATIONSMODULET FRIGIVES?
Word bestillings-blanketten
Bestillings-blanketten er relevant Hvis man vil tidligt i gang med at anvende støttesystemerne fordi man er pilot kommune fordi man ønsker at anvende test-miljøet, fx i samarbejde med en af sine leverandører Vi er ved at undersøge muligheden for at bedre interim værktøj Understøttelse af input validering Dropdown menuer med valgmuligheder m.m.
JOBFUNKTIONSROLLER TEKNISK UNDERSTØTTELSE I STS
Baggrund Et samarbejde med Vallensbæk Kommune har belyst en række spændende valg og overvejelser i forbindelse med implementering af Adgangsstyring. Renset for blod og tårer, vil vi præsentere de 2 (ud af 4) scenarier som vi sammen fik udarbejdet i vores søgen efter den rette løsningsmodel for Vallensbæk.
VALLENSBÆKS MÅL MEDARBEJDERNE SKAL HAVE (KORREKT) ADGANG TIL MONOPOLBRUDSSYSTEMERNE
Værktøjer til at nå målet en lokal Identity Provider Et stykke standard software et brugerkatalog med de brugere der skal have adgang til fagsystemerne Typisk jeres AD et rollekatalog over de Jobfunktionsroller, der afspejler medarbejdernes adgangsbehov Uden for scope af denne arbejdsgruppe noget der kobler Jobfunktionsroller til medarbejdere Her gemmer der sig nogle interessante designvalg
Identity Providerens ansvarsområde Dækket af standard programmel med lidt konfiguration Autentificere brugeren, og fremsøge dennes unikke ID Sikre at udstedt token følger form-krav fra KOMBIT Udvidelser Afgøre hvilke Jobfunktionsroller en medarbejder er tildelt Afgøre hvilke parameterstyrede dataafgrænsningsværdier der er relevante for medarbejderen
KOMBITs sikkerhedsinfrastruktur Komponentlandskab - produktneutralt Brugerkatalog Identity Provider Brugervendt System Støttesystemet Administrationsmodul Medarbejdere
KOMBITs sikkerhedsinfrastruktur Vallensbæk casen integration til SAPA AD AD FS SAPA Støttesystemet Administrationsmodul Sagsbehandleren Gitte
IDENTITY PROVIDER & STATISKE DATAAFGRÆNSNINGSVÆRDIER
2 Jobfunktionsroller Jobfunktionsrolle Brugersystemrolle Dataafgrænsning Sagsbehandler i ydelsescenter vest Fuld visning af sager, ydelser og dokumenter KLE = 32.* Org.Enhed = Ydelsescenter Vest Opret Journalnotat på part KLE = 32.* Visning af adviser i overblik KLE = 32.* Org.Enhed = Ydelsescenter Vest
Hvad er det forventede output fra IdP en? <Assertion> <Issuer>https://vallensbaek.dk/</Issuer> <Signature>... </signature> <Subject> Liste af jobfunktionsroller <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName"> C=DK,O=19583910,CN=Gitte Jensen,Serial=e8a0f8a6-2393-4c46-b96c-214afebaa616 <bpp:privilegelist </NameID> xmlns:bpp="http://itst.dk/oiosaml/basic_privilege_profile"> Statiske værdier <SubjectConfirmation> <PrivilegeGroup Scope="urn:dk:gov:saml:cvrNumberIdentifier:19583910">... </SubjectConfirmation> </Subject> <Privilege>http://vallensbaek.dk/roles/jobrole/sagsbehandler/1</Privilege> <Conditions>... </Conditions> </PrivilegeGroup> <AttributeStatement> <Attribute <PrivilegeGroup Name="dk:gov:saml:attribute:CvrNumberIdentifier"> Scope="urn:dk:gov:saml:cvrNumberIdentifier:19583910"> <AttributeValue>19583910</AttributeValue> <Privilege>http://vallensbaek.dk/roles/jobrole/leder/1</Privilege> </Attribute> </PrivilegeGroup> </bpp:privilegelist> <Attribute Name="dk:gov:saml:attribute:AssuranceLevel"> <AttributeValue>3</AttributeValue> </Attribute> <Attribute Name="dk:gov:saml:attribute:SpecVer"> <AttributeValue>DK-SAML-2.0</AttributeValue> </Attribute> <Attribute Name="dk:gov:saml:attribute:KombitSpecVer"> <AttributeValue>1.0</AttributeValue> </Attribute> <Attribute Name="dk:gov:saml:attribute:Privileges_intermediate"> <AttributeValue>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0...</AttributeValue> </Attribute> </AttributeStatement> </Assertion> Standard formatering, Serial skal være unik!
IDENTITY PROVIDER & DYNAMISKE DATAAFGRÆNSNINGSVÆRDIER
2 Jobfunktionsroller Jobfunktionsrolle Brugersystemrolle Dataafgrænsning Sagsbehandler Fuld visning af sager, ydelser og dokumenter Opret Journalnotat på part Visning af adviser i overblik KLE = http://vallensbaek.dk/kle/1/parametric Org.Enhed = http://vallensbaek.dk/organizationunit/1/p arametric KLE = http://vallensbaek.dk/kle/1/parametric KLE = http://vallensbaek.dk/kle/1/parametric Org.Enhed = http://vallensbaek.dk/organizationunit/1/p arametric
Hvad er det forventede output fra IdP en? <Assertion>... snip... <AttributeStatement> <Attribute Name="dk:gov:saml:attribute:CvrNumberIdentifier"> <AttributeValue>19583910</AttributeValue> </Attribute> <Attribute Name="dk:gov:saml:attribute:AssuranceLevel"> <AttributeValue>3</AttributeValue> </Attribute> <Attribute Name="dk:gov:saml:attribute:SpecVer"> <AttributeValue>DK-SAML-2.0</AttributeValue> </Attribute> Dynamiske <Attribute Name="dk:gov:saml:attribute:KombitSpecVer"> <AttributeValue>1.0</AttributeValue> dataafgrænsningsværdier </Attribute> <Attribute Name="dk:gov:saml:attribute:Privileges_intermediate"> <AttributeValue>PGJwcDpQcml2aWxlZ...</AttributeValue> </Attribute> <Attribute Name="http://vallensbaek.dk/KLE/1/parametric"> <AttributeValue>32.*</AttributeValue> </Attribute> <Attribute Name="http://vallensbaek.dk/organizationalUnit/1/parametric"> <AttributeValue>Ydelsescenter Vest</AttributeValue> Samme som før </Attribute> </AttributeStatement> </Assertion>
2 (AF 4) SCENARIER BASERET PÅ DIALOG MED VALLENSBÆK
Kommunale implementeringsscenarier 1. Anvend alene rene AD Grupper til at understøtte AD FS (AD Gruppe == Jobfunktionsrolle) 2. Kombiner ovenstående med supplerende oplysninger for at understøtte parameterstyrede dataafgrænsningsværdier 3. Modellering af rettigheder vha Organisationskomponenten 4. Anvendelse af identitetsstyring til at skabe et autoritativt datagrundlag
SCENARIE 1 JOBFUNKTIONSROLLER SOM AD-GRUPPER
Scenarie 1 - Overblikket I Administrationsmodulet oprettes de Jobfunktionsroller der skal bruges til SAPA dataafgrænsningsværdierne angives direkte ingen anvendelse af parameterstyringsværdier I Active Directory oprettes en AD Gruppe for hver Jobfunktionsrolle medarbejdere meldes ind i de AD Grupper der matcher de Jobfunktionsroller der skal tildeles I AD FS laver et gruppemedlemsskabs-opslag ved login token udstedes indeholdende Jobfunktionsroller, der matcher de AD Grupper som medarbejderen er medlem af
Scenarie 1 - Overvejelser Forholdsvist stort rollekatalog Anvendelse af Organisatorisk Enhed som dataafgrænsning kan betyde at man må oprette den samme Jobfunktionsrolle flere gange, fx én Jobfunktionsrolle for hver Organisatorisk Enhed man ønsker at afgrænse til Meget simpel teknisk løsning Baseres på eksisterende AD setup, og eksisterende processer for tildeling af rettigheder via gruppemedlemskab Løbende vedligehold i Administrationsmodulet Når dataafgrænsninger skal tilpasses (fx ved organisatoriske ændringer), skal sættet af dataafgrænsningsværdier vedligeholdes i Administrationsmodulet.
Scenarie 1 Tilpasninger i AD FS AD FS har ikke indbygget understøttelse for OIO-BPP, der er den XML struktur som Jobfunktionsroller skal angives i. AD FS kan udvides med et såkaldt Custom Attribute Store, der kan anvendes til at danne OIO-BPP strukturen (oplagt tværkommunalt projekt). AD FS skal alene lave opslag i AD, hvilket der er indbygget support for.
SCENARIE 2 UDBYGGE SCENARIE 1 MED SIMPEL UNDERSTØTTELSE AF PARAMETERSTYREDE DATAAFGRÆNSNINGSVÆRDIER
Scenarie 2 Forskelle fra Scenarie 1 I Administrationsmodulet dataafgrænsningsværdierne angives fortrinsvist direkte hvor det let kan understøttes, anvendes parameterstyringsværdier Komponent til dynamiske dataafgrænsningsværdier Active Directory, Løn, LOS, I AD FS laver et gruppemedlemsskabs-opslag ved login (som i scenarie 1) laves yderligere opslag i ovenstående komponent for at hente dynamiske dataafgrænsningsværdier token udstedes indeholdende Jobfunktionsroller og dataafgrænsningsværdier
Scenarie 2 - Overvejelser Reduceret rollekatalog Muligheden for at parameterstyre udvalgte dataafgrænsningsværdier kan være med til at reducere antallet af Jobfunktionsroller i rollekataloget Øget kompleksitet i løsningen Kræver opslag i en yderligere komponent, og muligvis et kvalitetsløft af datagrundlaget i komponenten, da data nu anvendes til adgangsstyring Reduceret vedligehold i Administrationsmodulet Da visse dataafgrænsningsværdier vedligeholdes i lokale komponenter, er der et reduceret behov for at vedligeholde dataafgrænsningsværdier i Administrationsmodulet fx ved organisatoriske ændringer
Scenarie 2 Tilpasninger i AD FS Det Custom Attribute Store, der skal udvikles for at danne OIO- BPP strukturen, skal udvides så det kan lave opslag i den lokale komponent der holder de parameterstyrede dataafgrænsningsværdier. Ovenstående udvidelse er knap så tværkommunal en opgave som det, da udviklingsopgaven afhænger af hvilken lokal komponent, der skal laves opslag i.
Opsummering fra Vallensbæk casen Model Teknisk kompleksitet Vedligehold af rettigheder Scenarie 1 Scenarie 2 Lav Standard brug af AD og udvikling af simpelt plugin til AD FS Mellem Yderligere opmærkning af dataafgrænsningsværdier (fx i AD). Mere komplekst plugin til AD FS. Mellem - Høj Nyt system (Administrationsmodulet) hvor rettigheder nu også skal vedligeholdes Mellem Stadig vedligeholdelsesopgaver der skal udføres i Administrationsmodulet (dog færre end i scenarie 1)
Opsummering fra Vallensbæk casen Model Teknisk kompleksitet Vedligehold af rettigheder Scenarie 1 Scenarie 2 Lav Standard brug af AD og udvikling af simpelt plugin til AD FS Mellem Yderligere opmærkning af dataafgrænsningsværdier (fx i AD). Mere komplekst plugin til AD FS. Mellem - Høj Nyt system (Administrationsmodulet) hvor rettigheder nu også skal vedligeholdes Mellem Stadig vedligeholdelsesopgaver der skal udføres i Administrationsmodulet (dog færre end i scenarie 1) Scenarie 3 Høj Udvidet anvendelse af Organisation. Betydeligt mere komplekst plugin til AD FS. Lav Høj Afhænger af hvor meget automatik der er til vedligehold af Organisation Scenarie 4 Høj(ere) Opbygge et autoritativt datagrundlag. Plugin til AD FS (potentielt simplere end det i scenarie 3) Lav - Mellem Fokus på automatiske vedligehold
HVORDAN MAN FÅR SIN IDENTITY PROVIDER TILSLUTTET
Overblik 1. Støttesystemet adgangsstyring for brugere registreres i kommunens Identity Provider som en Service Provider / Relying Party. Processen er ikke KOMBIT specifik 2. Metadata udtrækkes af Kommunens Identity Provider, og registreres i støttesystemet Administrationsmodulet Der er en bestillings-blanket til formålet hvis opgaven udføres inden Administrationsmodulet er frigivet 3. For at teste at integrationen er korrekt udført, kan man gennemføre et login mod et demo-system opsat af KOMBIT
Registrering af metadata i kommunal Identity Provider Metadata (en XML fil) for adgangsstyring for brugere kan downloades direkte fra støttesystemerne Test-miljø https://adgangsstyring.eksterntest-stoettesystemerne.dk/runtime/saml2auth/metadata.idp Produktions-miljø https://adgangsstyring.stoettesystemerne.dk/runtime/saml2auth/metadata.idp Typisk er registrering af metadata en del af oprettelsesprocessen når man opretter en ny Service Provider i sit Identity Provider produkt
Registrering af Identity Provider (metadata) i støttesystemet Administrationsmodulet
Test mod demo-system I test-miljøet stiller KOMBIT et demo system til rådighed, hvor man kan foretage et login. Systemet har ingen anden funktionalitet end login. Efter succesfuld login, vises et skærmbillede der viser det token som demo systemet har modtaget. I produktion er der ikke et demo-system!
Test mod demo-system
Test mod demo-system
SPØRGSMÅL?