SlideShare a Scribd company logo
Multi-tenancy for Docker
Containers with Keystone
Satya Routray, Rahul Upadhyay
Anantha Padmanabhan CB, Meenakshi Lakshmanan
27, Apr 2016
Current authorization mechanism
 Username / Password based authentication
 Allows user to run any docker command
 Or view all provisioned containers
 No limit on number of containers / resources used
Why multitenancy?
 We can use standalone Keystone to provide multitenancy to Docker.
 Multitenancy allows users to view/manage only the containers they provisioned
 Enables Role Based Access Control (RBAC)
 Enables administrator to specify quota – pay as you go model
 Can utilize Keystone’s ability to support multiple backend domains
 Single sign-on and Hierarchical multitenancy
 Not only users-to-container authorization, but also service-to-service authorization that are
running across different containers
Keystone services
• Identity – Credential validation
• Resources – Data about Projects and Domains
• Assignment - Roles and Roles-to-Resource assignments
• Token – Manages tokens
• Catalog – Registry of services and end points
• Policy – Rule based authorization
Authentication mechanisms
UUID Tokens
• UUID
• Persistent
PKI & PKIZ Tokens (From Grizzly)
• Public Key Infrastructure – Certificate based
• More informative payload but size is huge
• Persistent
Fernet Tokens (From Juno)
• Non-persistent & Symmetric key encryption
• 85% faster than UUID and 89% faster than PKI
UUID tokens
Client API Token
Token Generation
User/Pass Verify/Generate/Store
UUID
Send
User/Pass
Cache UUID
locally
UUID
Cache UUID
Keystone
Backend
API Call Validation Request
Send API
request+UUID
Request
UUID
Extract UUID from
Request
UUID Check UUID
and expiry date
Valid?
Process Request
Reject Request
2xx
HTTP
4xx
HTTP
Update Req.
status
Display Req.
Error
Yes
No
API Call Validation response
PKI Tokens
What is Docker
• Enables you to package an application with all its dependencies into a standardized unit
• Docker separates applications from infrastructure using container technology Similar to
how VMs separate the operating system from bare metal
• Runs the same regardless of the environment
Build Ship Run
Docker – Key Components
• Docker Demon
• Docker API
• Cli Used to interact with Daemon
• Docker Engine, (Constitutes of all the above)
• Docker Machine – bring up Docker Swarm
• Docker Swarm – Native clustering for Docker
Multitenant Cluster
Multi-Tenant Swarm
C1 C2
C3 C4
Tenant1 Tenant4Tenant3Tenant2
Keystone
C1 C2
C3 C4
H1 H2
User
Policy Resource
Identity Catalog
Multi-tenancy with keystone
User keystoneDocker HostSwarm
keystoneDocker HostSwarmUser
Authenticate (User, Tenant, Password)
Validate and generate token
Token
Update config.json
with token and tenant
ID
Docker –H swarm url <docker CMD>
List tenants
List tenant to which token has access
Check keystone’s tenant
list for user’s tenant
Ensure that Tenants are
isolated from each other,
Each tenant can only
manage and link to their
own container Docker <Docker cmd>
Timelines and future work
• Implementation of keystone support – In progress
• Explore fernet tokens and include support for the same
• Provide isolated tenant networking capabilities
• Provide a framework for dockerized applications to use the multitenancy seamlessly
Connect with us…
• Satya Routray (engg.sanj@gmail.com)
• Rahul Upadhyay (rahuupad@cisco.com)
• Anantha Padmanabhan CB (cbpadman@cisco.com)
• Meenakshi Lakshmanan (mlakshma@cisco.com)
References
• Identity, Authentication & Access Management in OpenStack – Implementing and
Deploying Keystone - Steve Martinelli, Henry Nash & Brad Topol
• https://www.mirantis.com/blog/understanding-openstack-authentication-keystone-pki/
• http://dolphm.com/the-anatomy-of-openstack-keystone-token-formats/
• https://docs.docker.com/swarm/
• https://docs.docker.com/machine/drivers/openstack/
• https://wiki.openstack.org/wiki/Keystone
• http://docs.openstack.org/developer/keystone/
• https://www.mirantis.com/blog/understanding-openstack-authentication-keystone-pki/
Q&A
OpenStack Summit
Austin, Texas 2016

More Related Content

PPTX
Multi tenancy for docker
PDF
Building a multi-tenant cloud service from legacy code with Docker containers
PPTX
Windows server and docker
PPT
Exploring Openstack Swift(Object Storage) and Swiftstack
PPTX
VMware Hybrid Cloud Service - Overview
PPTX
OpenStack Keystone
PPTX
Software Containerization
PDF
Containers kuberenetes
Multi tenancy for docker
Building a multi-tenant cloud service from legacy code with Docker containers
Windows server and docker
Exploring Openstack Swift(Object Storage) and Swiftstack
VMware Hybrid Cloud Service - Overview
OpenStack Keystone
Software Containerization
Containers kuberenetes

What's hot (20)

PDF
Keystone deep dive 1
PPTX
Openstack meetup-pune-aug22-overview
PPTX
Service Discovery In Kubernetes
PPTX
Containers kuberenetes
PDF
Lxd the proper way of runing containers
PDF
Kubernetes a comprehensive overview
PDF
Docker architecture (version modified)
PDF
Docker Architecture
PDF
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
PDF
Openstack Keystone
PPTX
Container Orchestration with Docker Swarm and Kubernetes
PPTX
Security_of_openstack_keystone
PDF
(Draft) Kubernetes - A Comprehensive Overview
PDF
Building an Angular 2 App
PDF
Kubernetes Networking - Sreenivas Makam - Google - CC18
PPTX
Deploying WSO2 Middleware on Kubernetes
PPTX
Intro to cluster scheduler for Linux containers
PDF
WSO2 Microservices Framework for Java - Product Overview
PPTX
Docker basics
PDF
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
Keystone deep dive 1
Openstack meetup-pune-aug22-overview
Service Discovery In Kubernetes
Containers kuberenetes
Lxd the proper way of runing containers
Kubernetes a comprehensive overview
Docker architecture (version modified)
Docker Architecture
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Openstack Keystone
Container Orchestration with Docker Swarm and Kubernetes
Security_of_openstack_keystone
(Draft) Kubernetes - A Comprehensive Overview
Building an Angular 2 App
Kubernetes Networking - Sreenivas Makam - Google - CC18
Deploying WSO2 Middleware on Kubernetes
Intro to cluster scheduler for Linux containers
WSO2 Microservices Framework for Java - Product Overview
Docker basics
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
Ad

Viewers also liked (20)

PPTX
Optimising nfv service chains on open stack using docker
PPTX
Monitoring Docker Containers and Dockererized Application
PPTX
What is Virtualization. Talk from Pycon 2013 India.
PPTX
Optimising nfv service chains on open stack using docker
PPTX
New Relic Plugin for Cassandra | Blue Medora
PDF
Openstack ansible
PDF
VMware vROps Management Pack for Amazon DynamoDB
PDF
VMware vROps Management Pack for Hadoop
PDF
Ironic 140622212631-phpapp02
PPTX
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
PDF
Analyzing SAP Performance with VMware vRealize Operations (vROps)
PPTX
Business Automation and Service Delivery Platform for Openstack based cloud p...
PDF
VMware vROps Management Pack for Amazon RDS
PDF
Proyecto de construcción de un puente
PPTX
Actividad 8
PPTX
Actividad 5 Elementos de las diapositivas
PDF
Mirantis v OpenStack Ansible Dawn of Production
PPTX
Ironic - Vietnam OpenStack Technical Meetup #12
PPTX
Actividad 4 Contaminación 2
PDF
Science1 اختبار علوم اوليمبياد
Optimising nfv service chains on open stack using docker
Monitoring Docker Containers and Dockererized Application
What is Virtualization. Talk from Pycon 2013 India.
Optimising nfv service chains on open stack using docker
New Relic Plugin for Cassandra | Blue Medora
Openstack ansible
VMware vROps Management Pack for Amazon DynamoDB
VMware vROps Management Pack for Hadoop
Ironic 140622212631-phpapp02
Openstack Rally - Benchmark as a Service. Openstack Meetup India. Ananth/Rahul.
Analyzing SAP Performance with VMware vRealize Operations (vROps)
Business Automation and Service Delivery Platform for Openstack based cloud p...
VMware vROps Management Pack for Amazon RDS
Proyecto de construcción de un puente
Actividad 8
Actividad 5 Elementos de las diapositivas
Mirantis v OpenStack Ansible Dawn of Production
Ironic - Vietnam OpenStack Technical Meetup #12
Actividad 4 Contaminación 2
Science1 اختبار علوم اوليمبياد
Ad

Similar to Multi tenancy for docker (20)

PPTX
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
PPTX
Docker Security workshop slides
PPTX
Identity service keystone ppt
PDF
Veer's Container Security
PPTX
Docker Workshop
PDF
Using Docker with OpenStack - Hands On!
PPTX
Keystone - Openstack Identity Service
PPTX
Docker for Multi-Cloud Apps
PDF
Docker Application to Scientific Computing
PDF
Red Hat Forum Tokyo - OpenStack Architecture
PPTX
Docker Enterprise Workshop - Technical
PPTX
Docker and kubernetes
PDF
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
PPTX
"Turning Kubernetes into a full-fledged private cloud", Volodymyr Tsap
PPTX
Containers as a Service with Docker
PPTX
Docker Container As A Service - March 2016
PPTX
DockerCon EU 2015 Barcelona
PPTX
Docker Container As A Service - Mix-IT 2016
PDF
Docker-v3.pdf
PPT
Containers 101
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Docker Security workshop slides
Identity service keystone ppt
Veer's Container Security
Docker Workshop
Using Docker with OpenStack - Hands On!
Keystone - Openstack Identity Service
Docker for Multi-Cloud Apps
Docker Application to Scientific Computing
Red Hat Forum Tokyo - OpenStack Architecture
Docker Enterprise Workshop - Technical
Docker and kubernetes
Docker for Developers: Dev, Test, Deploy @ BucksCo Devops at MeetMe HQ
"Turning Kubernetes into a full-fledged private cloud", Volodymyr Tsap
Containers as a Service with Docker
Docker Container As A Service - March 2016
DockerCon EU 2015 Barcelona
Docker Container As A Service - Mix-IT 2016
Docker-v3.pdf
Containers 101

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Empathic Computing: Creating Shared Understanding
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPT
Teaching material agriculture food technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
A Presentation on Artificial Intelligence
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Network Security Unit 5.pdf for BCA BBA.
Empathic Computing: Creating Shared Understanding
20250228 LYD VKU AI Blended-Learning.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Teaching material agriculture food technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
NewMind AI Monthly Chronicles - July 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The AUB Centre for AI in Media Proposal.docx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
“AI and Expert System Decision Support & Business Intelligence Systems”
Unlocking AI with Model Context Protocol (MCP)
Per capita expenditure prediction using model stacking based on satellite ima...
A Presentation on Artificial Intelligence

Multi tenancy for docker

  • 1. Multi-tenancy for Docker Containers with Keystone Satya Routray, Rahul Upadhyay Anantha Padmanabhan CB, Meenakshi Lakshmanan 27, Apr 2016
  • 2. Current authorization mechanism  Username / Password based authentication  Allows user to run any docker command  Or view all provisioned containers  No limit on number of containers / resources used
  • 3. Why multitenancy?  We can use standalone Keystone to provide multitenancy to Docker.  Multitenancy allows users to view/manage only the containers they provisioned  Enables Role Based Access Control (RBAC)  Enables administrator to specify quota – pay as you go model  Can utilize Keystone’s ability to support multiple backend domains  Single sign-on and Hierarchical multitenancy  Not only users-to-container authorization, but also service-to-service authorization that are running across different containers
  • 4. Keystone services • Identity – Credential validation • Resources – Data about Projects and Domains • Assignment - Roles and Roles-to-Resource assignments • Token – Manages tokens • Catalog – Registry of services and end points • Policy – Rule based authorization
  • 5. Authentication mechanisms UUID Tokens • UUID • Persistent PKI & PKIZ Tokens (From Grizzly) • Public Key Infrastructure – Certificate based • More informative payload but size is huge • Persistent Fernet Tokens (From Juno) • Non-persistent & Symmetric key encryption • 85% faster than UUID and 89% faster than PKI
  • 6. UUID tokens Client API Token Token Generation User/Pass Verify/Generate/Store UUID Send User/Pass Cache UUID locally UUID Cache UUID Keystone Backend API Call Validation Request Send API request+UUID Request UUID Extract UUID from Request UUID Check UUID and expiry date Valid? Process Request Reject Request 2xx HTTP 4xx HTTP Update Req. status Display Req. Error Yes No API Call Validation response
  • 8. What is Docker • Enables you to package an application with all its dependencies into a standardized unit • Docker separates applications from infrastructure using container technology Similar to how VMs separate the operating system from bare metal • Runs the same regardless of the environment Build Ship Run
  • 9. Docker – Key Components • Docker Demon • Docker API • Cli Used to interact with Daemon • Docker Engine, (Constitutes of all the above) • Docker Machine – bring up Docker Swarm • Docker Swarm – Native clustering for Docker
  • 10. Multitenant Cluster Multi-Tenant Swarm C1 C2 C3 C4 Tenant1 Tenant4Tenant3Tenant2 Keystone C1 C2 C3 C4 H1 H2 User Policy Resource Identity Catalog
  • 11. Multi-tenancy with keystone User keystoneDocker HostSwarm keystoneDocker HostSwarmUser Authenticate (User, Tenant, Password) Validate and generate token Token Update config.json with token and tenant ID Docker –H swarm url <docker CMD> List tenants List tenant to which token has access Check keystone’s tenant list for user’s tenant Ensure that Tenants are isolated from each other, Each tenant can only manage and link to their own container Docker <Docker cmd>
  • 12. Timelines and future work • Implementation of keystone support – In progress • Explore fernet tokens and include support for the same • Provide isolated tenant networking capabilities • Provide a framework for dockerized applications to use the multitenancy seamlessly
  • 13. Connect with us… • Satya Routray (engg.sanj@gmail.com) • Rahul Upadhyay (rahuupad@cisco.com) • Anantha Padmanabhan CB (cbpadman@cisco.com) • Meenakshi Lakshmanan (mlakshma@cisco.com)
  • 14. References • Identity, Authentication & Access Management in OpenStack – Implementing and Deploying Keystone - Steve Martinelli, Henry Nash & Brad Topol • https://www.mirantis.com/blog/understanding-openstack-authentication-keystone-pki/ • http://dolphm.com/the-anatomy-of-openstack-keystone-token-formats/ • https://docs.docker.com/swarm/ • https://docs.docker.com/machine/drivers/openstack/ • https://wiki.openstack.org/wiki/Keystone • http://docs.openstack.org/developer/keystone/ • https://www.mirantis.com/blog/understanding-openstack-authentication-keystone-pki/
  • 15. Q&A