Kunnskapsdata (KUDAF)
- 1 Innledning
- 2 Nøkkel info
- 3 Bakgrunn
- 4 Interessenter
- 5 Brukerhistorie (gjerne sekvensdiagram) ?
- 6 Systemer/tjenester
- 7 Data
- 8 Samhandlingsmønster
- 9 Om involverte API
- 10 Tilgangsstyring og logging
- 11 Forretningsregler
- 12 Behandlingstid/responstid og volum
- 13 Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse
- 14 Flytdiagram ?
- 15 Kommentarer
Innledning
Dette APIet er for å tilgjengeliggjøre kundedata (fra Dynamics/CRM) og ansattdata (fra Azure AD/GraphMs) i form av en enkel API mest tenkt til intern-bruk i SIKT.
API’et er tilgjengelig via Gravitee : sikt-intern-api
Nøkkel info
Initiesering av flyt | Initiert av API bruker | Passiv API |
---|---|---|
Flyt mønster | Synkrone, stateless |
|
Bruk av meldingskø | ingen |
|
Open API | Åpen for intern bruk |
|
IntArk | Bruker Gravitee | APIet er tilgjengelig via Gravitee |
Bakgrunn
Det er et ønske om å tilgjengeliggjøre data i et intern-API, som inneholder kundedata fra CRM (MS Dynamics) og ansattdata fra Azure AD (Azure Graph API). Disse APIene er ganske komplekse, så vi forenkler bruk av de og samler de i ett API (Sikt intern API). I tillegg hentes noe av organisasjonsstrukturen fra LDAP (seksjoner).
Interessenter
Andreas Åkre Solberg ved Team datadrevet Sikt (orden i eget hus)
Brukerhistorie (gjerne sekvensdiagram) ?
Systemer/tjenester
Data hentes fra CRM, Azure AD og LDAP (Ldap-service). Gravitee i IntArk og Feide JWT token brukes.
Data
Samhandlingsmønster
Om involverte API
Azure Graph API:
https://learn.microsoft.com/en-us/graph/use-the-api
https://learn.microsoft.com/en-us/graph/api/overview?view=graph-rest-1.0
https://learn.microsoft.com/en-us/graph/sdks/choose-authentication-providers?tabs=Java
https://learn.microsoft.com/en-us/graph/query-parameters?tabs=http
Azure Dynamics API:
Ldap-service
https://sikt.atlassian.net/wiki/spaces/IPM/pages/2610102276
I syntaks (query parameter) ligner de to Azure APIene, men det er forskjell på nøyaktig hva de støtter.
Tilgangsstyring og logging
Standard logging til Humio som viser bruk av API’et og eventuelle feil situasjoner
Tilgangstyring:
Via API nøkler via Gravitee
Feide (Feide JWT token)
Forretningsregler
-
Behandlingstid/responstid og volum
På nåværende tidspunkt er ikke tjenesten i aktiv bruk i noe særlig grad.
Feilhåndtering, konsekvenser av feil og overordnet risikoanalyse
Hva skjer ved overload i kø?
Hva skjer med ufullstendige meldinger?
Inneholder meldingene personopplysninger?
Noe om viktige feil/situasjoner som må passes ekstra på (som kan ha stor konsekvens). F.eks : Oppgavene som aldri vil publiseres, eller Oppgaver som ikke skal publiseres, publiseres.
Flytdiagram ?
Kommentarer
Department/seksjon er kun et tekstfelt i Azure AD. Derfor hentes seksjoner fra LDAP.
Autentisering
Støtter per nå BÅDE Gravitee API key OG Feide JWT token
Tanken er etterhvert at JWT tokenet skal inneholde EduPrincipalName slik at vi kan sjekke om personen som har autentisert seg er i Sikt (avhengig av scope).
https://docs.feide.no/data_sharing/jwt_token_exchange.html
Unittester
Unittester finnes på mule-workspacen i Postman, i mappen Sikt API app/Unit-tester.