SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Applying dynamic security in Mondrian
David Fombella Pombal
http://anonymousbi.wordpress.com
@Pentaho_Fan
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
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
Applying dynamic security in Mondrian 4
David Fombella Pombal
BI Consultant, Technical Developmental Editor and
Pentaho Community Guy
About me
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
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
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
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
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
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
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
Applying dynamic security in Mondrian 12
First reaction
Panic!
Applying dynamic security in Mondrian 13
Problem description
•Users and Security information will be stored in 2
database tables (users, users_scope)
users
u_userid
users
u_username
1 President
2 EuropeManager
3 NorthAmericaManager
4 AfricaManager
16 SpainManager
20 USManager
21 EgyptManager
50 Store1Manager
58 Store7Manager
59 Store8Manager
users_scope
s_userid
users_scope
s_storeid
1 1
1 2
1 100
2 1
2 2
2 3
16 1
16 2
50 1
58 7
Applying dynamic security in Mondrian 14
Dimensions Measures
Problem description
•Quantity
•Amount
Applying dynamic security in Mondrian 15
Easy to use +
Open Source +
BI Solution =
Pentaho and
Mondrian!
Searching
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
Applying dynamic security in Mondrian 17
Solution 1: Roles created using ETL
•Add Roles to a Mondrian schema template using a Kettle
Transformation
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?
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
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.
Applying dynamic security in Mondrian 21
Time to code
Java +
Eclipse IDE =
Perfect
combination!
Applying dynamic security in Mondrian 22
Solution 2: Dynamic Security
Applying dynamic security in Mondrian 23
Solution 2: Dynamic Security
•Restricting data in store dimension using SQL view
Applying dynamic security in Mondrian 24
Solution 2: Dynamic Security
•Sales Cube using a SQL view
Applying dynamic security in Mondrian 25
Solution 2: Dynamic Security
Benefits:
• Nice Performance
• Updated cube
• Go live
Applying dynamic security in Mondrian 26
The End

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (8)

Social Networking
Social NetworkingSocial Networking
Social Networking
 
System development life cycle
System development life cycleSystem development life cycle
System development life cycle
 
Gram negative rods
Gram negative rodsGram negative rods
Gram negative rods
 
Ieee paper mobile boadband
Ieee paper mobile boadbandIeee paper mobile boadband
Ieee paper mobile boadband
 
Rss
RssRss
Rss
 
Record Storage
Record StorageRecord Storage
Record Storage
 
Troublemaker
TroublemakerTroublemaker
Troublemaker
 
Walk Through Wednesday
Walk Through WednesdayWalk Through Wednesday
Walk Through Wednesday
 

Ähnlich wie Dynamic security in Mondrian using roles and a schema processor

Business Intelligence Solutions
Business Intelligence SolutionsBusiness Intelligence Solutions
Business Intelligence SolutionsSumit Gadgilwar
 
Docker taylor swift and protection v06
Docker taylor swift and protection v06Docker taylor swift and protection v06
Docker taylor swift and protection v06marketingunitrends
 
Disaster Recovery Solutions
Disaster Recovery SolutionsDisaster Recovery Solutions
Disaster Recovery SolutionsManuel Daza
 
SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...
SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...
SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...SWITCHPOINT NV/SA
 
TrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data CenterTrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data CenterVMUG IT
 
A Microservice Architecture for Big Data Pipelines
A Microservice Architecture for Big Data PipelinesA Microservice Architecture for Big Data Pipelines
A Microservice Architecture for Big Data PipelinesDaniel Mescheder
 
SharePoint Saturday Netherlands 2019 - Citizen dev. and the admin
SharePoint Saturday Netherlands 2019 - Citizen dev. and the adminSharePoint Saturday Netherlands 2019 - Citizen dev. and the admin
SharePoint Saturday Netherlands 2019 - Citizen dev. and the adminAlbert Hoitingh
 
How to Build a Basic Edge Cloud
How to Build a Basic Edge CloudHow to Build a Basic Edge Cloud
How to Build a Basic Edge CloudMirantis
 
A Plan to Control and Protect Data in the Private and Public Cloud
A Plan to Control and Protect Data in the Private and Public CloudA Plan to Control and Protect Data in the Private and Public Cloud
A Plan to Control and Protect Data in the Private and Public CloudRochester Security Summit
 
Code to Cloud Workshop
Code to Cloud WorkshopCode to Cloud Workshop
Code to Cloud WorkshopJamie Coleman
 
IoT Seminar (Oct. 2016) Nicolas Damour - Sierra Wireless
IoT Seminar (Oct. 2016) Nicolas Damour - Sierra WirelessIoT Seminar (Oct. 2016) Nicolas Damour - Sierra Wireless
IoT Seminar (Oct. 2016) Nicolas Damour - Sierra WirelessOpen Mobile Alliance
 
Combining LwM2M and OneM2M
Combining LwM2M and OneM2MCombining LwM2M and OneM2M
Combining LwM2M and OneM2MNicolas Damour
 
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...Sandeep Patil
 
Threat_Modelling.pdf
Threat_Modelling.pdfThreat_Modelling.pdf
Threat_Modelling.pdfMarlboroAbyad
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"Daniel Bryant
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleJAXLondon_Conference
 
Becoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software VendorsBecoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software VendorsSolarWinds
 
VMworld 2013: How to make most out of your Hybrid Cloud
VMworld 2013: How to make most out of your Hybrid Cloud VMworld 2013: How to make most out of your Hybrid Cloud
VMworld 2013: How to make most out of your Hybrid Cloud VMworld
 

Ähnlich wie Dynamic security in Mondrian using roles and a schema processor (20)

Business Intelligence Solutions
Business Intelligence SolutionsBusiness Intelligence Solutions
Business Intelligence Solutions
 
Docker taylor swift and protection v06
Docker taylor swift and protection v06Docker taylor swift and protection v06
Docker taylor swift and protection v06
 
Disaster Recovery Solutions
Disaster Recovery SolutionsDisaster Recovery Solutions
Disaster Recovery Solutions
 
SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...
SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...
SOPHOS presentation used during the SWITCHPOINT NV/SA Quarterly Experience Da...
 
TrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data CenterTrendMicro - Security Designed for the Software-Defined Data Center
TrendMicro - Security Designed for the Software-Defined Data Center
 
A Microservice Architecture for Big Data Pipelines
A Microservice Architecture for Big Data PipelinesA Microservice Architecture for Big Data Pipelines
A Microservice Architecture for Big Data Pipelines
 
SharePoint Saturday Netherlands 2019 - Citizen dev. and the admin
SharePoint Saturday Netherlands 2019 - Citizen dev. and the adminSharePoint Saturday Netherlands 2019 - Citizen dev. and the admin
SharePoint Saturday Netherlands 2019 - Citizen dev. and the admin
 
How to Build a Basic Edge Cloud
How to Build a Basic Edge CloudHow to Build a Basic Edge Cloud
How to Build a Basic Edge Cloud
 
Is Docker Secure?
Is Docker Secure?Is Docker Secure?
Is Docker Secure?
 
A Plan to Control and Protect Data in the Private and Public Cloud
A Plan to Control and Protect Data in the Private and Public CloudA Plan to Control and Protect Data in the Private and Public Cloud
A Plan to Control and Protect Data in the Private and Public Cloud
 
Code to Cloud Workshop
Code to Cloud WorkshopCode to Cloud Workshop
Code to Cloud Workshop
 
IoT Seminar (Oct. 2016) Nicolas Damour - Sierra Wireless
IoT Seminar (Oct. 2016) Nicolas Damour - Sierra WirelessIoT Seminar (Oct. 2016) Nicolas Damour - Sierra Wireless
IoT Seminar (Oct. 2016) Nicolas Damour - Sierra Wireless
 
Combining LwM2M and OneM2M
Combining LwM2M and OneM2MCombining LwM2M and OneM2M
Combining LwM2M and OneM2M
 
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...
 
Threat_Modelling.pdf
Threat_Modelling.pdfThreat_Modelling.pdf
Threat_Modelling.pdf
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
 
Becoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software VendorsBecoming Secure By Design: Questions You Should Ask Your Software Vendors
Becoming Secure By Design: Questions You Should Ask Your Software Vendors
 
VMworld 2013: How to make most out of your Hybrid Cloud
VMworld 2013: How to make most out of your Hybrid Cloud VMworld 2013: How to make most out of your Hybrid Cloud
VMworld 2013: How to make most out of your Hybrid Cloud
 
miniproject
miniprojectminiproject
miniproject
 

Kürzlich hochgeladen

Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfRachmat Ramadhan H
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 

Kürzlich hochgeladen (20)

Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
꧁❤ Aerocity Call Girls Service Aerocity Delhi ❤꧂ 9999965857 ☎️ Hard And Sexy ...
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 

Dynamic security in Mondrian using roles and a schema processor

  • 1. Applying dynamic security in Mondrian David Fombella Pombal http://anonymousbi.wordpress.com @Pentaho_Fan
  • 2. 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
  • 3. 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
  • 4. Applying dynamic security in Mondrian 4 David Fombella Pombal BI Consultant, Technical Developmental Editor and Pentaho Community Guy About me
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. Applying dynamic security in Mondrian 12 First reaction Panic!
  • 13. Applying dynamic security in Mondrian 13 Problem description •Users and Security information will be stored in 2 database tables (users, users_scope) users u_userid users u_username 1 President 2 EuropeManager 3 NorthAmericaManager 4 AfricaManager 16 SpainManager 20 USManager 21 EgyptManager 50 Store1Manager 58 Store7Manager 59 Store8Manager users_scope s_userid users_scope s_storeid 1 1 1 2 1 100 2 1 2 2 2 3 16 1 16 2 50 1 58 7
  • 14. Applying dynamic security in Mondrian 14 Dimensions Measures Problem description •Quantity •Amount
  • 15. Applying dynamic security in Mondrian 15 Easy to use + Open Source + BI Solution = Pentaho and Mondrian! Searching
  • 16. 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
  • 17. Applying dynamic security in Mondrian 17 Solution 1: Roles created using ETL •Add Roles to a Mondrian schema template using a Kettle Transformation
  • 18. 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?
  • 19. 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
  • 20. 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.
  • 21. Applying dynamic security in Mondrian 21 Time to code Java + Eclipse IDE = Perfect combination!
  • 22. Applying dynamic security in Mondrian 22 Solution 2: Dynamic Security
  • 23. Applying dynamic security in Mondrian 23 Solution 2: Dynamic Security •Restricting data in store dimension using SQL view
  • 24. Applying dynamic security in Mondrian 24 Solution 2: Dynamic Security •Sales Cube using a SQL view
  • 25. Applying dynamic security in Mondrian 25 Solution 2: Dynamic Security Benefits: • Nice Performance • Updated cube • Go live
  • 26. Applying dynamic security in Mondrian 26 The End