dfn-aai und dfn-cloud: service provider · pdf filegliederung - shibboleth service provider -...
TRANSCRIPT
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
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