DFN-AAI und DFN-Cloud: Service Provider · PDF fileGliederung - Shibboleth Service Provider -...

Post on 29-Mar-2018

224 views 3 download

Transcript of DFN-AAI und DFN-Cloud: Service Provider · PDF fileGliederung - Shibboleth Service Provider -...

DFN-AAI und DFN-Cloud: Service Provider

Thomas Gebhardt | tubIT | DFN-Cloud Forum, 15.3.2018

Dipl.Inform. Thomas Gebhardt

•  Informatikstudium an der TU-Berlin

•  Studentische Hilfskraft Fraunhofer IPK, Studentische Hilfskraft PRZ/TU-Berlin

•  Wissenschaftlicher Mitarbeiter am PRZ

•  Projektarbeit und Regelbetrieb bei PRZ und tubIT(u.a. Rollenverwaltung TUBIS, TU-Portal, DFN-AAI)

•  Stellvertretende Abteilungsleitung IDM bei tubIT

•  gepard@tubit.tu-berlin.de

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 2

Gliederung

- Shibboleth Service Provider - Grundlagen

- Konfiguration Nextcloud

- User Lifecyle / Theming / User Experience

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 3

Aufgaben des Service Providers

Der Service Provider ist im Kontext der zu schützenden Anwendung/Ressource installiert (i.d.R. Web-Anwendung), seine Aufgaben sind:

•  Zugriffskontrolle zur Anwendung •  Steuerung der Kommunikation zum IDP •  SAML-Profile implementieren •  SAML-Nachrichten des IDP auswerten und Informationen extrahieren •  lokale Richtlinien umsetzen/ zusätzliche Daten einbringen •  Anwendung mit Daten versorgen Quelle: https://shibboleth.net/products/service-provider.html

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 4

Dokumentation, Guides

ShibbolethWiki des Shibboleth Consortium: https://wiki.shibboleth.net/confluence DFN-AAI: https://wiki.aai.dfn.de/de:shibsp SWITCH: https://www.switch.ch/aai/guides/sp/

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 5

Architekturvariante SP - Webserverintegration

•  SP als Webservermodul + Daemon-Prozess implementiert, Steuerung über Konfigurationsdatei und Direktiven in der Webserverkonfiguration (DFN-Cloud bis Mitte 2017)

Ø  Geringe Abhängigkeit zwischen Anwendung und SP-Implementierung

Ø  Mehr Konfiguration (mind. 2 XML-Dateien, httpd.conf)

Ø  https://shibboleth.net/downloads

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 6

SP als Webserver-Modul

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 7

Operating System

Apache/IIS/ngx

mod_proxy

TomcatJbossJetty

...

shibd mod_shib

PHP/CGI

User Attributes

SP als Webserver-Modul

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 8

Operating System

Apache/IIS/ngx

mod_proxy

TomcatJbossJetty

...

shibd mod_shib

PHP/CGI

User Attributes

Architekturvarianten SP - Anwendungsintegration

•  SP als Teil der Anwendung implementiert (i.d.R. mit Hilfe eine Library), Konfiguration über Administrationsoberfläche der Anwendung (in DFN-Cloud, neue und migrierte Instanzen seit Mitte 2017)

Ø  Weniger Konfiguration

Ø  Weniger Flexibilität

Ø  Inzwischen für viele Sprachen/Frameworks verfügbar: Ø  PHP: simpleSamlPHP, https://simplesamlphp.org/, php-saml

, https://github.com/onelogin/php-saml Ø  Java/Spring: Spring Security SAML, https://projects.spring.io/spring-security-saml/ Ø  Python: Python-saml, https://github.com/onelogin/python-saml

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 9

SP in Anwendung integriert (mit php-saml)

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 10

Operating System

Apache/IIS/ngxPHPNextclouduser_samlphp-saml

(OneLogin)

SP in Anwendung integriert (mit php-saml)

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 11

Operating System

Apache/IIS/ngxPHPNextclouduser_samlphp-saml

(OneLogin)

SP Eigenschaften

Ein SP hat: •  Eine Entity-ID (eindeutiger String)

•  Credentials (x509-Zertifikat und Key, die DFN-PKI bietet das passende Zertifikatprofil „Shibboleth SP IDP“ an)

•  Service-Endpunkte (URLs)

•  Einen Satz Metadaten (XML-Datei via URL bzw. DFN-AAI-Metadaten, WebGUI zur Metadatenverwaltung)

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 12

SP Konfiguration in Nextcloud

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 13

SP Konfiguration in Nextcloud

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 14

SP Konfiguration in Nextcloud, Teil 2

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 15

SP Konfiguration in Nextcloud, Teil 2

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 16

SP Konfiguration in Nextcloud, Teil 3

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 17

SP Konfiguration in Nextcloud, Teil 4

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 18

Ø  urn:oid:0.9.2342.19200300.100.1.1 = uid, urn:oid:2.16.840.1.113730.3.1.241 = display name, urn:oid:0.9.2342.19200300.100.1.3 = mail Ø Hey, das war ja gar nicht so schlimm!

Ø Aber: Menü nur verständlich, wenn Abläufe/Protokolle bekannt sind.

Ø  https://apps.nextcloud.com/apps/user_saml

SP Konfiguration in Nextcloud, Teil 4

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 19

Ø  urn:oid:0.9.2342.19200300.100.1.1 = uid, urn:oid:2.16.840.1.113730.3.1.241 = display name, urn:oid:0.9.2342.19200300.100.1.3 = mail Ø Hey, das war ja gar nicht so schlimm!

Ø Aber: Menü nur verständlich, wenn Abläufe/Protokolle bekannt sind.

Ø  https://apps.nextcloud.com/apps/user_saml

SP Metadaten

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 20

Metadatenverwaltung

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 21

Konfigurationsdateien für Variante 1

Ca. 10 Dateien in /etc/shibboleth, die wichtigsten:

•  /etc/shibboleth/shibboleth2.xml -> Definiert EntityID, Sessioneigenschaften, Verbindungseigenschaften, Metadatenquellen, SSO-Eigenschaften, Credentials,....

•  /etc/shibboleth/attribute-policy.xml ->Welche Attribute werden angenommen

•  /etc/shibboleth/attribute-map.xml ->Auf welche Server-Variable wird Attribut abgebildet

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 22

Httpd.conf

Schutz von Anwendungen/Ressourcen durch mod_shib-Direktiven: <Location /interna>

AuthType shibboleth

ShibRequireSession On // Alt. Syntax: ShibRequestSetting requireSession 1

ShibRequireAll On

require orgname phfr

</Location>

Zugriff nur mit gültiger Shibboleth-Session (ShibRequireSession) und alle Rules müssen erfüllt sein (ShibRequireAll). Eine Require-Rule zur Prüfung eines Attributes.

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 23

Dann passiert das...hoffentlich.

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 24

•  The SP detects the user attempting to access restricted content within the resource. •  The SP generates an authentication request, then sends the request, and the user, to the user's IdP. •  The IdP authenticates the user, then sends the authentication response, and the user, back to the SP. •  The SP verifies the IdP's response and sends the request through to the resource which returns the originally

requested content.

Quelle: https://wiki.shibboleth.net/confluence/display/CONCEPT Lizenz: https://creativecommons.org/licenses/by-sa/3.0/

Anmeldung im Browser

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 25

Anmeldung im Browser

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 26

Anmeldung im Desktop-Client

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 27

Anmeldung im Desktop-Client

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 28

Anmeldung im Desktop-Client

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 29

App-Passwörter generieren

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 30

App-Passwörter generieren

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 31

App-Passwörter verwenden

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 32

App-Passwörter verwenden

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 33

Technische Infrastruktur

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 34

User Lifecycle

Ø  Autoprovisioning: Wer darf? Mehrere Konten? Nichtpersonalisierte Konten? Gäste/Externe,

einheitliche Quota? Ø  Provisioning-API:

•  REST-Webservices für Nutzerverwaltung (HTTP-BASIC-AUTH) •  add user, search user, delete user, user info, edit user, disable/enable user, get groups, add/

remove to/from group, subadmin promote/demote, get subadmin groups, weolcome mail

...und Gruppenverwaltung •  create/search/delete groups, get members, get subadmins

...und Apps •  List apps, app info, enable/disable

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 35

Beispiel Provisioning-API

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 36

User Lifecycle Part 2

Ø  Deprovisionierung: you need a plan...

•  Wie lange bleibt das Konto nach dem Ausscheiden einer Person erhalten?

•  Gilt das auch für das Cloud-Konto?

•  Wie lange bleiben geteilte Daten zugreifbar?

•  Mögliche Strategie: •  Nach Karenzzeit Konto deaktivieren (disable user) (Shares sind dann auch deaktiviert),

nach weiterer Wartezeit Löschung.

•  Backup?

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 37

Themes mit der Theming App

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 38

•  „Look and Feel“ der

WebGUI anpassen

•  Automatische Emails ebenfalls

•  Aber nicht Synch-Clients

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 39

Custom Themes + Client Branding

Ø  Developer Documentation für Custom Themes https://docs.nextcloud.com/server/12/developer_manual/core/theming.html

Ø  Branded Clients von Nextcloud, notwendige Informationen u.a:

•  Setup wizard (Windows) •  header background color •  header font •  logo as PNG in two sizes

•  Setup wizard (macOS) •  background image

•  Application logo in PNG format (8 sizes) •  State Icons (black/white/coloured), 5 sizes, states: download, error, information, offline, ok,

pause, sync, warning •  Requirements for Android, iOS different •  More: https://cloud.nextcloud.com/s/Xr9PFeruaGde17U#pdfviewer

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 40

Branded Clients

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 41

Fazit + Fragen

Ø  DFN-Cloud + DFN-AAI: „saubere“ Lösung, zentrale Authentisierung

Ø  Keine Passwörter beim Cloud-Betreiber

Ø  Nutzung vorhandener AA-Infrastruktur (wenn IDP vorhanden)

Ø  Strategische Fragen/Rahmenbedingungen vorher klären

Ø  „Look and Feel“-Anpassungen in verschiedenen Abstufungen

Ø  Es gibt noch zu tun (Bugfixes, Cloudmesh,...)

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 42

Admin GUI User Management

DFN-AAI und DFN-Cloud: Service Provider | Thomas Gebhardt | DFN-Cloud-Forum, 15.3.2018 Seite 43

Das Ziel: Entwicklung, Realisierung und Transfer technologischer Innovationen

Die TU Berlin im Überblick

•  eine der größten technischen Universitäten Deutschlands

•  breites Fächerspektrum

•  internationale Ausrichtung

•  enge Zusammenarbeit von Wissenschaft und Wirtschaft

•  intensive Frauenförderung

•  erfolgreiches Gründerumfeld

•  kontinuierliche Modernisierung der Verwaltung

Seite 44

Seite 45

345

400

2711

2084

2612

126

Professor/innen

Gastprofessor/innen,Lehrbeauftragte

wissenschaftli.Mitarbeiter/innen

TechnischesundVerwaltungspersonal

studentischeBeschäftigte

Auszubildende

•  Landeszuschuss: 321,2 Mio. Euro (2017) •  zusätzliche Drittmittelausgaben 175,5 Mio. Euro (2016) •  35.009 Studierende (Wintersemester 2017/18) •  8356 Beschäftigte (davon 78 Emeriti):

Stand: September 2017