Kapitel 7: Workflow Modellierung mit BPMN · Jutta Mülle / Silvia von Stackelberg WfMS - WS...
Transcript of Kapitel 7: Workflow Modellierung mit BPMN · Jutta Mülle / Silvia von Stackelberg WfMS - WS...
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 1 WfMS - WS 2011/2012
Konzepte und Anwendung von Workflowsystemen
Kapitel 7:
Workflow Modellierung mit BPMN Teil 2: Modellierung von Sicherheit und Privatheit
Vorlesung Wintersemester 2011/12
Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Institut für Programmstrukturen und Datenorganisation (IPD)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 2 WfMS - WS 2011/2012
Überblick Kapitel 7 – Teil 2
Wiederholung BPMN Motivation am Beispiel „Praktikumsvermittlung“ Umsetzung von Sicherheit und Privatheit in BPMS
o Überblick Sicherheit und Privatheit o Annotationen für
• Sicherheit • Privatheit
o Transformation der Annotationen Zusammenfassung Übung
o Übungsaufgabe („Hausaufgabe“ mit Incentive) o Test (freiwillig)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 3 WfMS - WS 2011/2012
Wiederholung BPMN
Verbreiteter Standard (OMG) zur Modellierung von
Prozessen (Workflows) Beschreibt die Notation und Semantik von Prozessen
sowie der Kommunikation zwischen Prozessen o Graphische Modellierung von Prozessen als sogenannte
„Diagramme“
Sowohl für fachliche als auch für technische Modelle
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 4 WfMS - WS 2011/2012
Einführungsbeispiel Workflow - Teilablauf einer Praktikumsvermittlung -
PDS: Personal Data Store
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 5 WfMS - WS 2011/2012
Beispiel BPMN – Praktikumsvermittlung -
[Start Event
[End-Events
[Data Object
[Gateway
[Activities (Tasks)
[Pool [Lanes
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 6 WfMS - WS 2011/2012
Wiederholung der Kernelemente BPMN
Flow Objects
Connecting Objects Swimlanes Data Artifacts
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 7 WfMS - WS 2011/2012
Wiederholung „Artifacts“ in BPMN – Beispiel Praktikumsvermittlung -
[Annotation
[check case: is user already registered ?
[Gruppierung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 8 WfMS - WS 2011/2012
Einführungsbeispiel - Teilablauf einer Praktikumsvermittlung -
Aktivitäten
… Prozess Start
Aufgabenträger
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 9 WfMS - WS 2011/2012
Service-orientierte Architekturen (SOA) und Workflows
Web Service
Web Service
Web Service
SOAP
SOAP
SOAP
Internet
SOA: lose gekoppelte Services in einem Netzwerk Workflow-Management-System (WfMS) koordiniert Prozesse durch
Service-Aufrufe Interaktionen mit Akteuren
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 10 WfMS - WS 2011/2012
Zusammenfassung (bisher)
BPMN weit verbreitete, graphische Modellierungssprache
In Vorlesung wichtigste Konstrukte behandelt Was passiert mit Diagrammen? → Prozess-
Ausführung durch WfMS
bisher: generische Modellierung von Workflows Aber: in Praxis weitere Aspekte, wie Sicherheit und
Privatheit, von Bedeutung Forschungsfrage: Einbindung von Sicherheit und
Privatheit bei Modellierung (und Ausführung) von Workflows
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 11 WfMS - WS 2011/2012
Überblick Sicherheit und Privatheit in Workflows - Beispiel Praktikumsvermittlung -
Persönliche Daten
Festgelegte Zuständigkeiten
Sicherheitsaspekte
Autorisierung Authentifizierung
Auditing Vertraulichkeit
Integrität
Interaktion
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 12 WfMS - WS 2011/2012
Forschungsfragen
Ziel: Effiziente Integration von Sicherheitsmechanismen und Privatheitsaspekten in WfMS
Evaluierung
Ausführung
Konfiguration
Design & Analyse
Modellierung von
Anforderungen
Transformation von
Anforderungen
Erweiterung eines WfMS
Identifikation von
Auffälligkeiten
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 13 WfMS - WS 2011/2012
Sicherheit
Sicherheits-Facetten in SOA
Autorisierung
Integrität
Vertraulichkeit
Auditing
Authentifi-zierung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 14 WfMS - WS 2011/2012
Sicherheit in Workflows
Autorisierung (Access Control) o Rechtevergabe an Akteure oder Web Services für die Durchführung von
Aufgaben (Aktivitäten) o Rollenkonzepte o Workflow-spezifische Einschränkungen
• z.B. Pflichtenbindung (Binding of Duty (BoD)), Pflichtentrennung (Separation of Duty (SoD))
o Delegation von Rechten auf Daten Authentifizierung
o Beglaubigte Identifikation von Beteiligten Vertraulichkeit von Datenflüssen
o Verschlüsselung/ Signatur Datenintegrität
o Korrektheit und Schutz vor unberechtigter Manipulation der Daten Auditing
o Protokollierung (Logging)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 15 WfMS - WS 2011/2012
Privatheit in Workflows Personenbezogene Daten
o Rechtliche Rahmenbedingungen (z.B. Zustimmungen, Nachverfolgung → Auditing)
o Trust (Reputation) von beteiligten Services
Interaktive Einbeziehung der sog. „Betroffenen“ bei Ausführung von Workflowinstanzen o Berücksichtigung persönlicher Präferenzen
• Regelungen für Datenzugriffe • Informationspolitik (Notifikationen) bzgl. Umsetzung von
Richtlinien • Auswahl von Services zur Speicherung personenbezogener
Daten anhand der Reputation (Trust-Level) o Zustimmungen zu Geschäftsbedingungen („Give
Consent“)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 16 WfMS - WS 2011/2012
Konventionelle Ansätze
Basismechanismen für Sicherheit in WfMS verfügbar o Rollenkonzepte zur Autorisierung
Nicht hinreichend unterstützt o Autorisierungen (z.B. für Bereiche des Workflows) o Separation of Duty (SoD), Binding of Duty (BoD) o Rechtemanagement für Daten
Umsetzung von Sicherheit durch proprietäre Software-Erweiterungen o aufwändig, kostspielig
Privatheit: existierende Ansätze berücksichtigen nicht, dass Entscheidungen kontextabhängig sein können
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 17 WfMS - WS 2011/2012
Ansatz zur Umsetzung von Sicherheit und Privatheit in Workflows
Entwicklung einer Sprache o Sicherheits- und Privatheitsbedingungen in
Workflows Einbindung in BPMN-Diagramme
o Bedingungen als Annotationsterme an BPMN Elemente
Generelle Repräsentation: << Annotationterm: list(parameter-name=„value“) >>
Umsetzung der Annotationen durch WfMS mit Hilfe von neu entwickelten Komponenten 1. Transformation 2. Ausführung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 18 WfMS - WS 2011/2012
Annotationssprache: Autorisierung (I)
„Role Assignment“ (Rollenzuweisung) o Autorisierung von Rolleninhabern zur Ausführung einer
Aktivität
„Assignment Mechanism“ (Zuordnungsmechanismus) o Zuordnung der Aufgaben an Rolleninhaber (z.B.
Erfahrungsgrad, Kundenbetreuer)
„User Assignment“ o Direkte Zuordnung eines Benutzers
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 19 WfMS - WS 2011/2012
Annotationssprache: Autorisierung (II)
„Separation of Duty“ (Pflichtentrennung) o Annotierte Aktivitäten müssen von unterschiedlichen
Benutzern durchgeführt werden
„Binding of Duty“ (Pflichtenbindung) o Annotierte Aktivitäten müssen vom gleichen Benutzer
durchgeführt werden
Delegation o Weitergabe der Zugriffsrechte auf Daten o Weitergabe der Ausführungsrechte für Tasks
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 20 WfMS - WS 2011/2012
„Role Assignment“ Für Aktivitäten, Gruppen von Aktivitäten (GoA),
oder Swimlanes Syntax:
<< Assignment: type=„Role“
name=„$rolename“ >>
Bei Aktivitäten name=„$rolename“ obligatorisch, ansonsten optional
Einschränkung: max. eine Annotation pro BPMN-Element
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 21 WfMS - WS 2011/2012
Beispiel „Role Assigment“ für „Lanes“
Autorisierung der Rolleninhaber „Coordinator“ für alle Aktivitäten von „Lane“ Coordinator (analog „Lane“ Learner)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 22 WfMS - WS 2011/2012
Beispiel „Role Assignment“ (Aktivitäten)
Autorisierung von Aktivität „Approve User“ durch Rolleninhaber von „Clerk“
Analog Gruppe von Aktivitäten (GoA) durch Rolleninhaber von „Coordinator“
>>
>>
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 23 WfMS - WS 2011/2012
Assignment Mechanism Assignment Mechanism legt fest, wie Zuordnung
von Aufgaben an Rolleninhaber erfolgt Korrespondiert mit „Role Assignment“ Syntax:
<<Assignment: type=„Mechanism“
name=„$mechanismname“ >>
„$mechanismname“ a priori spezifiziert Beispiel für Mechanismus:
falls Rolleninhaber Coordinator verfügbar, der frühere Vermittlungen von Learner bearbeitet hat, dann Zuweisung dieses Coordinators; falls nicht, nächst verfügbaren Coordinator zuweisen
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 24 WfMS - WS 2011/2012
„Binding of Duty“ (BoD)
Pflichtenbindung für Aufgaben o Durchführung durch gleiche Akteure
Für Aktivitäten, GoA, „Swimlanes“ Syntax:
<<BoD: spec=„weak“>>
spec optionaler Parameter spec=„weak“ lässt explizite Änderung
der Zuweisung zu („Re-assignment“)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 25 WfMS - WS 2011/2012
„Separation of Duty“ (SoD) Pflichtentrennung
o Durchführung der Aufgaben von unterschiedlichen Benutzern
o Motivation oft zusätzliche Sicherheit (z.B. 4-Augen-Prinzip)
o Für Aktivitäten, GoA, „Swimlanes“ Syntax:
<< SoD: role=„$rolename“ number =„$value“ threshold =„$value“ >>
role, number, threshold optional Ausschluss von Rollen: role=„$rolename“
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 26 WfMS - WS 2011/2012
Beispiel SoD für Lanes
SoD mit role=… als Ausschluss, d.h. Learner und Coordinator müssen unterschiedliche Personen sein
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 27 WfMS - WS 2011/2012
SoD mit Kardinalitäten
Zusätzliche Ausdrucksmächtigkeit number =„$value“: minimale Anzahl
unterschiedlicher Benutzer threshold =„$value“: maximale Anzahl von
Aktivitäten (Instanzen), die von einem Benutzer durchgeführt werden dürfen (der gesamten, mit SoD annotierten Aktivitäten)
Default-Semantik SoD: (number=2, threshold=1) bei 2 Aktivitäten bzw. bei wiederholender Aktivität
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 28 WfMS - WS 2011/2012
Beispiele SoD
Min. 2 Benutzer, jeder Benutzer maximal 2 Aufgaben
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 29 WfMS - WS 2011/2012
D-Delegation Weitergabe von Zugriffsrechten auf (geschützte)
Daten o Prozessinterne Daten („data objects“) o Externe Daten („data stores“)
Syntax:
<< D-Delegation: rights=“list ($rightsname)” object=“$objectname” interval=“($activityname1,$activityname2)|$group” owner=“$rolename” receiver=“$rolename”|“$webservicename” spec=“$specification” >>
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 30 WfMS - WS 2011/2012
D-Delegation: Parameter
rights: read, write, delete, oder policy (deskriptive Beschreibung)
object: Datenobjekt, für das Rechte vergeben werden (bzw. View auf Datenobjekt)
owner: Rechteinhaber, Betroffene interval: Zeitintervall für Rechtevergabe receiver (Empfänger): rolename or webservicename
Spezifikation spec: grant (optional)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 31 WfMS - WS 2011/2012
Beispiel D-Delegation
Delegation von Rechten für den Zugriff auf Daten
„Learner“ ist nicht Ausführender der
Task, aber Rechte-Inhaber!
Web Service „PDS“ ist Empfänger der
Rechte
Objekt, für das Rechte vergeben
werden
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 32 WfMS - WS 2011/2012
Sicherheit
Sicherheits-Facetten in SOA
Autorisierung
Integrität
Vertraulichkeit
Auditing
Authenti-fizierung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 33 WfMS - WS 2011/2012
Authentifizierung
Identifikation von Beteiligten o Attribut/Werte-Paare o Bestätigung durch Identity-Provider
Syntax: << Authn: attributes=„[list[(attributename, value)“]
idp=„$identityprovider“ >>
Anmerkung: Trennung der Listenelemente durch „ ,“ (siehe folg. Bsp.)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 34 WfMS - WS 2011/2012
Beispiel Authentifizierung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 35 WfMS - WS 2011/2012
Auditing
Protokollierung (Logging) des Prozesses bzw. von Teilen des Prozesses
Motivation u.a. auch gesetzliche Regelungen Syntax:
<< Audit: policy=„$policyname“ >>
policy spezifiziert, was protokolliert wird (z.B. Zugriff auf personenbezogene Daten gemäß Datenschutzrichtlinien)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 36 WfMS - WS 2011/2012
Beispiele Sicherheits-Annotationen in BPMN - Prozessanfang
Rollenzuweisung
Authentifizierung
Pflichtentrennung
Auditing
Pflichtenbindung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 37 WfMS - WS 2011/2012
Einbeziehung von Benutzern
Zusätzlich zur Sicherheits-Sprache: Einbeziehung von Benutzern (sog. „User Involvements“) zur Spezifikation von Privatheits- und „Trust“-Aspekten o Einwilligung zu Geschäftsbedingungen (z.B. Terms &
Conditions) o Datenzugriffs-Regeln (Policy) o Regeln für Auswahl beteiligter Services anhand der
Vertrauenswürdigkeit („Trust“) o Trust-Feedback nach Nutzung von Services o Interaktions-Präferenzen
Nicht a priori, sondern dynamisch zur Laufzeit von Workflows o Abhängig von Workflow-Kontext
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 38 WfMS - WS 2011/2012
Ansatz zur Einbeziehung von Benutzern
Für alle Optionen vormodellierte Teilprozesse Sprache zur Darstellung von Teilprozessen
o Parametrisierbar o Prozessmodellierer greift auf vordefinierte Prozesse zurück,
kein Bedarf an Umsetzungs-Kenntnissen
Dynamische Einbindung der Teilprozesse bei Ausführung eines Workflows (Schema-Erweiterung)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 39 WfMS - WS 2011/2012
Überblick Sprache „User Involvements“
Syntax << UInvolve: type=„$UInvolvetype“ ... >>
Vordefinierte Werte für UInvolvetype: SetIAPref
Consent
SelectService
SetDataPolicy, SelectDataPolicy
SetTrustPolicy, SelectTrustPolicy
TrustFeedback
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 40 WfMS - WS 2011/2012
„Consent“ (Zustimmungen)
Zustimmung der Benutzer zu den Geschäftsbedingungen des Workflows
Syntax <<UInvolve: type=„Consent“
target=„$targetname of privacy terms“ role=„$rolename“ insertplace=„$activityname“
display = „$option1,…,optionn“ >>
target spezifiziert Geschäftsbedingungen display gibt Benutzeroptionen an Optional: role, insertplace
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 42 WfMS - WS 2011/2012
„Select Service“
Auswahl aus den verfügbaren Web Services Voraussetzung: Spezifikation des Trust Levels Syntax:
<<UInvolve: type=„$SelectService“ display=„list($option)“ role=„$rolename“ insertplace=„$activityname“>>
display gibt verfügbare Services an optional: role, insertplace
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 43 WfMS - WS 2011/2012
Beispiel „Select Service“
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 44 WfMS - WS 2011/2012
„Select Trust Policy“
Trust Policy spezifiziert die Anforderungen an die Vertrauenswürdigkeit (Trust) eines Web Services o Notwendige Spezifikation bei Service Selection
Benutzer wählt z.B. Trust Level für beteiligte Services
Syntax: <<UInvolve: type=„SelectTrustPolicy“ display=„list($option)“ role=„$rolename“ insertplace=„$activityname“>>
display gibt Benutzeroptionen an optional: role, insertplace
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 45 WfMS - WS 2011/2012
Beispiel „Select Trust Policy“
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 46 WfMS - WS 2011/2012
Transformation der Annotationen
Transformation „verarbeitet“ die Annotationen und
bereitet die Ausführung für die Engine vor
Erweiterung des Workflow-Schemas vor Ausführung Im Folgenden exemplarisch für <<UInvolve: type=„SelectTrustPolicy“ … >>
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 47 WfMS - WS 2011/2012
Transformation Annotierter Prozess
Modellierung
Konfiguration Transformation
Prozess-Fragmente
<<UInvolve: type=„SelectTrustPolicy“ role=„Learner” display=‘‘trustAll, averageFeedback, mostreputableUsers 5mostreputableUsers‘‘>>
Schema-Erweiterung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 48 WfMS - WS 2011/2012
Prozessfragment “Select Trust Policy”
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 49 WfMS - WS 2011/2012
Prozess mit Annotationen
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 50 WfMS - WS 2011/2012
Workflow mit geschlossenem Sub-Prozess
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 51 WfMS - WS 2011/2012
Workflow mit integriertem Prozessfragment
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 52 WfMS - WS 2011/2012
Zusammenfassung
Modellierung von Workflows wichtiger Schritt zur
autom. Koordination von Abläufen Aktuelles Forschungsthema zur Modellierung von
Sicherheitsaspekten, Privatheit und Trust am IPD o Sprache
• Sicherheitsaspekte • Einbeziehung von Benutzern zur Spezifikation von Präferenzen Vorwiegend für das Verwalten von Daten
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 53 WfMS - WS 2011/2012
Übung
„Hausaufgabe“ Aufgabenstellung siehe Übungsblatt (Website
Lehrveranstaltungen IPD) Freiwillige, sofern gewünscht anonymisierte
Teilnahme Bearbeitungszeit bis 21. Dez. 2011 Schriftliche Abgabe, danach Feedback Incentives abhängig von Leistung
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 54 WfMS - WS 2011/2012
Exemplarische Fragen Kap. 7- Teil 2
Klassifizieren Sie Sicherheit. Beschreiben Sie kurz die Idee, Sicherheit in WfMS
umzusetzen. Geben Sie Beispiele für konkrete Annotationen an
(z.B. Authorisierung, Authentisierung, Einbeziehung von Benutzern)
Jutta Mülle / Silvia von Stackelberg
Kap. 7, Teil 2 - 55 WfMS - WS 2011/2012
Ergänzende Literatur Kap. 7 - Teil 2
Sicherheit in Workflows Mülle, Jutta, von Stackelberg, Silvia, Böhm, Klemens:
A Security Language for BPMN Process Models. Tech. Rep. 2011-09, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, http://www.ubka.uni-karlsruhe.de/eva/index.html (alte Syntax)
Mülle, Jutta, von Stackelberg, Silvia, Böhm, Klemens: Modelling and Transforming Security Constraints in Privacy-Aware Business Processes, to appear in: SOCA, Dec. 2011 (modifizierte Syntax)