Serviceorientierte Architekturen (SOA)



Ähnliche Dokumente
Identity Management und Berechtigungen

LMU. SOA Governance. Vorlesung am 7. Juli Dr. Frank Sarre. Lehr- und Forschungseinheit für Programmierung und Softwaretechnik

Inhalt Einführung Was ist SAML Wozu braucht man SAML Wo wird SAML verwendet kleine Demo SAML. Security Assertion Markup Language.

SECURITY DESIGN PATTERN FÜR EHEALTH-PLATTFORMEN

Thema: Web Services. Was ist ein Web Service?

1 Dataport 12.Juli 2007 Internationale Standards zu Identity Management. Deckblatt. Harald Krause

Infrastruktur: Vertrauen herstellen, Zertifikate finden

Informatik für Ökonomen II HS 09

Programmiertechnik II

Key Management für ETCS

Federated Identity Management

-Verschlüsselung viel einfacher als Sie denken!

-Verschlüsselung mit Geschäftspartnern

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Nutzung und Erweiterung von IT-Standards zur Realisierung von Authentifizierung und Zugriffsschutz für Geo Web Services

Identity as a Service

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Technische Universität München. SAML/Shibboleth. Ein Vortrag von Florian Mutter

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Workflow, Business Process Management, 4.Teil

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

OP-LOG

WS-Security. Thies Rubarth. Sicherheitskonzepte in global verteilten Anwendungen. 21. Sep 2007 ACM/GI Localgroup #216

Service-Orientierte Architekturen

smis_secure mail in der srg / pflichtenheft /

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Anleitung Thunderbird Verschlu sselung

Man liest sich: POP3/IMAP

Verschlüsselung

Programmierhandbuch SAP NetWeaver* Sicherheit

Ein Hinweis vorab: Mailkonfiguration am Beispiel von Thunderbird

Horstbox VoIP. Stefan Dahler. 1. HorstBox Konfiguration. 1.1 Einleitung

Firewalls für Lexware Info Service konfigurieren

Web Service Security

Öffnen Sie den Internet-Browser Ihrer Wahl. Unabhängig von der eingestellten Startseite erscheint die folgende Seite in Ihrem Browserfenster:

Windows Server 2008 für die RADIUS-Authentisierung einrichten

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Kundeninformationen zur Sicheren

Sichere Kommunikation mit Ihrer Sparkasse

SharePoint Demonstration

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Benutzeranleitung Superadmin Tool

Containerformat Spezifikation

Anmeldung, Registrierung und Elternkontrolle des MEEP!-Tablet-PC

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Containerformat Spezifikation

FTP-Leitfaden RZ. Benutzerleitfaden

Firewalls für Lexware Info Service konfigurieren

Clientkonfiguration für Hosted Exchange 2010

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Virtual Private Network. David Greber und Michael Wäger

DIRECTINFO 5.7 SICHERHEITSKONZEPTE FÜR BENUTZER, INFORMATIONEN UND FUNKTIONEN

SOA Security in der Praxis Entwurfsmuster für eine sichere Umsetzung

Sichere Kommunikation mit Ihrer Sparkasse

5.3 Das vrealize-automation-rollenkonzept

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

AlwinPro Care Modul Schnittstelle TV-Steuerung

Web Services und Sicherheit

Erste Vorlesung Kryptographie

Datenempfang von crossinx

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

-Verschlüsselung Vorrausetzungen

Identity & Access Management in der Cloud

ebox Bürger: Bedienungsanleitung für die Partnereinrichtungen

Anleitung zum Prüfen von WebDAV

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Sichere s. Kundeninformation zur Verschlüsselung von s in der L-Bank

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

PCC Outlook Integration Installationsleitfaden

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

White Paper. Installation und Konfiguration der PVP Integration

Berichte für Domino-Infrastrukturen


BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

SSZ Policy und IAM Strategie BIT

Neuerungen bei Shibboleth 2

Stammtisch Zertifikate

Sparkasse Vogtland. Secure Datensicherheit im Internet. Kundenleitfaden. Sparkasse Vogtland. Kundeninformation Secure 1

SDD System Design Document

Installation & Konfiguration AddOn Excel Export Restriction

Thunderbird Portable + GPG/Enigmail

Verteilte Systeme. Übung 10. Jens Müller-Iden

Treckerverein Monschauer Land e.v.

Infinigate (Schweiz) AG. Secure Guest Access. - Handout -

Flexagon CLOUD Plattform für den Anbieterwechsel, und für weitere Order- und Entstör Schnittstellen

Import des persönlichen Zertifikats in Outlook 2003

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil C3:

Anforderungen an die HIS

-Verschlüsselung

Transkript:

Serviceorientierte Architekturen (SOA) Identity Management und Sicherheit Folie 236

Ausgangssituation (1) Web-Services und die verwendeten Protokolle bieten in der grundlegenden Form keine Sicherheitsmechanismen In der Praxis besteht immer die Notwendigkeit, dass Services gewissen Nutzungsbeschränkungen unterliegen Beispiel nutzt nutzt Bankkunde Banking Portal Benutzerdaten Benutzerrechte Banking-Anwendung stellt Anwenderfunktionen bereit Web-Services Backend Folie 237

Ausgangssituation (2) Erweitertes Beispiel registriert in Bankmitarbeiter nutzt Benutzerverzeichnis nutzt nutzt Bankkunde Banking Portal Benutzerdaten Benutzerrechte Banking-Anwendung stellt Anwenderfunktionen bereit Web-Services Backend Folie 238

Komplexes Beispiel: Elektronische Fallakte Quelle: http://www.fallakte.de/images/stories/pdf/spezifikationen/efa1.2-sicherheit_und_datenschutz/efa1.2-sicherheitskonzept-v1.2.0.12.pdf Folie 239

Sicherheitsanforderungen (1) Anforderungen mit höchster Priorität Authentifizierung/Authentisierung Autorisierung Vertraulichkeit Integrität Weitere Anforderungen Unleugbarkeit Vorgang ist zweifelsfrei nachvollziehbar und kann nicht abgestritten werden Verfügbarkeit Denial of Service muss verhindert werden Auditing Protokollierung und Nachvollziehbarkeit Folie 240

Sicherheitsanforderungen (2) Authentifizierung / Authentisierung Authentifizierung ist die Verifikation einer behaupteten Identität Authentisierung ist die Vorlage eines Nachweises der eigenen Identität Dieses Ziel erreicht man üblicherweise durch Identity Management und Zertifikate Autorisierung Festlegung bzw. Prüfung, ob eine Subjekt eine Aktion überhaupt ausführen darf bzw. welche Aktionen ein Subjekt ausführen darf Dieses Ziel erreicht man üblicherweise durch Identity Management in Verbindung mit Rollen und Rechten Folie 241

Sicherheitsanforderungen (3) Vertraulichkeit Informationen und Daten, die innerhalb einer Organisation und über Organisationsgrenzen hinweg verschickt werden, dürfen nicht durch unbefugte Dritte gelesen werden können. Dieses Ziel erreicht man üblicherweise durch Verschlüsselung. Integrität Die übermittelten Informationen müssen unversehrt übermittelt werden können, bzw. dürfen zumindest nicht unbemerkt verändert werden können. Dieses Ziel erreicht man üblicherweise durch Signaturen. Folie 242

Identity Management (1) Identität Systemobjekte haben in der Regel eine eindeutige Kennzeichnung und individuelle Attribute Daraus definiert sich eine sog. Identität (engl. Identity) Objekttypen: Benutzer Maschinen Services Üblicherweise sind einer Identität verschiedene Rollen zugewiesen An diesen Rollen hängen in der Regel definierte Rechte, die damit einer Identität zugewiesen werden Folie 243

Identity Management (2) Beispiele für Identitäten Benutzer in einem Active Directory (AD) oder LDAP-Verzeichnis Computer in einem AD oder LDAP-Verzeichnis Benutzer in einer Benutzerdatenbank einer Anwendung Beispiele für Rollen Systemadministrator Benutzer Finanzbuchhaltung Administrator Finanzbuchhaltung Patient Beispiele für Rechte Benutzer anlegen Konten in der Finanzbuchhaltung anlegen Konto bebuchen Folie 244

Identity Management (3) Identity Management innerhalb einer Organisation Verteilte Benutzerverwaltung in verschiedenen Datenbanken der unterschiedlichen Anwendungen Technisch ist es heute möglich, eine zentrale Benutzerdatenbank zu führen (z.b. mit LDAP oder AD) Die anwendungsbezogenen Rechte werden in der Regel in den einzelnen Anwendungen vergeben Meistens hat der Benutzer zusätzlich zum Verzeichnisdienst eine eigene Repräsentation im Anwendungssystem, in dem seine anwendungsspezifischen Einstellungen hinterlegt sind Folie 245

Identity Management (4) Identity Management über Organisationsgrenzen hinweg In einer SOA werden auch Services anderer Organisationseinheiten (Handelspartner, unabhängige Ressorts) genutzt, die in einem anderen technischen Umfeld existieren Es besteht kein direkter Zugriff auf das Identitätsmanagement des externen Services bzw. umgekehrt kann der Service nicht auf des Identitätsmanagement des Consumers zugreifen Lieferanten Produktion Verwaltung Verkauf Kunden Federated Identity Management Folie 246

Identity Management (5) Federated Identity Management Die Verantwortung für alle Identitäten einer Organisationseinheit obliegt der jeweiligen Organisationseinheit Die Organisationseinheiten vertrauen sich gegenseitig Der Service Provider hat keine Informationen über den Benutzer außer seine sog. Security Credentials, die bei Nutzung des Services übergeben werden Entweder der Service Provider akzeptiert die Credentials des Nutzers ohne weitere Prüfung oder lässt diese bei der zuständigen Organisationseinheit überprüfen Diese ist dann in der Rolle eines sog. Identity Providers (IdP) Identity Provider können auch vertrauenswürdige Dritte sein Folie 247

Identity Management (6) Security Credentials Übliche Security Credentials sind Benutzername / Passwort X.509 Zertifikat Kerberos-Ticket SAML-Token Single Sign On Jede Identität, in diesem Fall üblicherweise ein Benutzer, soll sich nur ein Mal am System anmelden und dann alle Anwendungen und Services nutzen können, für die er eine Berechtigung hat Eine Technologie, die diese Zielsetzung im SOA-Umfeld unterstützt ist SAML (Security Assertion Markup Language) Folie 248

SAML (1) Umsetzung des Federated Identity Management durch SAML SAML ist ein OASIS-Standard (http://saml.xml.org/saml-specifications) Aktuelle Version 2.0 Profiles Kombinationen von Assertions, Bindings und Protocols, um einen bestimmten Anwendungsfall zu unterstützen Quelle: XML-Spektrum 5/2007 SAML 2.0, Ein Tutorium Bindings Mapping von SAML Protocols auf Standard- Nachrichten- und Kommunikationsprotokolle Protocols Anfrage- und Antwortnachrichten, um Assertions zu bekommen Assertions Authentifizierungs-, Attributs- und Berechtigungsinformationen Folie 249

SAML (2) Einführendes Beispiel Elektronische Fallakte (efa) Spezifikation der Sicherheitsarchitektur Zahlreiche Downloads unter www.fallakte.de Folie 250

SAML (3) Assertion Bestätigt die Authentizität eines Subjektes, die ein IdP einem Service garantiert Liefert die Information, wie ein Subjekt authentifiziert wurde Liefert weitere Attribute über das Subjekt Dazu gibt es mehrere Statement Typen Authentication Attribute Autorization Decision Authentifzierungsmethode Hinterlegung beliebiger Attribute Rechte des Subjekts Weitere Informationen zur Gültigkeit einer Assertion z.b. Zeitraum der Gültigkeit oder berechtigter Nutzer der Assertion Folie 251

SAML (4) Protocols Insgesamt 6 definierte Abfolgen von Abfragen und Bestätigungen Die wichtigsten sind: Assertion Query and Request Anfrage neuer Assertions Authentication Request Prüfung einer bestehenden Assertion Artifact Resolution Abfrage einer Assertion, die nicht direkt sondern nur als Verweis übergeben wurde Single Logout (Beinahe) simultaner Logout aus verschiedenen aktiven Sessions Folie 252

SAML (5) Bindings SOAP 1.1 SAML-Nachricht über SOAP HTTP Redirect SAML-Nachricht über HTTP-Redirect HTTP Post SAML-Nachricht base64-encoded in HTML-Formularen HTTP Artifact Referenz bzw. Adresse einer SAML-Nachricht SAML URI Referenz bzw. Adresse einer Assertion Folie 253

SAML (6) Profiles Insgesamt 13 Profile für verschiedene Einsatzszenarien von SAML In einem Profil wird eine Kombination von Assertions, Bindings und Protokollen für den jeweiligen Anwendungszwecke empfohlen Beispiel: Web Browser SSO Profile Ein Internet-Nutzer greift auf Ressource eines Serviceproviders zu Dazu muss er sich vorher bei einem Identityprovider authentisieren oder der Serviceprovider leitet eine noch nicht erfolgte Authentisierung seinerseits ein Dieser Vorgang erzeugt eine Assertion, die der Serviceprovider akzeptiert Die Implementierung erfolgt mit Authentication Request Protocol in Verbindung mit HTTP Redirect, HTTP POST oder HTTP Artifact Binding Folie 254

SAML (7) Verwendung digitaler Signaturen Um sicherzustellen, dass eine Assertion gültig und authentisch ist, signiert der IdP die Assertions Standard: Signaturen mit X.509-Zertifikaten Signatur wird in einer asymmetrischen Verschlüsselungsverfahren (Public Key Verfahren) erzeugt Folie 255

SAML (8) Asymmetrische Verschlüsselung Verwendung eines Schlüsselpaares: Öffentlicher Schlüssel (public key) Privater Schlüssel (private key) Verschlüsselung von Nachrichten durch Verwendung des öffentlichen Schlüssels des Empfängers. Nur mit dem privaten Schlüssel können die Nachrichten entschlüsselt werden. Signatur einer Nachricht durch Verschlüsselung eines Hash-Wertes der Nachricht mit dem privaten Schlüssel des Absenders. Der Empfänger erzeugt seinerseits den Hash-Wert der Nachricht und vergleicht diesen mit dem entschlüsselten Hash-Wert, aus der Nachricht, der mit Hilfe des öffentlichen Schlüssels des Absenders entschlüsselt wurde. Anhand der Signatur lässt sich die Integrität einer Nachricht überprüfen Folie 256

SAML (9) Zertifikate und Certification Authorities Bei der Übermittlung einer signierten Nachricht wird auch ein Zertifikat übermittelt, das Informationen über den Aussteller des Zertifikats und den öffentlichen Schlüssel des Absenders enthält. Zertifikate zur Bestätigung des öffentlichen Schlüssels werden von einer sog. Certification Authority (CA) ausgestellt. Dieser CA müssen sowohl Sender als Empfänger von Nachrichten vertrauen. Anhand eines Zertifikats kann der Nachrichtenempfänger prüfen, ob der behauptete Benutzer und damit der übermittelte Schlüssel authentisch ist. CAs können externe Dritte sein, z.b. Verisign. Es können aber auch firmenintern eigene Zertifikate erstellt und herausgegeben werden. Exkurs zu Signaturen Folie 257

Berechtigungen (1) Entscheidung, einen Service nutzen zu dürfen Bei Aufruf eines Service muss geprüft werden, ob der Consumer die Berechtigung dazu hat Policy Enforcement Point Ein Service kennt in der Regel keine User oder Berechtigungen, d.h. die Entscheidung muss außerhalb des Service getroffen werden Policy Decision Point Eine Autorisierung kann verschiedenen Subjekttypen zugeordnet werden Benutzer Anwendung/Service Maschine Es wird ein Regelwerk benötigt, mit dem Berechtigungen definiert und abgefragt werden können Folie 258

Berechtigungen (2) XACML (extensible Access Control Markup Language) Beschreibung von Autorisierungsinformationen nach einem definierten Schema Verwendet SAML Beispielszenario Quelle: http://www.iam-wiki.org/xacml (nicht mehr online) Wichtige Schritte Schritt 1: Authentisierung Schritt 3: liefert User-SAML-Token Schritt 5: Autorisierung Folie 259

Identity Management (7) Weitere Federated Identity Management Frameworks Liberty ID-FF 1.2 Zusammenschluss verschiedener Organisationen und Firmen, um ein weltweites Identity Management mit Single Sign On für das E-Business aufzubauen Schaffung eines Circle of Trust Mapping von Identitäten anhand von Pseudonymen Viele Aspekte sind bereits in SAML 2.0 eingeflossen, deshalb wird SAML genutzt und unterstützt Shibboleth Projekt Umsetzung von SAML für Webanwendungen Erweiterungen um Privacy-Funktionen Single Sign On und Attributaustausch Folie 260

Sicherheit für Web-Services (1) Transport Layer Security Die Verbindung zwischen Consumer und Serviceprovider wird auf der Ebene der Transportprotokolle verschlüsselt Verwendung von HTTPS bzw. SSL/TLS Aufbau eines sicheren Kanals (Secure Channel) Vorteil ist die für die Services transparente Verschlüsselung Nachteilig ist, dass nur eine Punkt-zu-Punkt-Sicherheit möglich ist keine oder nur beschränkte Verwendung von Intermediären möglich (z.b. ESB), da diese Teile der Information für die Verarbeitung benötigen Keine asynchrone Kommunikation möglich, da synchrones Protokoll Nur in einfachen Umgebungen umsetzbar Folie 261

Sicherheit für Web-Services (2) Message Layer Security Verschlüsselung und Signatur der Nachrichteninhalte Herstellung einer Ende-zu-Ende-Sicherheit Ist im Allgemeinen das geeignete Verfahren für Web-Services Verschlüsselung des SOAP-Bodys ganz oder in Teilen XML Encryption Signatur des SOAP-Bodys ganz oder in Teilen XML Signature Signatur von Teilen des SOAP-Headers Folie 262

Sicherheit für Web-Services (3) XML Encryption Verschlüsselung ganzer XML-Dokumente oder nur einzelner Teilstrukturen Symmetrische oder asymmetrische Verschlüsselung möglich Mindeststandards sind Advanced Encryption Standard (AES) und TripleDES Die gewählte Methode wird in der XML-Datei selbst definiert Initialisierungsparameter für die Ver- und Entschlüsselung werden ebenfalls integriert Bei symmetrischer Verschlüsselung werden die Schlüssel häufig vorab mit asymmetrischer Verschlüsselung ausgetauscht Die Verschlüsselung von Nachrichten vergrößert das Datenvolumen insbesondere bei kleinen Informationsmengen erheblich Folie 263

Sicherheit für Web-Services (4) XML Signature Sender XML-Dokument Kanonisches XML-Dokument z.b. SHA1 Digest Digitale Signatur XML enthält Whitespaces, die bei Übertragung verloren gehen könnten und die Signatur dadurch ungültig machen würden. Deshalb erzeugt man ein standardisiertes kanonisches XML- Format Für das gesamte XML- Dokument oder Teile des XML-Dokuments wird über einen Hash-Algorithmus, z.b. SHA1 ein 20 Byte großer Message Digest erzeugt Mit dem privaten Schlüssel des Absenders wird der Message-Digest verschlüsselt und daraus die digitale Signatur bestimmt. Folie 264

Sicherheit für Web-Services (5) XML Digital Signature Empfänger XML-Dokument Inkl. digitaler Signaturen und Zertifikaten Kanonisches XML-Dokument Digest =? Zertifikate enthalten den öffentlichen Schlüssel des Absenders und ermöglichen Authentifizierung des Absenders Digitale Signatur Digest Wiederherstellung des Message Digest durch Anwendung des öffentlichen Schlüssels des Absenders Bei Gleichheit ist die Nachricht unverändert und der Absender authentisch Folie 265

Sicherheit für Web-Services (6) WS-Security Festlegung, wie Sicherheitsinformationen in SOAP-Nachrichten untergebracht werden Verwendung der verschiedenen Standards XML Encryption XML Signature SAML Aufbauend auf WS-Security gibt es noch mehrere weitere Standards, die einzelne Aufgaben erfüllen Folie 266

Sicherheit für Web-Services (7) WS-Security und Erweiterungen WS- SecureConversation WS-Federation WS-Authorization WS-Policy WS-Trust WS-Privacy WS-Security SOAP Folie 267

Sicherheit für Web-Services (8) WS-Policy Festlegung der Sicherheitsanforderungen für eine Kommunikation Definition bereits in der Servicebeschreibung möglich WS-Trust Festlegung des Formats der sicherheitsrelevanten Daten, z.b. SAML-Token Definition von Vertrauensketten Definition von Namensräumen WS-SecureConversation Verfahren zum Austausch eines Session-Keys für symmetrische Verschlüsselung mit Hilfe eines asymmetrischen Verfahrens (Diffie- Hellman) Schaffung eines Sicherheitskontextes Verwendung von Sicherheitstoken aus WS-Trust Folie 268

Sicherheit für Web-Services (9) WS-Federation Unterstützung der Herstellung gegenseitigen Vertrauens Aufbauend auf Methoden von WS-Policy, WS-Trust und WS- SecureConversation Wird für Schaffung einer Single-Sign-On-Lösung benötigt WS-Privacy Definition der Anforderungen an die Vertraulichkeit von Nachrichten Methoden zur Sicherstellung der Einhaltung der Anforderungen WS-Authorization Definition und Auswertung von Zugriffsrechten Erweitert WS-Trust um Berechtigungsattribute in den Sicherheitstokens Folie 269

Sicherheit für Web-Services (10) Security Proxy Services müssen die Sicherheitsrichtlinien nicht selbst umsetzen Hierzu kann ein sog. Security Proxy vorgeschaltet werden (andere Bezeichnungen sind SOAP-Proxy oder Security-Interceptor) Gleiches gilt für Web-Service-Clients / Consumer Beispiel: Authentifizierung Anmeldung im Portal Aufruf einer Funktion 1 Portal 2 Web-Service-Client Directory SSO SAML Authority Autom. Token erzeugen 3 Security Interceptor Token übermitteln 4 5 Token verifizieren 6 Security Interceptor Service aufrufen Web-Service Folie 270

enc(pk Service ) enc(pk Service ) enc(pk Proxy ) enc(pk Proxy ) enc(pk Service ) Sicherheit für Web-Services (11) Intermediary (Security) Proxy Beispielszenarien für Verschlüsselung mit ESB Web-Service-Client Web-Service-Client Web-Service-Client Web-Service-Client Proxy entschlüsselt Nachricht für den Service Proxy verschlüsselt Nachricht für den Client Active Proxy entschlüsselt und verschlüsselt wieder Passive Proxy leitet verschlüsselte Nachricht weiter ESB Web-Service Web-Service Web-Service enc(pk ) = Verschlüsselung mit Public key von Web-Service Folie 271

Serviceorientierte Architekturen (SOA) SOA-Governance Folie 272

Wiederholung (1) Ziele einer SOA (siehe auch 3. Kapitel) Kosteneffizienz Effektivität Agilität Innovation Quality of Service Folie 273

Wiederholung (2) Lösungsweg (siehe auch 4. Kapitel) Quelle: Quasar Enterprise Folie 274

SOA-Governance SOA-Governance ist kein eindeutig definierter Begriff SOA-Governance betrifft sowohl organisatorische als auch technische Themen Stark vereinfacht beschreibt eine SOA-Governance, was zur Einführung und Aufrechterhaltung einer SOA zu tun ist und wie die einzelnen Beteiligten dies zu tun haben. SOA-Governance ist ein Teil des Informationsmanagements eines Unternehmens Interessante Definition der Software AG (für Manager) Eine SOA ist wie ein LEGO-Baukasten. Die Blöcke haben verschiedene Größen, Formen und Farben, lassen sich aber in vielfältiger Weise kombinieren. SOA-Governance ist das Verfahren, die richtigen LEGO-Blöcke zu produzieren und diese in geeigneter Weise anzubieten. Folie 275

Informationsmanagement (1) Verbesserung (Improve) Quelle: Zarnekow, Integriertes Integrationsmanagement Vom Plan, Build, Run zum Source, Make, Deliver Folie 276

Interner Markt Externer Markt Informationsmanagement (2) Kunden-/Lieferantenbeziehungen Externer Lieferant (IT-Dienstleister) A Externer Lieferant (IT-Dienstleister) B Interner Lieferant (IT-Dienstleister) A Interner Lieferant (IT-Dienstleister) B Kunde (Geschäftsbereich) A Kunde (Geschäftsbereich) B Externer Kunde Interner Lieferant (IT-Dienstleister) C Kunde (Geschäftsbereich) C Angelehnt an: Zarnekow, Integriertes Integrationsmanagement Vom Plan Build Run zum Source, Make, Deliver Folie 277

Informationsmanagement (3) Quelle: Zarnekow, Integriertes Integrationsmanagement Vom Plan Build Run zum Source, Make, Deliver Folie 278

Beispielhafte Probleme in der Praxis Der Modellierungsprozess lässt existierende Services außer Acht zu geringe Wiederverwendung Fehlende Qualitätssicherungsprozesse, bevor ein Service für den Betrieb freigegeben wird mangelhafte Servicequalität Fehlender Gesamtblick, wie das Geschäft und die EDV verzahnt sind ineffiziente Organisation und Servicenutzung Keine Berücksichtigung von Auswirkungen, wenn Dienste geändert werden zureichendes Change-Management Fehlende Verantwortlichkeiten bezüglich der Schaffung von Diensten und ihrer Nutzung unkoordinierte Software-Lifecycles Die Einhaltung von Richtlinien wird nur manuell sporadisch und unstrukturiert kontrolliert unzureichendes Policy-Enforcement Folie 279

Beispiel-Service: Adressdatenmanagement Ein Service bietet Methoden für die Pflege und Verwendung von Adressdaten in einem Unternehmen. Dieser Service wird z.b. von folgenden Anwenderkreisen genutzt: Vertrieb und Marketing Finanzabteilung Logistikbereich Der Service wird von verschiedenen Stellen zu unterschiedlichen Zwecken genutzt Die Nutzung unterliegt unterschiedlichen Richtlinien und Rahmenbedingungen Für den effizienten Einsatz des Adressdatenmanagements muss eine Abstimmung hinsichtlich Inhalt, Verwendbarkeit und Zulässigkeit der Verwendung stattfinden. Folie 280

Change-Management Informationsmanagement beinhaltet auch Methoden und Prozesse, um Veränderungen an bestehenden Strukturen vorzunehmen Organisatorische Veränderungen Abteilungsstrukturen Aufgabenverteilungen Geschäftsprozesse Technische Veränderungen Austausch veralteter Systeme Hinzufügen zusätzlicher Systeme Einführung neuer Technologien Change-Management Folie 281

SOA-Governance (1) Welche Rollen und Strukturen sind notwendig, um SOA- Governance Richtlinien durchzusetzen? Welche Regeln sind erforderlich, um alle Aktivitäten für die SOA einheitlich durchführen zu können? Organisationsaspekte Richtlinien Methoden Prozesse SOA- Komponenten Quelle: Software AG, Governance Reference Framework Technologie Werkzeuge Welche Werkzeuge braucht man, um die SOA Governance zu definieren, durchzusetzen und zu überwachen? Folie 282

SOA-Governance (2) Governance für einen Service-Lifecycle (Vorschlag von IBM) Plan Run Build Quelle: IBM, Advancing the Business/IT linkage with SOA Governance and Service Lifecycle Management Folie 283

SOA-Governance (3) SOA-Strategie Führungsentscheidung, dass eine SOA umgesetzt werden soll Globale Zielsetzungen (auch was nicht Ziel sein soll) Definition der Rahmenbedingungen für eine SOA Einrichtung von Kontroll- und Entscheidungsgremien Festlegung von Kompetenzen Festlegung von Grundsätzen zur Finanzierung Top-Level-Management Folie 284

SOA-Governance (4) Domain-Verantwortung Zentraler Aspekt für die Umsetzung Festlegung, welche Organisationseinheit für die jeweiligen Services verantwortlich ist Häufig problematisch, da Geschäftsprozesse bei der SOA- Betrachtung mehrere Organisationseinheiten betreffen Erfordert die Bereitschaft der höheren Führungsebenen sinnvolle Lösungen auch durchzusetzen Schlüsselaspekt: Aufwand und die damit verbundene Finanzierung bzw. personelle Ausstattung Folie 285

SOA-Governance (5) Kontroll- und Entscheidungsgremien Aufgaben Festlegung von Detailzielen Festlegung von Regeln, Methoden und Verfahren Verabschiedung von Architekturleitlinien Festlegung und Überwachung von Qualitätskriterien Abstimmung der Finanzierung Change-Management Voraussetzungen Hinreichende Kompetenz Berechtigung zur Durchsetzung von Regeln (Policy-Enforcement) Problem Nicht immer vorhandenes technisches Knowhow und unzureichende Methodenkenntnisse bei den Verantwortlichen Folie 286

SOA-Governance (6) Beispielhafte Fragestellungen Welche Services stehen zur Verfügung? Wie sind bestimmte technischen Lösungen zu bewerten? Was kann wieder verwendet und was muss neu gemacht werden? Was ist zu tun, damit Services wieder verwendet werden können? Wie sieht eine optimale Architektur überhaupt aus? Was wären sinnvolle Schritte auf dem weg dorthin? Welche Services sind bereits in Planung? Wie wird die Leistung/Nutzung eines Services gemessen? Welche Qualitätsanforderungen gibt es? SOA-Kompetenz-Center Folie 287

SOA-Governance (7) SOA-Kompetenz-Center zur Unterstützung aller Beteiligten Software AG: SOA Competency Center IBM: Center of Excellence Folie 288

SOA-Governance (8) Aufgaben des SOA-Kompetenz-Centers Auswahl und Erarbeitung von Methoden und Richtlinien Analyse von Geschäftsprozessen Entwicklung von Architektur-Vorschlägen Definition von Metriken Auswahl von Werkzeugen Unterstützung bei der Umsetzung Unterstützung des Systembetriebs Ausbildung aller Beteiligten Beratung der Verantwortlichen Folie 289

Tools zur Unterstützung für SOA-Governance Top-Anbieter für Tools zur SOA- Governance laut Forrester und Gartner IBM (Rational Asset Manager, WebSphere Service Registry and Repository) HP (Systinet) Software AG (CentraSite) In der Regel erweiterte Service- Repositorys Keine voll integrierten und vollständigen Produkte sondern Tool Suiten CentraSit e TM Registry & Repository Policies & Security Roles & Respons. Lifecycle Mgmt. Software-/Service-Lifecycle Folie 290

Zusammenfassung Die unkontrollierte Entwicklung einer SOA verfehlt regelmäßig die grundlegende Zielsetzung einer SOA Die SOA-Governance steuert und überwacht die Entwicklung Zentrale Aspekte sind dabei Planung, Umsetzung, Überwachung und kontinuierliche Verbesserung Die SOA-Governance umfasst sowohl die Unternehmens- als auch die IT-Organisation Einsatz diverser Methoden des Informations- und Change- Managements Die anspruchsvollen Aufgaben müssen durch ein Kompetenz-Team unterstützt werden Unterstützung durch Tools erforderlich, in der Regel ein zentrales Repository mit einem darauf aufbauenden Werkzeugkasten Folie 291

Serviceorientierte Architekturen (SOA) Software-Lifecycle with SOA Folie 292

Software-Lifecycles (1) Klassisches Wasserfallmodell Machbarkeits- Studie Anforderungs- Analyse Entwurf Codierung Modultest Integration Systemtest Installation Betrieb PLAN BUILD RUN Folie 293

Software-Lifecycles (2) (Rapid) Prototyping Spiralmodell Extreme-Programming (XP) Agile Software Development V-Modell XT Capability Maturity Model (CMM) Test Driven Development Rational Unified Process (RUP) Folie 294

Software-Lifecycles (3) Machbarkeits- Studie Anforderungs- Analyse z.b. neue Funktionen Entwurf z.b. Funktionsänderungen geplant Codierung Modultest Fehlerbehebung ungeplant Integration Systemtest Wartung und Pflege Betrieb End of Life Folie 295

Software-Lifecycles (4) In den meisten Entwicklungsmodellen gibt es in der Regel immer gleiche Phasen, auch wenn diese im Detail anders ausgeprägt sind Die meisten Modelle berücksichtigen nicht die Aktivitäten nach der Fertigstellung und Inbetriebnahme (Betrieb, Wartung, ) Einsatz ergänzender Methoden, z.b. ITIL In der klassischen Softwareentwicklung geringe Abhängigkeiten zu Nachbarsystemen, außer über wenige definierte Schnittstellen Plan Build Run Retire Measure Improve Leistungsmessung und -bewertung findet auch innerhalb der einzelnen Phasen statt Hier beispielhaft die Rückwirkung von Betriebsdaten auf die optimierte Planung Folie 296

Software-Lifecycles (5) SOA-Einflüsse Geschäftsprozessmodellierung Servicewiederverwendung Service- Orchestrierung Serviceabhängigkeiten Plan Build Run Retire Measure Improve Serviceabhängigkeiten Folie 297

Software-Lifecycle Produktivsetzung (1) Von der Entwicklung zum produktiven Einsatz Entwicklungssysteme File / Web / Application / Verzeichnis Testsysteme Produktionssysteme Deployment Deployment Entwickler Tester Benutzer.. Entwicklungsumgebung Testumgebung Produktivumgebung Folie 298

Software-Lifecycle Produktivsetzung (2) Die Implementierung und Deployment von Software durchläuft üblicherweise folgende Stufen Entwicklung und Modultest in einer Entwicklungsumgebung Integrationstests in einer Testumgebung Produktivsetzung in der Produktivumgebung Fallweise wird auch noch eine weitere Stufe, ein sog. Staging- System, vor der Produktivsetzung eingeführt, in der ein möglichst realitätsnahes Abbild der Produktivumgebung für den Integrationstest verwendet wird Übliche Probleme Verfügbarkeit realistischer Dummys für die Nachbarsysteme bzw. Schnittstellen Definierter Transport der entwickelten Komponenten von einer Umgebung in die andere Folie 299

Service-Lifecycle in einer SOA Idealisierte Ausgangslage Anwendungslandschaft ist in fachliche Komponenten zerlegt Basis-Services behandeln Geschäftsobjekte und einfache fachliche Funktionen Funktions-Services bilden spezielle Fachanwendungslogik ab Prozess-Services steuern aufgabenübergreifende Abläufe Services werden von unterschiedlichen Betreibern zur Verfügung gestellt Services sind teilweise intern und teilweise extern angesiedelt Servicenutzung unterliegt definierten Regeln und Kosten Services haben eine definierte Leistungsfähigkeit und Verfügbarkeit Folie 300

Service-Lifecycle in einer SOA Plan (1) Planung neuer Geschäftsprozesse Gibt es schon ähnliche Geschäftsprozesse? Können diese als Muster verwendet werden? Verwendung von Templates oder Best Practice Ansätzen Gibt es Überschneidungen mit anderen Geschäftsprozessen? Welche Services werden dort verwendet? Wiederverwendung bestehender Services Kann ein Geschäftsprozess komplett auf Basis bestehender Services abgebildet werden oder müssen neue bzw. modifizierte geschaffen werden? Abstimmung zwischen Geschäftsprozessmodellierung und vorhandenen IT-Services sinnvoll und notwendig. Folie 301

Service-Lifecycle in einer SOA Plan (2) Planung neuer Services Gibt es schon ähnliche Services? Wem gehört ein bestehender Service? Zu welchen Konditionen kann man diesen nutzen? Wiederverwendung bestehender Services, evtl. durch Modifikation / Erweiterung des bestehenden Services Kann ein neuer Service evtl. für andere nützlich sein? Berücksichtigung erweiterter Anforderungen Wer darf neue Services zu welchen Konditionen nutzen? Berücksichtigung des Berechtigungskonzepts Welche Service-Level sind erforderlich? Definition eines Quality of Service Folie 302

Service-Lifecycle in einer SOA Plan (3) Planung neuer Services Gibt es bereits laufende Services, die der neue Service nutzen kann? Gibt es Services in Entwicklung, die der neue Service nutzen kann? Gibt es geplante Services, die der neue Service nutzen kann? Soll ein potenziell genutzter Service evtl. bald abgeschaltet werden? Wiederverwendung von Services Status der Services muss bekannt sein Folie 303

Service-Lifecycle in einer SOA Build (1) Entwurf, Implementierung und Test von Services Entwickler brauchen Zugriff auf die Service-Informationen inkl. aller Randbedingungen für die Nutzung Wie in der klassischen Softwareentwicklung wird ein CVS benötigt, das Teamentwicklung ermöglicht Für Modultest sind geeignete Testframeworks erforderlich Für Integrationstests müssen Service-Dummys bzw. Kopien der echten Services zur Verfügung stehen Wer liefert die Dummys? Müssen mit jedem Service immer auch Testschnittstellen entwickelt werden? Folie 304

Service-Lifecycle in einer SOA Build (2) Entwurf, Implementierung und Test von BPEL-Prozessen Bei der Entwicklung von BPEL-Prozessen werden die Servicebeschreibungen aller genutzten Services benötigt Zugriff auf Verzeichnisdienste Beschreibungen müssen bei Entwurf und Implementierung noch nicht vollständig sein, z.b. muss binding und port erst zur Laufzeit verfügbar sein (siehe auch Kapitel 5 WSDL- Lebenszyklus ) Berücksichtigung von Services in Planungs- und Entwicklungsstadium Für den Funktionstest müssen binding und port auf Testservices gemapped werden Dummy-Services bzw. Kopien der echten Services erforderlich Gibt es Testaccounts? Wer verwaltet diese? Folie 305

Service-Lifecycle in einer SOA Build (3) Identity- und Rechtemanagement Im Rahmen der Entwicklung müssen berechtigte Nutzer und die entsprechenden Zugriffsrechte berücksichtigt werden In Entwicklungsumgebungen haben meist alle Benutzer alle Rechte In Testsystemen ist häufig kein aktuelles Abbild der realen Produktionsumgebung Erst in der Produktion fallen Fehler auf, die aufgrund falscher Berücksichtigung von Rollen und Rechten entstehen Zugriff auf das zentrale Identitätsmanagement Verwaltung von Rollen und Rechten im Entwicklungssystem Folie 306

Service-Lifecycle in einer SOA Run/Measure Automatisiertes Deployment von der Testumgebung in die Produktivumgebung in der Regel skriptgesteuerte Lösungen, z.b. ANT Überwachung der Services zur Laufzeit Antwortzeit Durchsatz Latenzzeit Verfügbarkeit Häufigkeit der Service-Aufrufe Häufigkeit einzelner Prozess-Schritte Dauer einzelner Prozess-Schritte Rückkopplung der Ergebnisse zur Planung und in die Entwicklungsumgebung Folie 307

Service-Lifecycle in einer SOA Improve Modifikationen an Services Optimierung von Abläufen Korrektur von Fehlern Einbringen neuer Funktionen Wichtige Fragestellungen dabei Welche anderen Services nutzen den zu ändernden Service? Was passiert, wenn Schnittstellen geändert werden? Was passiert, wenn die Verfügbarkeit geändert wird? Was passiert, wenn Nutzungsberechtigung geändert wird? Service-Nutzer und Abhängigkeiten müssen bekannt sein Folie 308

Service-Lifecycle in einer SOA Retirement Abschaltung von Services Kann ein Service überhaupt abgeschaltet werden? Welche Services nutzen den Service noch? Service-Nutzer und Abhängigkeiten müssen bekannt sein Ein Service kann auch durch einen neuen ersetzt werden auch hier müssen die Abhängigkeiten klar sein, wenn sich z.b. die Schnittstelle ändert Folie 309

Repository (1) Service-Repository zur Verwaltung von Service-Definitionen erweiterte Service-Attribute (Metadaten) Service-Abhängigkeiten Benutzer Rollen / Rechte Service Level Agreements Security-Policy Monitoring-Daten CentraSite TM Registry & Repository Policies & Security Roles & Respons. Lifecycle Mgmt. Repository allein ist nicht hinreichend! Beispiel: CentraSite der Software AG Folie 310

Repository (2) Repository liefert Informationen für SOA-Architekten Folie 311

Repository (3) Beispiel: Darstellung von Service-Abhängigkeiten Folie 312

Werkzeuge (1) Was wird neben dem Repository noch benötigt? Das Repository ist das Werkzeug für SOA-Architekten und Planer Entwickler, Tester und Betreiber der Services und Prozesse brauchen weitere Werkzeuge Programmierumgebungen SOA-Test-Frameworks Management- und Monitoring-Tools Folie 313

Werkzeuge (2) Programmierumgebungen Eclipse, JDeveloper, Visual Studio, Integration mit dem Repository erforderlich, um die Informationen im Entwicklungsprozess abgreifen zu können Aktualisierung der entwickelten Services im Repository Bsp. Service-Query in Centrasite über Eclipse Folie 314

Werkzeuge (3) SOA-Test-Framework itko LISA, IONA Interface Simulation and Testing Framework Besonderheit gegenüber herkömmlichen Test-Suites ist der intensive Integrationstest mit Service-Schnittstellen Integration zum Service-Repository für die Nutzung vorhandener Service-Informationen Beispiel: Integration von Centrasite und LISA Folie 315

Werkzeuge (4) Management- und Monitoring-Tools AmberPoint, Actional, Überwachung der Services im Betrieb (Policys, ) Monitoring-Ergebnisse müssen an das Repository zurück geliefert werden oder über das Repository verlinkt sein Folie 316

Werkzeuge (5) Integration von Repository und Tools Repositorys liefern Integrationstools für gängige Programmierumgebungen wie z.b. Eclipse gleich mit Für Service-Definitionen und Daten aller Art gibt es einen standardmäßigen XML-Datenaustausch Problem bei Daten und Informationen, die nicht über WS-Standards definiert werden Erweiterbarkeit des Repositorys über eigene XML-Schemata und Plugin-Technology proprietäre Herstellererweiterungen Nutzung diverser Standards aus dem jeweiligen Entwicklungsumfeld (in der Regel Java bzw..net) Folie 317

Zusammenfassung Fokus eines SOA-Software-Lifecycles sind flexible Orchestrierung und Wiederverwendung von Services sowie kontrollierbarer und effizienter Betrieb. Effizientes Lifecyclemanagement muss diese Anforderungen in geeigneter Weise unterstützen Daraus ergeben sich hohe Anforderungen an die Gesamtsicht über alle verfügbaren Services und Prozesse Mit Hilfe von Service-Repositorys werden alle technischen und organisatorischen Informationen zentral verwaltet Alle Werkzeuge für Planung, Entwicklung und Betrieb müssen an dieses Repository angebunden sein, um es aktuell zu halten und Informationen daraus zu verwenden Folie 318