dataporten workshop

46
Dataporten – sikker og enkel deling av data i UH-sektoren UNINETT Fagdager 2. mai 2017 [email protected] Andreas Åkre Solberg [email protected] Sigmund Augdal

Upload: andreas-akre-solberg

Post on 28-Jan-2018

52 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Dataporten Workshop

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

UNINETT Fagdager 2. mai 2017

[email protected] Åkre Solberg

[email protected] Augdal

Page 2: Dataporten Workshop

Dataporten Workshop 13:00 - 17:00

Deltakerene: noen uten pålogging til Dataporten?

Introduksjon

Om Dataporten

OAuth og OpenID Connect

API-er med mer.

Hva er nytt og hva er planer videre…

Spørsmål, diskusjon med mer underveis.

Hands-on med OAuth, OpenID Connect og API-er.

2

Page 3: Dataporten Workshop

Hva er Dataporten? Dataporten har vært mulig å realisere på grunn av Feide, og bygger videre på plattformen for å dekke nye behov.

Nytt grensesnitt mot tjenesteleverandører som også egner seg for datatilgang. OAuth 2.0 / OpenID Connect.Samme token som utleveres ved autentisering kan brukes til å nå alle datakildene tjenesten har tilgang til. Stort potensial og forenkling for tjenesteutviklere.

Gruppe API. Mer kontekst om brukeren.

Bedre støtte for mobilapplikasjoner

100% selvbetjening. Utviklervennlig. Alle kan opprette tjenester. Ingen betaling kontrakt eller manuell godkjenning. Økt fokus på selvbetjening.

Tilgangsstyring til API-er (også tredjeparts API-er)

Brukergrensesnitt for å forespørre og godkjenne tilgang mellom applikasjoner og datakilder.

Flere autentiseringskilder:

Feide

ID-porten

eduGAIN (Internasjonal pålogging)

Gjestebrukere (openidp.feide.no)

Sosiale nettverk (Facebook, LinkedIn, Twitter)

Testbrukere

Page 4: Dataporten Workshop

OpenID Connect

OAuth 2.0

REST APIHTTP

Dataporten

Autentisering

IDporten gjestereduGAIN

Grupper…

API GatekeeperHTTP

Tjeneste backend Datakilde 1 Datakilde 2

Feide

Tjeneste 2Mobil app

Tjeneste 1Web app

Tjeneste 3

Datakilde 3

Grenseflate 1Tjenester

100% selvbetjening

Grenseflate 2API / Datakilder

100% selvbetjening

Grenseflate 3Autentiseringskilder

Page 5: Dataporten Workshop

5

100% selvbetjening

Page 6: Dataporten Workshop

6

Valg av login providere. Blandt annet ID-porten

Page 7: Dataporten Workshop

Litt mer om ID-portenKrever manuell godkjenning på organisasjonsnivå.

Mulighet for fakturering ved mye bruk.

Fødselsnummer leveres ikke videre til tjenesten by default.

Planer om oppslagstjenester f.eks. mot kontakt og reservasjonsregisteret og/eller folkeregisteret. Må utredes. På planen for i år.

Mulig med uthenting av data fra kilder basert på fødselsnummer uten at tjenesten får utlevert fødselsnummer.

7

Page 8: Dataporten Workshop

8

Åpent for alle Studenter og utviklere

kan også være tjenestetilbydere

Page 9: Dataporten Workshop

9

OAuth 2.0

Page 10: Dataporten Workshop

OAuth 2.0 and Bearer Tokens

Authorization requesthttps://auth.dataporten.no/oauth/authorization?response_type=code&client_id=1234

User logs in

User accept consent

User is redirected back to the service provider with a token (sometimes via temporary code)A token looks like this:f9ab4387-0cf2-457f-b83c-712b0c99e4b9

Service provider uses token when accessing REST APIs, such as the userinfo or groups API:GET /api/something HTTP/1.1Host: api.dataporten.noAuthorization: Bearer f9ab4387-0cf2-457f-b83c-712b0c99e4b9

Page 11: Dataporten Workshop

OpenID Connect

Identity layer on top of OAuth 2.0

Standardises userinfo endpoint

Sends cryptographic signed token with user identity along with the Oauth token.

JWT - JSON Web Token (various signed messages in OpenID Connect)

Page 12: Dataporten Workshop

12

Grupper

Page 13: Dataporten Workshop

13

OpenID Connect

OAuth 2.0

REST APIHTTP

Dataporten

Autentisering

IDporten gjestereduGAIN

Grupper…

API GatekeeperHTTP

Tjeneste backendDatakilde 1

Datakilde 2

Feide

Tjeneste 2Mobil app

Tjeneste 1Web app

Tjeneste 3

Datakilde 3

FSAT Feideorgunit

FeideGO

adhocGroupEngine

UH-AD?

BAS?

OrgOrgunit

undervisnings-gruppe

basisgruppe

kullklasse

studieprogramstudieretning

emner

organisatoriske grupperprosjektermed mer

Page 14: Dataporten Workshop

Gruppemodell

Hent ut gruppene den påloggede brukeren er medlem i.

Gruppe API

GruppetypeGruppe MedlemskapPerson

Andreas medlemsom ansatt i

avdeling for system og mellomvare

organisatorisk grupe

Page 15: Dataporten Workshop

ad-hoc grupper

Alle kan opprette ny grupper, og invitere inn andre medlemmer.

Page 16: Dataporten Workshop

Dataporten + Mobil-apps Studentbevis App FSAT Dataporten gir – støtte for mobil applikasjon – tilgangsstyring til FS semesterdata– gjenbrukbare API-er for semesterdata til andre tjenester

16

Sesjonsvarighet 8 timer eller 2 år OAuth gir mulighet for innlogging via mobil. › In-app browser vs. › System browser + custom url scheme

Page 17: Dataporten Workshop

17

status.dataporten.no Status utrulling av Dataporten i høyere utdanning.

Grunnopplæringa.

Page 18: Dataporten Workshop

for sluttbrukeren

Page 19: Dataporten Workshop

19

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 20: Dataporten Workshop

20

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 21: Dataporten Workshop

21

Samtykke

Erstatter Feides info om overføring av attributter.

Page 22: Dataporten Workshop

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 23: Dataporten Workshop

23

Flere datakilder

Page 24: Dataporten Workshop

OpenID Connect

OAuth 2.0

REST APIHTTP

Dataporten

Autentisering

IDporten gjestereduGAIN

Grupper…

API GatekeeperHTTP

Tjeneste backend Datakilde 1 Datakilde 2

Feide

Tjeneste 2Mobil app

Tjeneste 1Web app

Tjeneste 3

Datakilde 3

Grenseflate 1Tjenester

100% selvbetjening

Grenseflate 2API / Datakilder

100% selvbetjening

Grenseflate 3Autentiseringskilder

Page 25: Dataporten Workshop

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.

25

Page 26: Dataporten Workshop

26

Litt om API Gatekeeper

Page 27: Dataporten Workshop

27

Når man får en access token, så kan denne benyttes mot både Dataporten 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 28: Dataporten Workshop

28

Klient

API Gatekeeper

Page 29: Dataporten Workshop

En endret IKT-arkitektur – enklere tjenesteutvikling og verdiskapning

Enkelt grensesnitt

Autentisering og datakilder i norsk utdanningssektor

Dataporten

Autentisering

IDporten gjestereduGAIN

Grupper FS Læringsanalyse Open badges

Feide

Tjeneste 2Mobil app

Tjeneste 1Web app

Tjeneste 3

Innholds-leverandør 1LMS Cristin

Tilgang til et stort harmonisert, attraktivt marked med lave eller fraværende integrasjonskostnader

Motivasjon til å gjøre autorative datakilderstandardiserte, gjenbrukbare, tilgjegenlige, forhindre leverandørbindinger

Digital eksamen

IaaSPaaS

Page 30: Dataporten Workshop

Å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.

30

Page 31: Dataporten Workshop

UtloggingUtlogging i Dataporten.

Applikasjon bør ha en knapp for utlogging som:

Avslutter lokal sesjon,

og deretter videresender brukeren til en utloggingsside hos Dataporten.

Der vil Feide-sesjonen avsluttes, og andre Feidetjenester,

men ikke andre Dataporten-tjenester.

Mobil app, langvarige sesjoner…

31

Page 32: Dataporten Workshop

32

Hva er nytt! og planer videre…

Page 33: Dataporten Workshop

33

Delegering av rettigheter til grupper for en applikasjon eller API

Page 34: Dataporten Workshop

34

International users

Page 35: Dataporten Workshop

35

Pilotering med integrasjon med UH-AD Også aktuelt å eksperimentere med API-er mot BAS:

Cerebrum, nytt felles BAS

Page 36: Dataporten Workshop

Mer samordnet sluttbrukeropplevelseFeide + Dataporten

På kort sikt: loginflyt for sluttbrukere

På lengre sikt: komplett samordning, alt fra kundeportal, styringsmodell, support, finansiering med mer.

36

Page 37: Dataporten Workshop

Grunnopplæringa

Grunnopplæringa var med i piloten.

Ingen dato enda for lansering (enda).

Vil involvere samarbeid med IKT-senteret

37

Page 38: Dataporten Workshop

Signerte tokensØnsker mulighet for å kunne signere tokens med rettigheter for spesifikke formål, som kan sendes og valideres direkte uten å benytte API Gatekeeper.

38

Page 39: Dataporten Workshop

Operasjonelle utvidelser for å øke tilgjengelighet

Multiple datasentre

39

Datasenter 1

AuthEngine Core API

Cassandra Cassandra Cassandra

API Gatekeeper

Group engine

Datasenter 2

AuthEngine Core API

Cassandra Cassandra Cassandra

API Gatekeeper

Group engine

LB LB

TrondheimBergen

OsloTromsø

Page 40: Dataporten Workshop

40

Biblioteker og demokode

Page 41: Dataporten Workshop

41

docs.dataporten.no

Page 42: Dataporten Workshop

Open Source applikasjoner Dataporten + Docker

DokuWiki

MediaWiki

Wordpress

Drupal

Mattermost

GitLab

Redmine

WekanBoard

OwnCloud

Jupyter Notebook

Flarum

Etherpad

Rocket.chat42

Page 43: Dataporten Workshop

Flarum

43Etherpad

Page 44: Dataporten Workshop

Rocket.chat

44

Page 45: Dataporten Workshop

Libraries 45

Page 46: Dataporten Workshop

Docker + Dataporten

Well suited for automation

Well suited for simple configuration using environment variables

46