1 Ponder Policy Specification Language Baris Ersoy Prof. Dr. S. Fischer IBR Technische Universität Braunschweig.

Slides:



Advertisements
Ähnliche Präsentationen
Peter S. Niess Steinbeis-Europa-Zentrum
Advertisements

Der Stinger 1. Wohin geh ihr denn? 2. Kenn du das Mädchen da?
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
H - A - M - L - E - IC T Teachers Acting Patterns while Teaching with New Media in the Subjects German, Mathematics and Computer Science Prof. S. Blömeke,
Objektorientierter Zugriffsschutz in RACCOON
Wann… Lies die folgenden Sätze. Was bedeutet wann?
Steinbeis Forschungsinstitut für solare und zukunftsfähige thermische Energiesysteme Nobelstr. 15 D Stuttgart WP 4 Developing SEC.
Vorlesung “Lern- und Verhaltensstörungen”
Kompetenzbereich speaking Bezugsrahmen
Modulare Aufbereitung von Lehr-/Lerninhalten Khaldoun Ateyeh Peter C. Lockemann Jutta Mülle Universität Karlsruhe.
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Subjects and Direct Objects When to use der vs. den.
Objektrelationales Mapping mit JPA Entity Mapping Jonas Bandi Simon Martinelli.
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
Rethinking Linguistic Relativity John A. Lucy. Gliederung Einführung in das Problem Kritik an bisherigen Untersuchungen der Anthropologen Psycholinguisten.
We test your ideas. Test us. ASAM-ODS Benutzertreffen, Glashütten 16. Juni 2005 Page 1 Eine Suchmaschine für ASAM-ODS Dr. Bruno Thelen
Thomas Herrmann Software - Ergonomie bei interaktiven Medien Step 6: Ein/ Ausgabe Instrumente (Device-based controls) Trackball. Joystick.
RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben.
Deutsche Gesellschaft für Technische Zusammenarbeit GmbH Integrated Experts as interface between technical cooperation and the private sector – An Example.
M A X - P L A N C K - G E S E L L S C H A F T Bericht des Partnerinstituts Sabine Krott 1.0 Pilotentreffen im Harnack-Haus, 8. Juni 2006 Distribution:
Frank Fischer Manager Evangelism and Marketing Microsoft Deutschland GmbH.
Libero: Design Creation / Verification Seminar WS04/05 Andreas Schibilla (ii4900)
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
Schweizerische Landesbibliothek ODOK05 - Workshop der VÖB-Kommission für Sacherschliessung Bozen, September 13, 2005 Cross-Language Access to Information.
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lektion 14: Mehrfachvererbung.
DTD – Deklaration von Elementen Beschreibt die Einschränkungen des Inhalts eines Elements Syntax: Einziger atomarer Typ: #PCDATA (Parsed Character DATA)
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz.
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Advanced Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Quelle: Standish Group, 2006 Fourth Quarter Research Report, CHAOS Research Results.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Technische Universität Berlin Fakultät für Verkehrs- und Maschinensysteme, Institut für Mechanik Lehrstuhl für Kontinuumsmechanik und Materialtheorie,
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Learning Target / Lernziel: 1.Hausaufgabenkontrolle (Vok 1-1) 2.Kultur 3.Forming questions Heute ist Dienstag, der 3. September 2013 Hausaufgaben GH #1,#2.
Virtual Earth Visualisierung von Geodaten Daniel Walzenbach, Microsoft Deutschland GmbH
Deutsch für Anfänger Beginning German
Criteria for Authorship
© Talend Apache Camel Christian Schneider Sopera GmbH Talend´s Application Integration Division
Talking about yourself
External Labels – The rules For all external labels the following rules apply (external labels are all labels which are not inside of a shape) - all labels.
FORSCHUNGSINSTITUT FÜR ÖFFENTLICHE VERWALTUNG BEI DER DEUTSCHEN HOCHSCHULE FÜR VERWALTUNGSWISSENSCHAFTEN SPEYER Dr. Sonja Bugdahn 1 Can New Regulators.
Phrasen Ich wache auf. Ich bereite mich für den Tag vor.
Die Konjugation Conjugation!
Graph Pattern Semantik Michael Schmidt,
Common Language Runtime Seminar Softwareentwicklung Wintersemester 2003 Gertraud Orthofer
Deutsch Eins Guten Morgen! O Heute ist Freitag! O Das Ziel: You will ask/answer questions about yourself and others O You will conjugate.
Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
German Word Order explained!
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Dr.-Ing. René Marklein - NFT I - L 9 / V 9 - WS 2006 / Numerical Methods of Electromagnetic Field Theory I (NFT I) Numerische Methoden der Elektromagnetischen.
Selectivity in the German Mobility Panel Tobias Kuhnimhof Institute for Transport Studies, University of Karlsruhe Paris, May 20th, 2005.
© Talend Apache Camel Christian Schneider Sopera GmbH Talend´s application integration division
How to use and facilitate an OptionFinder Audience Response System.
TUM in CrossGrid Role and Contribution Fakultät für Informatik der Technischen Universität München Informatik X: Rechnertechnik und Rechnerorganisation.
Instrumente und Unterhaltung End of Unit Assessment.
Das IT - Informationssystem
Test 1 Test 2 Test 3. Test 4 Test 5 Test 6 Test 7 Test 8 Test 9.
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Test.
Azure Mobile Services Deep dive into node.js scripting
Being Discerning About Online Information
Haline E Schendan, Meghan M Searl, Rebecca J Melrose, Chantal E Stern 
 Präsentation transkript:

1 Ponder Policy Specification Language Baris Ersoy Prof. Dr. S. Fischer IBR Technische Universität Braunschweig

2 Einführung Komplexere und größere Netzwerke. Netzwerkadministratoren können nicht mehr alles von Hand aus einstellen. Zur effizienten Verwaltung wären Vorgaben in Form von Policies hilfreich. Ponder soll dabei helfen, Policies zu beschreiben.

3 Seminarinhalt 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung

4 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Policies Zielvorgabe, an das sich das zukünftige Verhalten einer Organisation orientieren soll. Zusammenstellung von mehreren Regeln.

5 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Subject und Target

6 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Erklärung zur Syntax () Wahlmöglichkeiten in runden Klammern gegeben. [] beschreibt optionale Elemente. {} enthält Wiederholungen von 0 bis n. -> steht für sequentielle Durchführung von Methoden. | trennt Alternativen in einer Grammatik.

7 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Authorisation Policies Syntax einer Authorisation Policy inst ( auth+ | auth- ) policyName { subject [ ] domain-Scope-Expression ; target [ ] domain-Scope-Expression ; action action-list ; [ when constraint-Expression ; ] }" Beispiel : Positive Authorisation Policy inst auth+ switchPolicyOps { subject /NetworkAdmin; target /Nregion/switches; action load(), remove(), enable(), disable() ; }

8 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Authorisation Policies Beispiel : Negative Authorisation Policy inst auth- /negativeAuth/testRouters { subject testEngineers/trainee; target /routers; action performance_test (); }

9 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Authorisation Policies Syntax eines Authorisation Policy Typ type (auth+ | auth- ) policyType ( formalParameters ){ { authorisation-policy-parts } } inst(auth+ | auth- ) policyName = policyType ( actualParameters) ; Beispiel : Erstellen von Instanzen von Typen type auth+ policyOpsT ( subject s, target t ){ action load(), remove(), enable(), disable() ;} instauth+ switchPolicyOps= PolicyOpsT ( /NetworkAdmins, /Nregion/switches) ; instauth+ routersPolicyOps= PolicyOpsT ( /QoSAdmins, /Nregion/routers);

10 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Authorisation Policies Syntax einer Filter Policy actionName { filter } filter = [ if condition ] { { ( in parameterName = expression ; | out parameterName = expression ; | result = expression ; ) } } Beispiel : Policy für Informationsfilter inst auth+ filter1 { subject /Agroup + /Bgroup ; target USAStaff – NYgroup ; action VideoConf (BW, Priority) { in BW = 2 ; in Priority = 3 ; } //default filter if (time.after (1900)) {in BW = 3 ; in Priority = 1 ; } }

11 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Delegation Policies Syntax einer Delegation Policy inst deleg+ ( associated-auth-policy ) policyName { grantee [ ] domain-Scope-Expression ; [ subject [ ] domain-Scope-Expression ; ] [ target [ ] domain-Scope-Expression ; ] [ action action-list ; ] [ when constraint-Expression ; ] [ valid constraint-Expression ; ] } Beispiel : Positive Delegation Policy inst deleg+ (switchPolicyOps) delegSwitchOps { grantee/DomainAdmin ; target/Nregion/switches/typeA ; action enable( ), disable( ) ; valid time.duration(24) ; }

12 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Delegation Policies Grafik : Zu Authorisation und Delegation

13 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Obligation Policies Syntax einer Obligation Policy instobligpolicyName { on event-specification ; subject [ ] domain-Scope-Expression ; [ target [ ] domain-Scope-Expression ; ] do obligation-action-list ; [ catch exception-specification ; ] [ when constraint-Expression ; ] } Beispiel : Obligation Policy instobligloginFailure { on 3*loginfail (userid) ; subject s = /NRegion/SecAdmin ; target t = /NRegion/users ^ {userid} ; do t.disable() -> s.log(userid) ; }

14 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Refrain Policies Beispiel : Refrain Policy inst refrain testingRes{ subjects= /test-engineers ; target/analysts + / developers ; actiondiscloseTestResults() ; when s.testing_sequence = in-progress ; }

15 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Group Syntax der Group inst group groupName { { basic-policy-definition } { group-definition } { meta-policy-defition } } Beispiel : Group inst group loginGroup { inst auth+ staffLoginAuth{ subject /dept/users/staff ; target/dept/computers/research ; actionlogin ; } inst oblig loginactions { subject s = /dept/computers/loginAgent ; on loginevent (userid, comptuerid) ; target t = computerid ^ {/dept/computers/} do s.log (userid, computerid) -> t.loadenvironment (userid) ; } inst oblig loginFailure {…} //siehe Beispiel oben }

16 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Role Syntax einer Role inst role roleName { { basic-policy-definition } { group-definition} { subject-domain] Beispiel : Policy Roles type role ServiceEngineer (CallsDB callsDb){ inst oblig serviceComplaint { on customerComplaint (mobileNo) ; do t.checkSubscriberInfo (mobileNo, userid) -> t.checkPhoneCallList (mobileNo) -> investigate_complaint (userId) ; target t = callsDb ; // calls register } inst oblig deactivateAccount {… } inst auth+ serviceActionsAuth { … } //other Policies }

17 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Policy type Spezialisierung und Hierarchien von Roles Syntax typeroleroleTypeName{ formalParameters } extendsparentRoleType{ actualparameters }{ role-body} Beispiel : Vererbung von Roles typerole MSServEngineer (CallsDB vlr, SqlDB eqRegistry) extends ServiceEngineer (cdb){ instoblig maintainProblem{ onMSfailure (equipmentId ) ;// MS = Mobile Station do updateRecord(equipmentId) ; target eqRegistry //Equipment identity registry }

18 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Policy type Spezialisierung und Hierarchien von Roles Grafik : Role Hierarchie Beispiel : Role Hierarchie typerole EmployeeT (…){ …} typerole AdmStaff (…) extends Employee {... } typerole ResearchStaffT (…)extends Employee {... } typerole SecretaryT ( …) extends AdmStaff {... } type role SoftDeveloperT (…) extends ResearchStaff {...} type role ProjectManagerT (…) extends ResearchStaff {...}

19 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Relationships Beispiel : Relationship type rel ReportingT (ProjectManagerT pm, SecretaryT secr) { inst oblig reportWeekly { on timer.day (monday) ; subject secr ; target pm ; do mailReport() ; }

20 1.Einführung 2.Policies: Begriff 2.1 Authorisation Policies 2.2 Delegation Policies 2.3 Obligation Policies 2.4 Refrain Policies 3. Zusammengesetzte Policies 3.1 Group 3.2 Role 3.3 Policy type Spezialisierung und Hierarchien von Roles 3.4 Relationships 4. Schlussfolgerung Schlussfolgerung Ponder kann flexibel auf äußere Umstände reagieren. Mit zusammengesetzten Policies (Groups, Roles und Relationsips) lassen sich gut die Strukturen einer Organisation wiedergeben. Erweiterbarkeit von Ponder.