SlideShare uma empresa Scribd logo
1 de 19
An Approach for Multi-
tenant Applications with
Apache Knox
Larry McCay
Architect and Manager for Security Infra -
Hortonworks
Sumit Gupta
Technical Lead for Knox - Hortonworks
April 5th 2017 – DataWorks Summit Munich
2 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Disclaimer
 This document may contain product features and technology directions that are under development,
may be under development in the future or may ultimately never be developed.
 Product capabilities are based on information that is publicly available within the Apache Software
Foundation websites (“Apache”). Progress of the project capabilities can be tracked from inception to
release through Apache, however, technical feasibility, market demand, user feedback and the
overarching Apache Software Foundation community development process can all effect timing and
final delivery.
 This document’s description of these features and technology directions does not represent a
contractual commitment, promise or obligation from Hortonworks to deliver these features in any
generally available product.
 Product features and technology directions are subject to change, and must not be included in
contracts, purchase orders, or sales agreements of any kind.
 Since this document may contain an outline of general product development plans, customers should
not rely upon it when making purchasing decisions.
3 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Agenda
 Apache Knox
 Overview
 Topologies
 Identity Assertion and Authorization
 Multi-tenant Applications
 What are they?
 What are the concerns?
 Loanscore SaaS Application
 Overview,Requirements,Design
 Loanscore via Knox, Design
 Demo
 Q&A
4 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Apache Knox
5 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Apache Knox History and Community Growth
Mar 2013
Entered
Incubator
Oct 2013
0.1.0 - 0.3.0
Incubator
Releases
Feb 2014
Graduates
to
Apache TLP
Apr 2014
0.4.0
TLP
Release
Nov 2014
0.5.0 May 2015
0.6.0
Apr/Aug 2016
0.9.0/0.9.1
Feb 2016
0.8.0
Dec 2015
0.7.0
Nov 2016
0.10.0
Dec 2016
0.11.0
Mar 2017
0.12.0
TBD
1.0.0
Target
Release
Date
‱ Committers: 17
‱ Contributors from:
‱ Hortonworks, IBM,
CGI, Uber, Oracle,
Blue Talon
Apache 0.12.0/HDP 2.6
‱ Client SDK/DSL Improvements
‱ Apache Zeppelin Proxying
‱ YARN RM UI HA Support
‱ Knox Token Service
‱ Solr API and UI
Apache 0.11.0
‱ LDAP Improvements
‱ Hadoop Group Lookup Support
‱ Phoenix Server Support (Avatica)
‱ Management UI
‱ Metrics
@apache_knox
6 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Apache Knox Overview
Proxying Services
Primary goals of the Apache Knox
project is to provide access to Apache
Hadoop via proxying of HTTP resources.
Authentication Services
Authentication for REST API access as
well as WebSSO flow for UIs. LDAP/AD,
Header based PreAuth, Kerberos, SAML,
OAuth are all available options.
Client DSL/SDK Services
Client development can be done with
scripting through DSL or using the Knox
Shell classes directly as SDK.
WebSSO
Authentication
And
Federation
providers
Groovy based
DSL
Client DSL/SDK Services
HTTP
Proxying
Services
UIs
REST
APIs
Web
Sockets
Hive
Ambari
HBase
WebHCatWebHDFS
Hadoop
UIs
Authentication ServicesProxying Services
KnoxShell
SDK
Token
Sessions
REST
API
Classes
KnoxSSO/Token
YARN
Ranger
Zeppelin
Oozie
Phoenix
Gremlin
SQL/DB
SAML
OAuth
LDAP/AD
SPNEGO
Header
Based
YARN
RM
WebHCat
WebHDFS
Hive
YARN
RM
HBase
7 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Knox Topologies
 Which services to proxy
– For instance: Hive, WebHDFS, WebHCat, HBase, etc
 Unique URLs per topology
– For instance: https://localhost:8443/gateway/TOPOLOGY/webhdfs/v1
 Separate Hadoop clusters
– For example: dev.xml and prod.xml
 Different access requirements for the same cluster (through providers)
– token.xml and basic.xml
 Tenant specific access to the Knox services
– acme1.xml and acme2.xml
8 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Identity Assertion and Authorization
 Establish the effective identity
 Can alter the effective identity through:
 Principal mapping
 Regular expressions
 Concatenation of prefixes, suffixes
 Establishes security context for service level authorization checks through:
 The principal and group mapping or transforms described above
 Group lookup
 Service Level Authorization for the effective user
 Simple ACL based authorization provider
 Ranger Knox plugin
9 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Multi-tenant Applications
10 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
What is a Multi-tenant Application?
– Deployment
– Application
– Data
Shared Infrastructure
– Users have accounts within an Organization’s Account
– Each organization is a tenant
Account Context
11 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Multi-tenancy Concerns
– Tenants cannot view, modify or delete each other’s data
– Tenant admins may only affect tenant specific settings
– Application admins cannot access tenant data
Data Protection
– Users authenticate using their typical or chosen usernames
– Security context must include tenant membership (username ‘bob’ is too ambiguous)
– Only Authenticated and Authorized users may access the system
– Authentication Provider Flexibility
‱ Application managed providers
‱ Tenant specific provider integrations
Authentication
12 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Loanscore SaaS Application
13 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Loanscore SaaS Application
Continually improve risk assessment with a central risk model, analytics and
machine learning with tenant specific thresholds
– machine learning capabilities
– models for scoring risk
– small businesses and individuals can be scored
– configurable datasources (e.g. yelp)
 Application Provides
– Users are employees of the lending institution (e.g. an originator)
– Tenant specific authentication integrations
– Tenants have their own configuration/settings
– Tenants get their own sub-domain and branding
 Tenants are Lending Institutions
14 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Loanscore SaaS Application
Loan
Scoring
Business
Logic
and
Branding
Tenant
Specific
Authentication
(Login form,
LDAP, SAML,
etc)
User
Disambiguation
for access to
Hadoop
(bob ->
bob_goodloans)
Hadoop
Access
(Kerberos +
doas)
SAML
IDP
Corp
ADLDAP
Loanscore SaaS
Authentication
Application must account for authentication
configuration per tenant. This is for different
LDAP search bases within a shared LDAP or
tenant specific LDAP servers or IdP integrations.
Business Logic of the App
The business logic and branding of the
application for each tenant.
User Disambiguation
The effective security context for backend
interactions must contain the tenant affiliation
for authorization policy to be enforced properly.
Hadoop Access Patterns
REST API calls to Hadoop services generally
require kerberos+doas for secure clusters.
15 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Loanscore SaaS Application v2.0
Loan
Scoring
Business
Logic
and
Branding
Tenant
Specific
Authentication
(Login form,
LDAP, SAML,
etc)
User
Disambiguation
for access to
Hadoop
(bob ->
bob_goodloans)
Hadoop
Access
(Kerberos +
doas)
SAML
IDP
Corp
ADLDAP
Loanscore SaaS v2.0
Authentication
Application must account for authentication
configuration per tenant. This is for different
LDAP search bases within a shared LDAP or
tenant specific LDAP servers or IdP integrations.
Business Logic of the App
The business logic and branding of the
application for each tenant.
User Disambiguation
The effective security context for backend
interactions must contain the tenant affiliation
for authorization policy to be enforced properly.
Hadoop Access Patterns
REST API calls to Hadoop services generally
require kerberos+doas for secure clusters.
16 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Loanscore SaaS with Knox Services
Business Logic, Branding, Knox Client SDK
Loanscore SaaS
SAML
IDP
Corp
ADLDAP
Tenant
Specific
Authentication
User
Disambiguation
(identity
assertion)
KnoxSSO Proxying
Knox Authentication and Proxying Services
kerberos+doas or simple auth
Proxying Services
By proxying the app through Apache Knox, the
gateway is able to require authentication prior
to the user accessing the actual application.
Hadoop API access is also proxied through Knox
and the dispatch within the gateway handles
the kerberos+doas and user disambiguating
requirements.
Authentication Services
The authentication or federation provider
within the proxying topology for the tenant may
contain the actual authentication configuration
or may redirect to KnoxSSO for a WebSSO flow.
Client SDK
The backend of the application may consume
Hadoop REST APIs via the KnoxShell client
classes.
17 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Loanscore SaaS with Knox Services
Loanscore
ApplicationSAML
IDP
Corp
ADLDAP
goodloans-
sso.xml
goodloans.xml
(user
disambiguation)
KnoxSSO Proxying
https://goodloans.loanscore.comhttps://unwise.loanscore.com
doas=bob_goodloans
username: bob
password: ***
1. Goodloans originator bob navigates to the
goodloan’s loanscore app URL
2. Since he has yet to authenticate he is
redirected to the KnoxSSO topology for
goodloans
3. He is authenticated against the goodloan’s
configured identity provider. He provides his
username and password (bob:***)
4. Upon successful auth he is redirected back
the loanscore application and granted
access
5. The user principal propagated to the
loanscore app has been disambiguated by
adding the tenant name to the end of the
username (bob_goodloans) in the identity
assertion provider
6. Loanscore app adds a file to a tenant
specific directory within HDFS using
KnoxShell SDK classes
18 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Demo
19 © Hortonworks Inc. 2011 – 2017. All Rights Reserved
Q&A

Mais conteĂșdo relacionado

Mais procurados

Ranger admin dev overview
Ranger admin dev overviewRanger admin dev overview
Ranger admin dev overview
Tushar Dudhatra
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox Gateway
DataWorks Summit
 
Hadoop Security Today and Tomorrow
Hadoop Security Today and TomorrowHadoop Security Today and Tomorrow
Hadoop Security Today and Tomorrow
DataWorks Summit
 
Apache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army KnifeApache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army Knife
DataWorks Summit
 

Mais procurados (20)

Ranger admin dev overview
Ranger admin dev overviewRanger admin dev overview
Ranger admin dev overview
 
Hdp security overview
Hdp security overview Hdp security overview
Hdp security overview
 
Securing Hadoop's REST APIs with Apache Knox Gateway Hadoop Summit June 6th, ...
Securing Hadoop's REST APIs with Apache Knox Gateway Hadoop Summit June 6th, ...Securing Hadoop's REST APIs with Apache Knox Gateway Hadoop Summit June 6th, ...
Securing Hadoop's REST APIs with Apache Knox Gateway Hadoop Summit June 6th, ...
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox Gateway
 
Hadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, FutureHadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, Future
 
Open Source Security Tools for Big Data
Open Source Security Tools for Big DataOpen Source Security Tools for Big Data
Open Source Security Tools for Big Data
 
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache KnoxFortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
Fortifying Multi-Cluster Hybrid Cloud Data Lakes using Apache Knox
 
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
Security and Governance on Hadoop with Apache Atlas and Apache Ranger by Srik...
 
Treat your enterprise data lake indigestion: Enterprise ready security and go...
Treat your enterprise data lake indigestion: Enterprise ready security and go...Treat your enterprise data lake indigestion: Enterprise ready security and go...
Treat your enterprise data lake indigestion: Enterprise ready security and go...
 
Hadoop Security Today and Tomorrow
Hadoop Security Today and TomorrowHadoop Security Today and Tomorrow
Hadoop Security Today and Tomorrow
 
Nl HUG 2016 Feb Hadoop security from the trenches
Nl HUG 2016 Feb Hadoop security from the trenchesNl HUG 2016 Feb Hadoop security from the trenches
Nl HUG 2016 Feb Hadoop security from the trenches
 
Hadoop Security Architecture
Hadoop Security ArchitectureHadoop Security Architecture
Hadoop Security Architecture
 
Hadoop Security Today & Tomorrow with Apache Knox
Hadoop Security Today & Tomorrow with Apache KnoxHadoop Security Today & Tomorrow with Apache Knox
Hadoop Security Today & Tomorrow with Apache Knox
 
Hadoop Security: Overview
Hadoop Security: OverviewHadoop Security: Overview
Hadoop Security: Overview
 
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
Hadoop Security in Big-Data-as-a-Service Deployments - Presented at Hadoop Su...
 
Curb Your Insecurity - Tips for a Secure Cluster (with Spark too)!!
Curb Your Insecurity - Tips for a Secure Cluster (with Spark too)!!Curb Your Insecurity - Tips for a Secure Cluster (with Spark too)!!
Curb Your Insecurity - Tips for a Secure Cluster (with Spark too)!!
 
Managing enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystemManaging enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystem
 
Manage Add-On Services with Apache Ambari
Manage Add-On Services with Apache AmbariManage Add-On Services with Apache Ambari
Manage Add-On Services with Apache Ambari
 
Apache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army KnifeApache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army Knife
 
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
 

Destaque

Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
Varun Narang
 

Destaque (18)

Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise UsersApache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
 
Information security in big data -privacy and data mining
Information security in big data -privacy and data miningInformation security in big data -privacy and data mining
Information security in big data -privacy and data mining
 
Apache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOXApache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOX
 
Big Data Security with Hadoop
Big Data Security with HadoopBig Data Security with Hadoop
Big Data Security with Hadoop
 
Built-In Security for the Cloud
Built-In Security for the CloudBuilt-In Security for the Cloud
Built-In Security for the Cloud
 
Big Data and Security - Where are we now? (2015)
Big Data and Security - Where are we now? (2015)Big Data and Security - Where are we now? (2015)
Big Data and Security - Where are we now? (2015)
 
Hadoop
HadoopHadoop
Hadoop
 
Troubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the BeastTroubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the Beast
 
Hadoop Internals (2.3.0 or later)
Hadoop Internals (2.3.0 or later)Hadoop Internals (2.3.0 or later)
Hadoop Internals (2.3.0 or later)
 
Hadoop and Data Access Security
Hadoop and Data Access SecurityHadoop and Data Access Security
Hadoop and Data Access Security
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY ppt
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Hadoop Overview & Architecture
Hadoop Overview & Architecture  Hadoop Overview & Architecture
Hadoop Overview & Architecture
 
Hadoop et son Ă©cosystĂšme
Hadoop et son Ă©cosystĂšmeHadoop et son Ă©cosystĂšme
Hadoop et son Ă©cosystĂšme
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
 
What is big data?
What is big data?What is big data?
What is big data?
 
What is Big Data?
What is Big Data?What is Big Data?
What is Big Data?
 

Semelhante a An Approach for Multi-Tenancy Through Apache Knox

Extending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-FinalExtending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-Final
Rohit Dhamija
 
Oracle Directory Services - Customer Presentation
Oracle Directory Services - Customer PresentationOracle Directory Services - Customer Presentation
Oracle Directory Services - Customer Presentation
Delivery Centric
 

Semelhante a An Approach for Multi-Tenancy Through Apache Knox (20)

Modern Application Development for the Enterprise
Modern Application Development for the EnterpriseModern Application Development for the Enterprise
Modern Application Development for the Enterprise
 
Apache Atlas: Governance for your Data
Apache Atlas: Governance for your DataApache Atlas: Governance for your Data
Apache Atlas: Governance for your Data
 
SaaS Introduction-May2014
SaaS Introduction-May2014SaaS Introduction-May2014
SaaS Introduction-May2014
 
Securing your Applications for the Cloud Age
Securing your Applications for the Cloud AgeSecuring your Applications for the Cloud Age
Securing your Applications for the Cloud Age
 
Building Better Mobile Backends with Oracle Mobile Cloud Service
Building Better Mobile Backends with Oracle Mobile Cloud Service	Building Better Mobile Backends with Oracle Mobile Cloud Service
Building Better Mobile Backends with Oracle Mobile Cloud Service
 
Apache Argus - How do I secure my entire Hadoop cluster? Olivier Renault @ Ho...
Apache Argus - How do I secure my entire Hadoop cluster? Olivier Renault @ Ho...Apache Argus - How do I secure my entire Hadoop cluster? Olivier Renault @ Ho...
Apache Argus - How do I secure my entire Hadoop cluster? Olivier Renault @ Ho...
 
Best 5 backend services for react native applications
Best 5 backend services for react native applicationsBest 5 backend services for react native applications
Best 5 backend services for react native applications
 
Extending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-FinalExtending Enterprise Applications to mobile interfaces-Final
Extending Enterprise Applications to mobile interfaces-Final
 
Docker Datacenter - CaaS
Docker Datacenter - CaaSDocker Datacenter - CaaS
Docker Datacenter - CaaS
 
Dynamic Column Masking and Row-Level Filtering in HDP
Dynamic Column Masking and Row-Level Filtering in HDPDynamic Column Masking and Row-Level Filtering in HDP
Dynamic Column Masking and Row-Level Filtering in HDP
 
Trafodion – an enterprise class sql based on hadoop
Trafodion – an enterprise class sql based on hadoopTrafodion – an enterprise class sql based on hadoop
Trafodion – an enterprise class sql based on hadoop
 
We don’t need no stinkin app server! Building a Two-Tier Mobile App
We don’t need no stinkin app server! Building a Two-Tier Mobile AppWe don’t need no stinkin app server! Building a Two-Tier Mobile App
We don’t need no stinkin app server! Building a Two-Tier Mobile App
 
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
Apache Atlas: Why Big Data Management Requires Hierarchical Taxonomies
 
Ramji
RamjiRamji
Ramji
 
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
 
Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017
 
Paris FOD meetup - Streams Messaging Manager
Paris FOD meetup - Streams Messaging ManagerParis FOD meetup - Streams Messaging Manager
Paris FOD meetup - Streams Messaging Manager
 
Bridle your Flying Islands and Castles in the Sky: Built-in Governance and Se...
Bridle your Flying Islands and Castles in the Sky: Built-in Governance and Se...Bridle your Flying Islands and Castles in the Sky: Built-in Governance and Se...
Bridle your Flying Islands and Castles in the Sky: Built-in Governance and Se...
 
Oracle Directory Services - Customer Presentation
Oracle Directory Services - Customer PresentationOracle Directory Services - Customer Presentation
Oracle Directory Services - Customer Presentation
 
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
 

Mais de DataWorks Summit/Hadoop Summit

How Hadoop Makes the Natixis Pack More Efficient
How Hadoop Makes the Natixis Pack More Efficient How Hadoop Makes the Natixis Pack More Efficient
How Hadoop Makes the Natixis Pack More Efficient
DataWorks Summit/Hadoop Summit
 
Breaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
Breaking the 1 Million OPS/SEC Barrier in HOPS HadoopBreaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
Breaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
DataWorks Summit/Hadoop Summit
 

Mais de DataWorks Summit/Hadoop Summit (20)

Running Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in ProductionRunning Apache Spark & Apache Zeppelin in Production
Running Apache Spark & Apache Zeppelin in Production
 
State of Security: Apache Spark & Apache Zeppelin
State of Security: Apache Spark & Apache ZeppelinState of Security: Apache Spark & Apache Zeppelin
State of Security: Apache Spark & Apache Zeppelin
 
Unleashing the Power of Apache Atlas with Apache Ranger
Unleashing the Power of Apache Atlas with Apache RangerUnleashing the Power of Apache Atlas with Apache Ranger
Unleashing the Power of Apache Atlas with Apache Ranger
 
Enabling Digital Diagnostics with a Data Science Platform
Enabling Digital Diagnostics with a Data Science PlatformEnabling Digital Diagnostics with a Data Science Platform
Enabling Digital Diagnostics with a Data Science Platform
 
Revolutionize Text Mining with Spark and Zeppelin
Revolutionize Text Mining with Spark and ZeppelinRevolutionize Text Mining with Spark and Zeppelin
Revolutionize Text Mining with Spark and Zeppelin
 
Double Your Hadoop Performance with Hortonworks SmartSense
Double Your Hadoop Performance with Hortonworks SmartSenseDouble Your Hadoop Performance with Hortonworks SmartSense
Double Your Hadoop Performance with Hortonworks SmartSense
 
Hadoop Crash Course
Hadoop Crash CourseHadoop Crash Course
Hadoop Crash Course
 
Data Science Crash Course
Data Science Crash CourseData Science Crash Course
Data Science Crash Course
 
Apache Spark Crash Course
Apache Spark Crash CourseApache Spark Crash Course
Apache Spark Crash Course
 
Dataflow with Apache NiFi
Dataflow with Apache NiFiDataflow with Apache NiFi
Dataflow with Apache NiFi
 
Schema Registry - Set you Data Free
Schema Registry - Set you Data FreeSchema Registry - Set you Data Free
Schema Registry - Set you Data Free
 
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
Building a Large-Scale, Adaptive Recommendation Engine with Apache Flink and ...
 
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
Real-Time Anomaly Detection using LSTM Auto-Encoders with Deep Learning4J on ...
 
Mool - Automated Log Analysis using Data Science and ML
Mool - Automated Log Analysis using Data Science and MLMool - Automated Log Analysis using Data Science and ML
Mool - Automated Log Analysis using Data Science and ML
 
How Hadoop Makes the Natixis Pack More Efficient
How Hadoop Makes the Natixis Pack More Efficient How Hadoop Makes the Natixis Pack More Efficient
How Hadoop Makes the Natixis Pack More Efficient
 
HBase in Practice
HBase in Practice HBase in Practice
HBase in Practice
 
The Challenge of Driving Business Value from the Analytics of Things (AOT)
The Challenge of Driving Business Value from the Analytics of Things (AOT)The Challenge of Driving Business Value from the Analytics of Things (AOT)
The Challenge of Driving Business Value from the Analytics of Things (AOT)
 
Breaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
Breaking the 1 Million OPS/SEC Barrier in HOPS HadoopBreaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
Breaking the 1 Million OPS/SEC Barrier in HOPS Hadoop
 
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
From Regulatory Process Verification to Predictive Maintenance and Beyond wit...
 
Backup and Disaster Recovery in Hadoop
Backup and Disaster Recovery in Hadoop Backup and Disaster Recovery in Hadoop
Backup and Disaster Recovery in Hadoop
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

An Approach for Multi-Tenancy Through Apache Knox

  • 1. An Approach for Multi- tenant Applications with Apache Knox Larry McCay Architect and Manager for Security Infra - Hortonworks Sumit Gupta Technical Lead for Knox - Hortonworks April 5th 2017 – DataWorks Summit Munich
  • 2. 2 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Disclaimer  This document may contain product features and technology directions that are under development, may be under development in the future or may ultimately never be developed.  Product capabilities are based on information that is publicly available within the Apache Software Foundation websites (“Apache”). Progress of the project capabilities can be tracked from inception to release through Apache, however, technical feasibility, market demand, user feedback and the overarching Apache Software Foundation community development process can all effect timing and final delivery.  This document’s description of these features and technology directions does not represent a contractual commitment, promise or obligation from Hortonworks to deliver these features in any generally available product.  Product features and technology directions are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind.  Since this document may contain an outline of general product development plans, customers should not rely upon it when making purchasing decisions.
  • 3. 3 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Agenda  Apache Knox  Overview  Topologies  Identity Assertion and Authorization  Multi-tenant Applications  What are they?  What are the concerns?  Loanscore SaaS Application  Overview,Requirements,Design  Loanscore via Knox, Design  Demo  Q&A
  • 4. 4 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Apache Knox
  • 5. 5 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Apache Knox History and Community Growth Mar 2013 Entered Incubator Oct 2013 0.1.0 - 0.3.0 Incubator Releases Feb 2014 Graduates to Apache TLP Apr 2014 0.4.0 TLP Release Nov 2014 0.5.0 May 2015 0.6.0 Apr/Aug 2016 0.9.0/0.9.1 Feb 2016 0.8.0 Dec 2015 0.7.0 Nov 2016 0.10.0 Dec 2016 0.11.0 Mar 2017 0.12.0 TBD 1.0.0 Target Release Date ‱ Committers: 17 ‱ Contributors from: ‱ Hortonworks, IBM, CGI, Uber, Oracle, Blue Talon Apache 0.12.0/HDP 2.6 ‱ Client SDK/DSL Improvements ‱ Apache Zeppelin Proxying ‱ YARN RM UI HA Support ‱ Knox Token Service ‱ Solr API and UI Apache 0.11.0 ‱ LDAP Improvements ‱ Hadoop Group Lookup Support ‱ Phoenix Server Support (Avatica) ‱ Management UI ‱ Metrics @apache_knox
  • 6. 6 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Apache Knox Overview Proxying Services Primary goals of the Apache Knox project is to provide access to Apache Hadoop via proxying of HTTP resources. Authentication Services Authentication for REST API access as well as WebSSO flow for UIs. LDAP/AD, Header based PreAuth, Kerberos, SAML, OAuth are all available options. Client DSL/SDK Services Client development can be done with scripting through DSL or using the Knox Shell classes directly as SDK. WebSSO Authentication And Federation providers Groovy based DSL Client DSL/SDK Services HTTP Proxying Services UIs REST APIs Web Sockets Hive Ambari HBase WebHCatWebHDFS Hadoop UIs Authentication ServicesProxying Services KnoxShell SDK Token Sessions REST API Classes KnoxSSO/Token YARN Ranger Zeppelin Oozie Phoenix Gremlin SQL/DB SAML OAuth LDAP/AD SPNEGO Header Based YARN RM WebHCat WebHDFS Hive YARN RM HBase
  • 7. 7 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Knox Topologies  Which services to proxy – For instance: Hive, WebHDFS, WebHCat, HBase, etc  Unique URLs per topology – For instance: https://localhost:8443/gateway/TOPOLOGY/webhdfs/v1  Separate Hadoop clusters – For example: dev.xml and prod.xml  Different access requirements for the same cluster (through providers) – token.xml and basic.xml  Tenant specific access to the Knox services – acme1.xml and acme2.xml
  • 8. 8 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Identity Assertion and Authorization  Establish the effective identity  Can alter the effective identity through:  Principal mapping  Regular expressions  Concatenation of prefixes, suffixes  Establishes security context for service level authorization checks through:  The principal and group mapping or transforms described above  Group lookup  Service Level Authorization for the effective user  Simple ACL based authorization provider  Ranger Knox plugin
  • 9. 9 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Multi-tenant Applications
  • 10. 10 © Hortonworks Inc. 2011 – 2017. All Rights Reserved What is a Multi-tenant Application? – Deployment – Application – Data Shared Infrastructure – Users have accounts within an Organization’s Account – Each organization is a tenant Account Context
  • 11. 11 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Multi-tenancy Concerns – Tenants cannot view, modify or delete each other’s data – Tenant admins may only affect tenant specific settings – Application admins cannot access tenant data Data Protection – Users authenticate using their typical or chosen usernames – Security context must include tenant membership (username ‘bob’ is too ambiguous) – Only Authenticated and Authorized users may access the system – Authentication Provider Flexibility ‱ Application managed providers ‱ Tenant specific provider integrations Authentication
  • 12. 12 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Loanscore SaaS Application
  • 13. 13 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Loanscore SaaS Application Continually improve risk assessment with a central risk model, analytics and machine learning with tenant specific thresholds – machine learning capabilities – models for scoring risk – small businesses and individuals can be scored – configurable datasources (e.g. yelp)  Application Provides – Users are employees of the lending institution (e.g. an originator) – Tenant specific authentication integrations – Tenants have their own configuration/settings – Tenants get their own sub-domain and branding  Tenants are Lending Institutions
  • 14. 14 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Loanscore SaaS Application Loan Scoring Business Logic and Branding Tenant Specific Authentication (Login form, LDAP, SAML, etc) User Disambiguation for access to Hadoop (bob -> bob_goodloans) Hadoop Access (Kerberos + doas) SAML IDP Corp ADLDAP Loanscore SaaS Authentication Application must account for authentication configuration per tenant. This is for different LDAP search bases within a shared LDAP or tenant specific LDAP servers or IdP integrations. Business Logic of the App The business logic and branding of the application for each tenant. User Disambiguation The effective security context for backend interactions must contain the tenant affiliation for authorization policy to be enforced properly. Hadoop Access Patterns REST API calls to Hadoop services generally require kerberos+doas for secure clusters.
  • 15. 15 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Loanscore SaaS Application v2.0 Loan Scoring Business Logic and Branding Tenant Specific Authentication (Login form, LDAP, SAML, etc) User Disambiguation for access to Hadoop (bob -> bob_goodloans) Hadoop Access (Kerberos + doas) SAML IDP Corp ADLDAP Loanscore SaaS v2.0 Authentication Application must account for authentication configuration per tenant. This is for different LDAP search bases within a shared LDAP or tenant specific LDAP servers or IdP integrations. Business Logic of the App The business logic and branding of the application for each tenant. User Disambiguation The effective security context for backend interactions must contain the tenant affiliation for authorization policy to be enforced properly. Hadoop Access Patterns REST API calls to Hadoop services generally require kerberos+doas for secure clusters.
  • 16. 16 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Loanscore SaaS with Knox Services Business Logic, Branding, Knox Client SDK Loanscore SaaS SAML IDP Corp ADLDAP Tenant Specific Authentication User Disambiguation (identity assertion) KnoxSSO Proxying Knox Authentication and Proxying Services kerberos+doas or simple auth Proxying Services By proxying the app through Apache Knox, the gateway is able to require authentication prior to the user accessing the actual application. Hadoop API access is also proxied through Knox and the dispatch within the gateway handles the kerberos+doas and user disambiguating requirements. Authentication Services The authentication or federation provider within the proxying topology for the tenant may contain the actual authentication configuration or may redirect to KnoxSSO for a WebSSO flow. Client SDK The backend of the application may consume Hadoop REST APIs via the KnoxShell client classes.
  • 17. 17 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Loanscore SaaS with Knox Services Loanscore ApplicationSAML IDP Corp ADLDAP goodloans- sso.xml goodloans.xml (user disambiguation) KnoxSSO Proxying https://goodloans.loanscore.comhttps://unwise.loanscore.com doas=bob_goodloans username: bob password: *** 1. Goodloans originator bob navigates to the goodloan’s loanscore app URL 2. Since he has yet to authenticate he is redirected to the KnoxSSO topology for goodloans 3. He is authenticated against the goodloan’s configured identity provider. He provides his username and password (bob:***) 4. Upon successful auth he is redirected back the loanscore application and granted access 5. The user principal propagated to the loanscore app has been disambiguated by adding the tenant name to the end of the username (bob_goodloans) in the identity assertion provider 6. Loanscore app adds a file to a tenant specific directory within HDFS using KnoxShell SDK classes
  • 18. 18 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Demo
  • 19. 19 © Hortonworks Inc. 2011 – 2017. All Rights Reserved Q&A