dataporten - universitetet i bergenlogging, logstash elasticsearch kibana 32. openid connect oauth...

33
Dataporten – sikker og enkel deling av data i UH-sektoren IT-forum Solstrand 4. mai 2016 [email protected] Andreas Åkre Solberg

Upload: others

Post on 11-Jun-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

Dataporten – sikker og enkel deling av data i UH-sektoren

IT-forum Solstrand 4. mai 2016

[email protected] Åkre Solberg

Page 2: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

2

Feide

ServiceProvider

SAML 2.0

WebSSOSAML 2.0 is specialized for Single Sign-On

SAML 2.0: KUN autentisering + SSO

Generelt behov for mer data. Spesielt grupper.

Behov for tilgangsstyring til APIer

Vanskelig å tilfredstille nye behov med Feides tekniske rammer.

Dataporten

Fokus på data. API-er og ikke kun WebSSO.

Ny teknologi.

Fleksibel og utvidbar.

Page 3: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

OpenID Connect

OAuth Server

OAuth protectedHTTP

Dataporten

Authentication

IDporten guestseduGAIN

Groups

FSFeide

…PeopleSearch

adhoc

ClientsApplications Services

OAuth protectedHTTP

Data provider

Service Y

Service Z

API Gatekeeper

FeideFeide

platformAPI

User info

Page 4: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

Grensesnitt mot tjenester Nytt, enklere grensesnitt

Nytt teknisk grensesnitt mot Dataporten, versus Feide.

Basert på OAuth 2.0, OpenID Connect og HTTP API-er.

OpenID Connect / OAuth 2.0.

Fra XML, XMLsig og X.509

Til JSON, REST og JSON Web Token.

OAuth 2.0 er en autorisasjonsprotokoll for utsteding av tokens som gir rettigheter til å benytte API-er.

Page 5: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

5

100% selvbetjening

Page 6: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups
Page 7: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

7

Oppsett av mulige innloggingsmåter per tjeneste

Page 8: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

8

Page 9: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

9

Testet, ikke klart enda…

Kobling til de fleste utdanningsinstitusjoner i Europa (høyere utdanning)

Dataporten avlaster mye av kompleksiteten for tilkobling til eduGAIN.

SAML 2.0 metadata publisering og konsumering/aggregering

Attributtsemantikk

Åpne for nye tjenester…

eduGAIN

Page 10: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

10

Pålogging via IDporten via deres produksjonsløsning.

Ikke enda koblet til kontaktregisteret (gir epost og mobil)

Teknisk ganske greit. ID-porten benytter også SAML 2.0, samme som Feide.

Må avklares rundt policy, betaling med mer..

ID-porten

Page 11: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

11

Page 12: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

12

Facebook, LinkedIn, Twitter

Egen løsning for selvregistrering av brukere

Gjestebrukere

Page 13: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

Modell for juridisk grunnlag for utlevering av personlige data

To hovedklasser:

Personlig samtykke og frivillig bruk. (ikke barneskole)

Obligatorisk bruk i undervisningen: databehandleravtale med mer.

Disse to klassene bygges inn i Dataporten.

Page 14: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

14

Åpent for alle Studenter kan også være tjenestetilbydere

Page 15: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

Grupper

Gruppe API for tjenester.

Enkel gruppemodell, abstraksjon.

Organisatoriske grupper fra Feide (org og orgUnit)

FS: kull, klasse studieprogram, studieretning og emne.

Ad-hoc grupper

Mulighet for kobling mot flere kilder i fremtiden.

Page 16: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

OpenID Connect

OAuth Server

OAuth protectedHTTP

Dataporten

Authentication

IDporten guestseduGAIN

Groups

FSFeide

…PeopleSearch

adhoc

ClientsApplications Services

OAuth protectedHTTP

Data provider

Service Y

Service Z

API Gatekeeper

FeideFeide

platformAPI

User info

Page 17: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

17

Litt om API Gatekeeper

Page 18: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

18

Når man får en access token, så kan denne benyttes mot både Connects interne APIer, men også mot tredjeparts APIer via API Gatekeeperen.

En access token er knyttet til et sett av scopes. En liste av scopes kan for eksempel være:userinfo, feide, email, gk_mediasite, gk_mediasite_admin

OAuth 2.0 Access Token

Page 19: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

19

Klient

API Gatekeeper

Page 20: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

API Library

Langsiktig mål om et bredt tilbud av API-er som bidrar til å minimere integrasjonskostadene ved oppbygging av nye tjenester – både sektorens egne tjenester og eventuelle kommersielle tredjeparts tjenester.

20

Page 21: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

Åpne data

Data hos utdanningsinstitusjoner bør deles by default.

Viktig for fremtidig verdiskapning.

Ikke vent på forespørsler eller konkrete behov!

Kan også brukes internt!

Mye enklere å håndtere datasett som ikke behøver aksesskontroll.

21

Page 22: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

22

Page 23: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

23

Service X

Fra en enkel og fastlåst tjenestearkitektur

Page 24: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

24

Mot en mer fleksibel arkitektur

Service XBusiness Logic

Backend

Data

API

Custom view

Service Y

Service XFrontendMobile app

Andredatakilder

Page 25: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

Sesjonsvarighet 8 timer eller 2 år

OAuth gir mulighet for innlogging via mobil.

› In-app browser vs. › System browser + custom url scheme

25

Page 26: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

for sluttbrukeren

Page 27: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

27

Valg av organisasjon

erstatter Feides valg av org.

inkrementell søk

sortering etter avstand. logoer og koordinater.

Legger også til alternative påloggingsvalg: sosiale nett og IDporten.

Introduserer internasjonal pålogging med selektor for land.

Vises veldig skjelden. Kun første gang per bruker per maskin/nettleser

Page 28: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

28

Kontovelger

innfører click-trough for SSO

oppmerksomhet rundt hvilken rollen man logger inn på tjenesten som.

I fremtiden kan dette representere rolle-valg.

En variant av det å huske hvilken institusjon man valgte å logge inn med forrige gang, og samtidig holder åpent muligheten for å velge annerledes denne gangen.

Page 29: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

29

Samtykke

Erstatter Feides info om overføring av attributter.

Page 30: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

Personlige brukeridentifikatorer for utdanningssektoren

30

Page 31: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

31

Page 32: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

behind the scene

CI - jenkins

Absolutt all funksjonalitet eksponert via APIer, også interne

Auth engine, core apis, group engine.

Frontends SPA/javascript web apps som benytter APIene direkte.

Docker

Cassandra database cluster

Logging, logstash elasticsearch kibana

32

Page 33: Dataporten - Universitetet i BergenLogging, logstash elasticsearch kibana 32. OpenID Connect OAuth Server OAuth protected HTTP Dataporten Authentication IDporten eduGAIN guests Groups

OpenID Connect

OAuth Server

OAuth protectedHTTP

Dataporten

Authentication

IDporten guestseduGAIN

Groups

FSFeide

…PeopleSearch

adhoc

ClientsApplications Services

OAuth protectedHTTP

Data provider

Service Y

Service Z

API Gatekeeper

FeideFeide

platformAPI

User info