950.8 Sikkerhed ift. metadata og filtrering

Beskrivelse af epic af it-understøttelse af Styrelsen for Arbejdsmarked og Rekrutterings forretning


STAR Projektleder (PL)Forretningsanalytiker (FA)STAR ReleaseEpic statusEksterne snitflader
Knud de Place (STAR)Jesper Brunholm2020-21.0KSS(t.o.), A-kasse(t.o.), Plannersystemer(t.o.), KY/KMD Aktiv(t.o.), eDagpenge(t.o.), STIL(t.o.), AUB(t.o.), KSD(t.o.), Jobportaler(t.o.)




key po fa ux sme eksterne snitflader interne snitflader status labels
Loading...
Refresh

DS-2394 - Getting issue details... STATUS


Indholdsfortegnelse




Afgrænsning af epic

Afgrænsning

Som ansvarlig dataejer vil jeg have sikkerhed for at de brugte adgangsdata er sammenhængende med certifikatejer

for at kunne give korrekt adgang, og for at kunne redegøre for hvem der har tilgået data.


Acceptkriterier

Nr.BeskrivelseRelevant for
950.8.1Sikkerhedsmodellen i DFDG validerer for korrekt sammenhæng imellem certifikat og begge metadatalag (ActiveOrganisationHeader og RequestUserMetadata)DFDG
950.8.2Indkaldte møder af typer som er a-kasser uvedkommende, kan ikke hentes af a-kasserDFDG



Kriterier for tilsagn til serviceaftager i forhold til STARs snitfladerBerørte acceptkriterierBemærkninger

950.8.1



Aftagersystemer sikrer at såvel ActiveOrganisation som RequestUserMetadata repræsenterer egen

organisationstype og organisationskode ved kald af STAR systemer

X


Epic er i tilsagn t.o., da det forventes, at ws-aftagerne allerede opfylder kravene til udfyldelse af metadata i ActiveOrganisation og RequestUserMetadata.













Oversigt over berørte webservices 

Manuel oversigt som er synlig for eksterne (links i listen virker kun med STAR Jira konto):

Alle services udstillede af DFDG, med adgangsstyring (dvs. alle andre end CodelistService) er berørte.

SummaryVarslingstypeVarslingsnoteEksterne SnitfladerInterne SnitfladerProject
Alle DFDG services!ÆndretDer indføres validering på korrekt sammenhæng imellem ActiveOrganisation og RequestUserMetadataA-kasse(t.o.) AUB(t.o.) Jobportaler(t.o.) KSD(t.o) KSS(t.o.) KY/KMD-aktiv(t.o) Plannersystemer(t.o.) STIL(t.o.) e-Dagpenge(t.o)JobAG JobKon Jobnet Planner VITASD+S
CodelistService (version 5).DynamicMessageEventTypeIdentifierUdgåetKodelisten udgår da den ikke skal bruges længereA-kasse(t.o.) KSS(t.o.)JobnetD+S
JobnetBookingService (Version 3).GetBookingsÆndretBookings filtreres baseret på InterviewType ved a-kasse-sagsbehandler hentning
JobnetD+S
JobnetCitizenDynamicMessageService (Version 1)UdgåetServicen lukkes da den ikke længere skal bruges
JobnetD+S
PersonStatusService (Version 20).GetVariablePersonStatus.BookingInfoÆndretBookinginfo filtreres baseret på InterviewType ved a-kassers hentningA-kasse(t.o.)JobnetD+S

Automatisk oversigt (vi arbejder på løsning på at gøre den synlig)

summary varslingstype varslingsnote eksterne snitflader interne snitflader project
Loading...
Refresh


Beskrivelse af epic

Idet metadata er centrale for at man kan logge, hvem der har tilgået hvilken borgers data, er det et krav, at serviceaftagere med tilslutningsaftale sørger for, at de metadata, der kaldes med, er retvisende for den kaldende myndighed. 

Metadata for servicekald til STAR består af 2 hoveddele:

  • ActiveOrganisation og
  • RequestUserMetadata.

Hidtil har sikkerhedsløsningen primært været baseret på ActiveOrganisation. Fra og med 2019-4 bruges RequestUserMetadata som grundlag for filtrering ifm. brevhemmelighed i CitizenMessageService. Fra 2020-2 bruges RequestUserMetadata generelt til filtrering og sikring af korrekt adgang til data.

Derfor oprettes der validering på, at RequestUserMetadata er i overensstemmelse med ActiveOrganisation (som allerede valideres til at være i overensstemmelse med certifikatet for den kaldende myndighed).

Fokus bliver lagt på myndighedstype (OrganisationType) og myndighedskode (OrganisationCode). Her et eksempel med kaldende a-kasse:

950.8.1 Strammere validering af sammenhæng i metadata

Generelt vil manglende overholdelse af kravene til metadata medføre, at man mødes af fejl "4413 - The authoritytype of the requestheader is invalid".

Kald fra myndigheder generelt

RequestUserMetadata skal indikere samme organisation som ActiveOrganisation (sådan som de gør i eksemplet ovenfor, hvor OrganisationType 2 = a-kasse og OrganisationCode 17 = FOA går igen).

Bruger-type (RequestUserType) må kun være "system" når det er batchjob der kalder

Ift. bruger-typen (RequestUserType) så gælder samme regler som hidtil:

Serviceaftager skal i webservices, hvor det er beskrevet, at der skal medsendes navn på den sagsbehandler, der er ansvarlig eller den sagsbehandler, der foretager læsning eller registrering af oplysninger, som minimum oplyse medarbejdernes for- og efternavn i servicekaldet, dvs.

  • der skal oplyses konkret navn på medarbejder, når der er tale om ws-kald foranlediget af sagsbehandleres læsning eller opdatering af oplysninger DFDG eller STARs øvrige systemer - der må i sådanne tilfælde ikke oplyses fx "Unknown" eller et systemnavn som navn på medarbejderen
  • angivelse af kun systemnavn er alene tilstrækkeligt, hvis ws-kald til DFDG er foranlediget af batchjob i det aftagende system

(citat fra STARs sikkerhedsmodel)

Kald med anden aktør eller kommunalt ansatte

Kald fra anden aktør og kommunalt ansatte udfyldes som hidtil, som det fremgår af følgende overblik over kald fra KSS systemer:

Feltgruppe
Indhold
Fx
ActiveOrganisationHeader

OrganisationTypeIdentifier = 8

OrganisationCode = Jobcenterkode

8 (Jobcenter)

75100 (Aarhus)

RequestUserMetadataHeader

Hvis jobcentermedarbejder:

OrganisationTypeIdentifier = 8

OrganisationCode = Jobcenterkode / fx 10100

Hvis Kommunalmedarbejder:

 OrganisationTypeIdentifier = 7

 OrganisationCode = Kommunekode

Hvis anden aktør medarbejder:

OrganisationTypeIdentifier = 4

OrganisationCode = CVR nummer


8 (Jobcenter)

75100 (Aarhus)


7 (Kommune)

751 (Aarhus)


4 (Anden aktør)

35669035 (Lucky Star ApS) 


Kald på vegne af borger i forbindelse med selvbetjeningsløsninger

Systemkald hvor det er borger der repræsenteres, typisk i borgervendte selvbetjeningsløsninger (fx i forbindelse med Joblog eller indberetning af selvbooket Booking):

Feltgruppe
Indhold
Indholdseksempel
ActiveOrganisationHeader

OrganisationTypeIdentifier = Kaldende myndighed

OrganisationCode = Kaldende myndighed

2 (A-kasse)

17 (FOA)

RequestUserMetadataHeader

RequestUserType = 1 - Citizen

OrganisationTypeIdentifier = Kaldende myndighed

OrganisationCode = Kaldende myndighed

UserIdentifier = borgers CPR-nummer

1 (Borger)

2 (A-kasse)

17 (FOA)

(CPR nr)

RequestUserType sættes til 1 - Citizen. UserIdentifier i RequestUserMetadata sættes til borgers CPR-nummer.

OrganisationType følger det kaldende system i ActiveOrganisation. OrganisationCode er ikke kritisk i denne sammenhæng, og der valideres ikke på den.

Kald fra STAR systemer på vegne af borgere følger ovenstående mønster


Kald fra STAR systemer på vegne af sagsbehandler fra Jobcenter eller a-kasse

Feltgruppe
Indhold
Indholdseksempel
ActiveOrganisationHeader

OrganisationTypeIdentifier = 5

OrganisationCode = Kaldende system

5 (STAR)

4 (Jobnet)

RequestUserMetadataHeader

RequestUserType = 2 - Caseworker

OrganisationTypeIdentifier = Anvenders myndighed

OrganisationCode = Anvenders myndighedskode

2 (Sagsbehandler)

2 (A-kasse)

17 (FOA)


Valideringer med henblik på sikring af ovenstående sammenhænge

Der oprettes validering på, at OrganisationType i ActiveOrganisation og RequestUserMetadata er ens, når der er tale om kald fra alle andre organisationer end OrganisationType id 5 - STAR. 

For jobcentre udgør Anden aktør og kommunalt ansatte medarbejdere en undtagelse, som gennemgået ovenfor.

Der oprettes IKKE validering på Requestusermetadata, når ActiveOrganisation er en STAR organisation

950.8.2 Indkaldte møder af typer som er a-kasser uvedkommende, kan ikke hentes af a-kasser

En del mødetyper bør ikke kunne ses af a-kassen, og er ikke relevante for planlægning i perioder, hvor a-kassen har kontaktforløb med a-kassen. Derfor oprettes der filtrering så disse mødetyper ikke kommer med ud ved a-kassens hentning af bookings i PersonStatusService.

Indkaldelser a-kasse har adgang til at se:

Der filtreres på InterviewTypeIdentifier

7 - Jobsamtale
8 - Henvisning
9 - Informationsmøde
10 - CV samtale
11 - Formidlingssamtale
12 - Anden samtale
13 - Informationsmøde uden mødepligt
15 - Rådighedssamtale
17 - Jobsamtale med a-kasse


Id

Navn

11. henvendelse til kommunen
2supplerende samtale
31. opfølgningssamtale
4Opfølgningssamtale
5fleksjobopfølgningssamtale
6sygeopfølgningssamtale
7Jobsamtale
8Henvisning
9Informationsmøde
10CV samtale
11Formidlingssamtale
12Anden samtale
13Informationsmøde uden mødepligt
14Anden samtale ifm. opfølgning
15Rådighedssamtale
16Samtale om kontrakten efter integrationsloven
17Fælles Jobsamtale med dagpengemodtager
18Samtale i rehabiliteringsteam

Signatur: Gul baggrund og kursiv filtreres fra ved a-kassens tilgang.

Grå baggrund og overstregning er udgåede værdier.

Særlige krav til test

Test scenarieBerørte systemområder (herunder nye batchjobs*) Identificeret af






* Batchjobs

  • bør testes både med delta og fuldt load,
  • bør hvis der er afhængigheder køres med normalt load fra BI i ét testmiljø i hele testperioden
  • bør testes i samarbejde med teams som har afhængigheder
  • kørselstid, særligt hvis det er en del af NightlyBatch


Konsekvenser for drift/idriftsættelse

I forbindelse med idriftsættelse:

  • Skal der køres et fuldt dataload ved første kørsel af et batchjob - aftal med SF hvornår load skal køres
  • skal der køres konvertering
  • Skal der køres databasescripts for opdatering af tabeller i databasen

Efter idriftsættelse:


Arkitektur- og implementeringsnoter 

Her beskriver PO/FA om arkitekturen og teknikken bag løsningen, om der f.eks. anvendes:

  • Nye dataområder
  • Nye snitflader
  • Nye komponenter
  • Nye miljøer
  • Nye teknologier
  • Nye aftagertyper
  • Eller afvigelser fra principperne
  • Eventuelle behov for reduktion af teknisk gæld skal afdækkes


Der gives en beskrivelse af hvorledes disse tænkes håndteret/implementeret i løsningen og om dette har været vendt med STAR arkitekten.