SlideShare a Scribd company logo
Bezlio Server Administration and
Security
Adam Ellis
SaberLogic
Bezlio Security Overview
• Imagine you have a door with a
keypad lock like this
• Codes
• Shared by all
• Per employee
• Shared by department
• Implications when somebody
moves on
• Now imagine the other side of the
door has a keypad as well
• For anybody to get in, the
employee and somebody on the
other side need to punch in the
same code
• This parallels the first layer of
security within Bezlio…letting
users in the door
How This Ties To Bezlio
1. Generate a code within
Bezlio on the Data tab:
Server Setup
• Now for setting up the server side
• BRDB is the “person on the other side of the door” permitting
access
• Only needs to be installed once, but needs to know all of the
codes
• Note that it can be installed multiple times for:
• Multiple private networks (i.e. different doors)
• Redundancy
• Requirements
• .Net 4.6.1
• Chrome Browser
Bezlio - Server Administration and Security
Server Setup
• After installation, start the service called ‘Bezlio Remote Data
Broker’
• Now open up Chrome and navigate to http://localhost:3600
(unless you changed that during setup)
Bezlio - Server Administration and Security
Server Setup
• Now they are in the door
• Next let’s determine what they are allowed to do
• Many factors:
• Which plugins were installed?
• How are these plugins configured?
• What plugin instances is this code authorized for?
• Have you permitted direct plugin access?
• Are any dynamic filters being added on the data?
Which Plugins Were Installed?
• During installation, check the boxes of plugins you want for our
distributed plugins
• Re-run installer at any time to change installed
• Non distributed plugins and source for all is available at
https://github.com/bezlio/bezlio-plugins
• A plugin is installed when it’s DLL (and possibly config) are
placed into the folder C:Program Files (x86)Bezlio Remote
Data BrokerPlugins and the service is restarted
How Are These Plugins Configured
• Since plugins are an open architecture, each may have unique
needs when it comes to configuration
• See https://github.com/bezlio/bezlio-plugins for documentation
per plugin on these configuration details
• We will use SQL Server as an example here
SQL Server Plugin
• Edit C:Program Files (x86)Bezlio Remote Data
BrokerPluginsSQLServer.dll.config in text editor of choice
• Two elements are defined in this file:
• Directory locations where you intend to store your query files that are
permitted by connection ID
• Connection details for each of the databases you wish to expose
• Note we only support SQL Server Authentication at this point (no Active Directory
accounts)
• Format of this file is XML with embedded JSON strings to define
values
1. Directory Locations
SQL Server Plugin
What is in these folders:
2. Connection Details
SQL Server Plugin
How this presents to the user (assuming direct plugin access described in a moment):
SQL Server Plugin - Takeaway
• Users can only run the queries you have predefined them being
able to run
• NO arbitrary SQL
• They can only run them against the databases you have
pointed to using the credentials you have specified
• Every SQL folder and connection is available for selection
within the wizards
What Plugin Instances Are Authorized?
• A plugin instance allows you to create a friendly name for a
plugin and pre-fill in all of the bits you don’t want users to have
to bother with
• Only the fields you leave blank will be prompted for
• These plugin instances can be locked down to specific
connection IDs
• Currently - do not use spaces or special characters in the
name. We suggest kabob-case:
• your-plugin-instance-name
Bezlio - Server Administration and Security
What Plugin Instances Are Authorized?
• You do not need to
restart BRDB, but it
may take a minute
before it is fully
synced up
With Query Field Left Blank
With Connection And Query Left Blank
Wired Directly Up To A Single Query
Have You Configured Direct Plugin Access?
• By default direct plugin access is enabled
• This means users will see the plugins listed as resources and
need to “fill in all of the blanks”
• For example, when enabled all users on this BRDB server could
see all SQL folders and connections
• You could break up security with multiple BRDB servers serving
different user groups
Bezlio - Server Administration and Security
Direct Plugin Access
Disabled
Direct Plugin Access
Enabled
Are Any Dynamic Data Filters In Place?
• Supported by any plugin that utilizes .SQL files
• Special “variables” can be used within .SQL to filter down data
• Act as a “find and replace” so can be used anywhere within
.SQL file
• Be mindful of quotes – if the data it replaces needs enclosed in single
quotes, variable does too
• Populated within parameters from Bezlio portal
Example Query
SELECT
CustID
FROM
Erp.Customer
WHERE
SalesRepCode = ‘{MySalesRepCode}’
Within Bezlio
Or Via Javascript…
bezl.dataService.add('Customers'
,'brdb'
,'adam-queries'
,'ExecuteQuery'
, { Connection: 'Production'
, QueryName: 'Customers'
, Parameters: [
{ Key: 'MySalesRepCode', Value: 'LANE' }
]
},0);
Special Values
• bezl.env.currentUser: The e-mail address of the logged in
Bezlio user
• bezl.env.currentUserName: The first and last name of the
logged in Bezlio user.
• bezl.env.currentLat: The current latitude (via GPS) of the logged
in user.
• bezl.env.currentLng: The current longitude (via GPS) of the
logged in user.
Bonus Tip: Arbitrary SQL
• The SQL Plugin does not by default allow arbitrary SQL
• This was a security design concept
• If you prefer otherwise, just make a plugin instance with
variables:
Bezlio - Server Administration and Security
Thank You!
Website: https://bezl.io
Email: sales@bezl.io
Phone: +1 855 335 6442

More Related Content

PDF
Requirements Traceability Links
Eccam
 
PDF
Custom Requirement Attributes
Eccam
 
PPTX
Microsoft SQL Server 2008
Hossein Zahed
 
PPT
Entity Framework Overview
ukdpe
 
PDF
Design Summit - Security Roadmap - Keenan Brock, Alberto Bellotti
ManageIQ
 
PPSX
Using forms in oXygen XML editor
IXIASOFT
 
PPTX
.Net Fundamentals
Sunny Sharma
 
PDF
Infinum Android Talks #09 - DBFlow ORM
Infinum
 
Requirements Traceability Links
Eccam
 
Custom Requirement Attributes
Eccam
 
Microsoft SQL Server 2008
Hossein Zahed
 
Entity Framework Overview
ukdpe
 
Design Summit - Security Roadmap - Keenan Brock, Alberto Bellotti
ManageIQ
 
Using forms in oXygen XML editor
IXIASOFT
 
.Net Fundamentals
Sunny Sharma
 
Infinum Android Talks #09 - DBFlow ORM
Infinum
 

What's hot (20)

PPTX
Using the Cascade Server Web Service API, by Artur Tomusiak
hannonhill
 
PPTX
003. ReactJS basic
Binh Quan Duc
 
PPT
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
Subhas Malik
 
PDF
2015-StarWest presentation on REST-assured
Eing Ong
 
PPTX
Windows communication foundation (part2) jaliya udagedara
Jaliya Udagedara
 
PDF
WebSocketson WildFly
JBUG London
 
PPT
SQL Server 2008 Positioning
ukdpe
 
PPTX
Introduction to React by Ebowe Blessing
Blessing Ebowe
 
PPTX
Anypoint connector dev kit
Son Nguyen
 
PDF
Advanced Asp.Net Concepts And Constructs
Manny Siddiqui MCS, MBA, PMP
 
PDF
JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPTX
Using MVC with Kentico 8
Thomas Robbins
 
PPTX
Power shell basics day 3
Ashish Raj
 
PPTX
Session 25 - Introduction to JEE, Servlets
PawanMM
 
PPTX
Eclipse orion
Nguyen Quang
 
PPTX
Asp Net Advance Topics
Ali Taki
 
PDF
JavaCro'15 - Secure Web Services Development - Askar Akhmerov
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
KEY
Using an in-house WordPress framework
peterwilsoncc
 
PPTX
Building dynamic applications with the share point client object model
Eric Shupps
 
PPTX
ATG - Installing WebLogic Server
Keyur Shah
 
Using the Cascade Server Web Service API, by Artur Tomusiak
hannonhill
 
003. ReactJS basic
Binh Quan Duc
 
The complete ASP.NET (IIS) Tutorial with code example in power point slide show
Subhas Malik
 
2015-StarWest presentation on REST-assured
Eing Ong
 
Windows communication foundation (part2) jaliya udagedara
Jaliya Udagedara
 
WebSocketson WildFly
JBUG London
 
SQL Server 2008 Positioning
ukdpe
 
Introduction to React by Ebowe Blessing
Blessing Ebowe
 
Anypoint connector dev kit
Son Nguyen
 
Advanced Asp.Net Concepts And Constructs
Manny Siddiqui MCS, MBA, PMP
 
JavaCro'15 - Service Discovery in OSGi Beyond the JVM using Docker and Consul...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Using MVC with Kentico 8
Thomas Robbins
 
Power shell basics day 3
Ashish Raj
 
Session 25 - Introduction to JEE, Servlets
PawanMM
 
Eclipse orion
Nguyen Quang
 
Asp Net Advance Topics
Ali Taki
 
JavaCro'15 - Secure Web Services Development - Askar Akhmerov
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Using an in-house WordPress framework
peterwilsoncc
 
Building dynamic applications with the share point client object model
Eric Shupps
 
ATG - Installing WebLogic Server
Keyur Shah
 
Ad

Recently uploaded (20)

PPTX
Chapter 3 Distributive Negotiation: Claiming Value
badranomar1990
 
DOCX
India's Emerging Global Leadership in Sustainable Energy Production The Rise ...
Insolation Energy
 
PDF
bain-temasek-sea-green-economy-2022-report-investing-behind-the-new-realities...
YudiSaputra43
 
PPTX
Business Plan Presentation: Vision, Strategy, Services, Growth Goals & Future...
neelsoni2108
 
PPTX
Memorandum and articles of association explained.pptx
Keerthana Chinnathambi
 
PDF
India Cold Chain Storage And Logistics Market: From Farm Gate to Consumer – T...
Kumar Satyam
 
PDF
NewBase 26 July 2025 Energy News issue - 1806 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
PDF
Unveiling the Latest Threat Intelligence Practical Strategies for Strengtheni...
Auxis Consulting & Outsourcing
 
PPTX
Final PPT on DAJGUA, EV Charging, Meter Devoloution, CGRF, Annual Accounts & ...
directord
 
PDF
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
PPTX
Social Media Marketing for Business Growth
vidhi622006
 
PDF
Using Innovative Solar Manufacturing to Drive India's Renewable Energy Revolu...
Insolation Energy
 
PDF
A Complete Guide to Data Migration Services for Modern Businesses
Aurnex
 
PDF
MBA-I-Year-Session-2024-20hzuxutiytidydy
cminati49
 
PDF
Top 10 Corporates in India Investing in Sustainable Energy.pdf
Essar Group
 
PDF
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
PPTX
E-Way Bill under GST – Transport & Logistics.pptx
Keerthana Chinnathambi
 
PDF
2025 07 29 The Future, Backwards Agile 2025.pdf
Daniel Walsh
 
PPTX
Appreciations - July 25.pptxffsdjjjjjjjjjjjj
anushavnayak
 
PDF
12 Oil and Gas Companies in India Driving the Energy Sector.pdf
Essar Group
 
Chapter 3 Distributive Negotiation: Claiming Value
badranomar1990
 
India's Emerging Global Leadership in Sustainable Energy Production The Rise ...
Insolation Energy
 
bain-temasek-sea-green-economy-2022-report-investing-behind-the-new-realities...
YudiSaputra43
 
Business Plan Presentation: Vision, Strategy, Services, Growth Goals & Future...
neelsoni2108
 
Memorandum and articles of association explained.pptx
Keerthana Chinnathambi
 
India Cold Chain Storage And Logistics Market: From Farm Gate to Consumer – T...
Kumar Satyam
 
NewBase 26 July 2025 Energy News issue - 1806 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
Unveiling the Latest Threat Intelligence Practical Strategies for Strengtheni...
Auxis Consulting & Outsourcing
 
Final PPT on DAJGUA, EV Charging, Meter Devoloution, CGRF, Annual Accounts & ...
directord
 
High Capacity Core IC Pneumatic Spec-Sheet
Forklift Trucks in Minnesota
 
Social Media Marketing for Business Growth
vidhi622006
 
Using Innovative Solar Manufacturing to Drive India's Renewable Energy Revolu...
Insolation Energy
 
A Complete Guide to Data Migration Services for Modern Businesses
Aurnex
 
MBA-I-Year-Session-2024-20hzuxutiytidydy
cminati49
 
Top 10 Corporates in India Investing in Sustainable Energy.pdf
Essar Group
 
Followers to Fees - Social media for Speakers
Corey Perlman, Social Media Speaker and Consultant
 
E-Way Bill under GST – Transport & Logistics.pptx
Keerthana Chinnathambi
 
2025 07 29 The Future, Backwards Agile 2025.pdf
Daniel Walsh
 
Appreciations - July 25.pptxffsdjjjjjjjjjjjj
anushavnayak
 
12 Oil and Gas Companies in India Driving the Energy Sector.pdf
Essar Group
 
Ad

Bezlio - Server Administration and Security

  • 1. Bezlio Server Administration and Security Adam Ellis SaberLogic
  • 3. • Imagine you have a door with a keypad lock like this • Codes • Shared by all • Per employee • Shared by department • Implications when somebody moves on
  • 4. • Now imagine the other side of the door has a keypad as well • For anybody to get in, the employee and somebody on the other side need to punch in the same code • This parallels the first layer of security within Bezlio…letting users in the door
  • 5. How This Ties To Bezlio 1. Generate a code within Bezlio on the Data tab:
  • 6. Server Setup • Now for setting up the server side • BRDB is the “person on the other side of the door” permitting access • Only needs to be installed once, but needs to know all of the codes • Note that it can be installed multiple times for: • Multiple private networks (i.e. different doors) • Redundancy • Requirements • .Net 4.6.1 • Chrome Browser
  • 8. Server Setup • After installation, start the service called ‘Bezlio Remote Data Broker’ • Now open up Chrome and navigate to http://localhost:3600 (unless you changed that during setup)
  • 10. Server Setup • Now they are in the door • Next let’s determine what they are allowed to do • Many factors: • Which plugins were installed? • How are these plugins configured? • What plugin instances is this code authorized for? • Have you permitted direct plugin access? • Are any dynamic filters being added on the data?
  • 11. Which Plugins Were Installed? • During installation, check the boxes of plugins you want for our distributed plugins • Re-run installer at any time to change installed • Non distributed plugins and source for all is available at https://github.com/bezlio/bezlio-plugins • A plugin is installed when it’s DLL (and possibly config) are placed into the folder C:Program Files (x86)Bezlio Remote Data BrokerPlugins and the service is restarted
  • 12. How Are These Plugins Configured • Since plugins are an open architecture, each may have unique needs when it comes to configuration • See https://github.com/bezlio/bezlio-plugins for documentation per plugin on these configuration details • We will use SQL Server as an example here
  • 13. SQL Server Plugin • Edit C:Program Files (x86)Bezlio Remote Data BrokerPluginsSQLServer.dll.config in text editor of choice • Two elements are defined in this file: • Directory locations where you intend to store your query files that are permitted by connection ID • Connection details for each of the databases you wish to expose • Note we only support SQL Server Authentication at this point (no Active Directory accounts) • Format of this file is XML with embedded JSON strings to define values
  • 15. SQL Server Plugin What is in these folders:
  • 17. SQL Server Plugin How this presents to the user (assuming direct plugin access described in a moment):
  • 18. SQL Server Plugin - Takeaway • Users can only run the queries you have predefined them being able to run • NO arbitrary SQL • They can only run them against the databases you have pointed to using the credentials you have specified • Every SQL folder and connection is available for selection within the wizards
  • 19. What Plugin Instances Are Authorized? • A plugin instance allows you to create a friendly name for a plugin and pre-fill in all of the bits you don’t want users to have to bother with • Only the fields you leave blank will be prompted for • These plugin instances can be locked down to specific connection IDs • Currently - do not use spaces or special characters in the name. We suggest kabob-case: • your-plugin-instance-name
  • 21. What Plugin Instances Are Authorized? • You do not need to restart BRDB, but it may take a minute before it is fully synced up
  • 22. With Query Field Left Blank
  • 23. With Connection And Query Left Blank
  • 24. Wired Directly Up To A Single Query
  • 25. Have You Configured Direct Plugin Access? • By default direct plugin access is enabled • This means users will see the plugins listed as resources and need to “fill in all of the blanks” • For example, when enabled all users on this BRDB server could see all SQL folders and connections • You could break up security with multiple BRDB servers serving different user groups
  • 27. Direct Plugin Access Disabled Direct Plugin Access Enabled
  • 28. Are Any Dynamic Data Filters In Place? • Supported by any plugin that utilizes .SQL files • Special “variables” can be used within .SQL to filter down data • Act as a “find and replace” so can be used anywhere within .SQL file • Be mindful of quotes – if the data it replaces needs enclosed in single quotes, variable does too • Populated within parameters from Bezlio portal
  • 31. Or Via Javascript… bezl.dataService.add('Customers' ,'brdb' ,'adam-queries' ,'ExecuteQuery' , { Connection: 'Production' , QueryName: 'Customers' , Parameters: [ { Key: 'MySalesRepCode', Value: 'LANE' } ] },0);
  • 32. Special Values • bezl.env.currentUser: The e-mail address of the logged in Bezlio user • bezl.env.currentUserName: The first and last name of the logged in Bezlio user. • bezl.env.currentLat: The current latitude (via GPS) of the logged in user. • bezl.env.currentLng: The current longitude (via GPS) of the logged in user.
  • 33. Bonus Tip: Arbitrary SQL • The SQL Plugin does not by default allow arbitrary SQL • This was a security design concept • If you prefer otherwise, just make a plugin instance with variables: