mondrian applying dynamic security - pentaho
TRANSCRIPT
![Page 1: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/1.jpg)
Applying dynamic security in Mondrian
David Fombella Pombal http://anonymousbi.wordpress.com
@Pentaho_Fan
![Page 2: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/2.jpg)
Applying dynamic security in Mondrian 2
About me
Simple Scenario
Complex Scenario
Introduction
Solution 1: Roles created using ETL
Solution 2: Dynamic Security
Applying dynamic security in Mondrian
![Page 3: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/3.jpg)
Applying dynamic security in Mondrian 3
About Me
Simple Scenario
Complex Scenario
Introduction
Solution 1: Roles created using ETL
Solution 2: Dynamic Security
Applying dynamic security in Mondrian
![Page 4: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/4.jpg)
Applying dynamic security in Mondrian 4
David Fombella PombalBI Consultant, Technical Developmental Editor and Pentaho Community Guy
About me
![Page 5: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/5.jpg)
Applying dynamic security in Mondrian 5
About Me
Simple Scenario
Complex Scenario
Introduction
Solution 1: Roles created using ETL
Solution 2: Dynamic Security
Applying dynamic security in Mondrian
![Page 6: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/6.jpg)
Applying dynamic security in Mondrian 6
Introduction•Mondrian is an open source ROLAP server written in Java
•Reads from JDBC data sources
•Implements the MDX language
•Supports the XML for Analysis and olap4j interface specifications.
•Included in Pentaho suite
![Page 7: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/7.jpg)
Applying dynamic security in Mondrian 7
Introduction•Mondrian allows role based data access
•Each user is assigned one or more roles
•Data access rules are set on the schema file
![Page 8: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/8.jpg)
Applying dynamic security in Mondrian 8
About Me
Simple Scenario
Complex Scenario
Introduction
Solution 1: Roles created using ETL
Solution 2: Dynamic Security
Applying dynamic security in Mondrian
![Page 9: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/9.jpg)
Applying dynamic security in Mondrian 9
Simple Scenario•President has access to full data
•Country manager has access to a specific country
•A few roles are required
•Roles are created and assigned manually
•Access rules are edited by hand in XML file
![Page 10: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/10.jpg)
Applying dynamic security in Mondrian 10
About me
Simple Scenario
Complex Scenario
Introduction
Solution 1: Roles created using ETL
Solution 2: Dynamic Security
Applying dynamic security in Mondrian
![Page 11: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/11.jpg)
Applying dynamic security in Mondrian 11
Complex Scenario•Case in Hand: PentahoFan fictitious company
•International multi-channel retailer
•Collects sales data from all its stores
•Needs to limit data visibility per user/role
•Stores distributed over five continents
•4 categories of users : President, Continent Manager, Country Manager and Store Manager
•Over 8000 stores
![Page 12: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/12.jpg)
Applying dynamic security in Mondrian 12
First reaction
Panic!
![Page 13: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/13.jpg)
Applying dynamic security in Mondrian 13
Problem description•Users and Security information will be stored in 2 database tables (users, users_scope)
usersu_userid
usersu_username
1 President
2 EuropeManager
3 NorthAmericaManager
4 AfricaManager
16 SpainManager
20 USManager
21 EgyptManager
50 Store1Manager
58 Store7Manager
59 Store8Manager
users_scopes_userid
users_scopes_storeid
1 1
1 2
1 100
2 1
2 2
2 3
16 1
16 2
50 1
58 7
![Page 14: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/14.jpg)
Applying dynamic security in Mondrian 14
Dimensions Measures
Problem description
•Quantity
•Amount
![Page 15: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/15.jpg)
Applying dynamic security in Mondrian 15
Easy to use +Open Source +BI Solution =Pentaho andMondrian!
Searching
![Page 16: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/16.jpg)
Applying dynamic security in Mondrian 16
About me
Simple Scenario
Complex Scenario
Introduction
Solution 1: Roles created using ETL
Solution 2: Dynamic Security
Applying dynamic security in Mondrian
![Page 17: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/17.jpg)
Applying dynamic security in Mondrian 17
Solution 1: Roles created using ETL•Add Roles to a Mondrian schema template using a Kettle Transformation
![Page 18: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/18.jpg)
Applying dynamic security in Mondrian 18
Solution 1: Roles created using ETL
Problems:
•Performance issues
•ETL execution required if a new store opens
•Cube up to date?
![Page 19: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/19.jpg)
Applying dynamic security in Mondrian 19
About Me
Simple Scenario
Complex Scenario
Introduction
Solution 1: Roles created using ETL
Solution 2: Dynamic Security
Applying dynamic security in Mondrian
![Page 20: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/20.jpg)
Applying dynamic security in Mondrian 20
Solution 2: Dynamic Security
Dynamic Schema Processor
•Restricting data using a dynamic schema processor (DSP)
•Prior to Mondrian using the schema, the DSP can modify the schema.
![Page 21: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/21.jpg)
Applying dynamic security in Mondrian 21
Time to code
Java +Eclipse IDE =Perfect combination!
![Page 22: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/22.jpg)
Applying dynamic security in Mondrian 22
Solution 2: Dynamic Security
![Page 23: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/23.jpg)
Applying dynamic security in Mondrian 23
Solution 2: Dynamic Security•Restricting data in store dimension using SQL view
![Page 24: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/24.jpg)
Applying dynamic security in Mondrian 24
Solution 2: Dynamic Security
•Sales Cube using a SQL view
![Page 25: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/25.jpg)
Applying dynamic security in Mondrian 25
Solution 2: Dynamic Security
Benefits:
• Nice Performance
• Updated cube
• Go live
![Page 26: Mondrian applying dynamic security - Pentaho](https://reader036.vdocuments.net/reader036/viewer/2022062400/58aa84061a28ab2e448b5129/html5/thumbnails/26.jpg)
Applying dynamic security in Mondrian 26
The End