SlideShare a Scribd company logo
1 of 31
Download to read offline
The Cloud Specialists
Dynamic	Roles	in	CloudStack
Boris	Stoyanov
Software	Development	Engineer	in	Test	
boris.stoyanov@shapeblue.com
twitter:	@shapeblue
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
About Me
• Break Stuff @ ShapeBlue
• Background:
• More	than	10	years	in	Software	
Development	and	Testing
• Specialize	in:
• Test	Management
• Automated	Testing
• Testing	Frameworks
• Joined	ShapeBlue	and	CloudStack last	year
C l i c k t o e d i t
The Cloud Specialists ShapeBlue.com @ShapeBlue
“ShapeBlue are expert builders of public & private
clouds. They are the leading global CloudStack
services company.”
About ShapeBlue
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
ShapeBlue customers
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
ShapeBlue customers
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
ShapeBlue customers
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Dynamic Roles in CloudStack
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Static Roles in CloudStack
• List	of	pre-defined	roles
• All	roles	permissions	are	kept	in	a	single	file	commands.properties
• Each	change	requires	a	management	server	restart
• How	do	we	add	a	custom	role	with	new	set	of	permissions
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Dynamic Roles
Quiz Time
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Hint: it’s related to permissions
Q1:	What	are	these	numbers	and	what’s	their	purpose:
1,	2,	4,	8	
Answer:
These	numbers	represent	the	static	
roles
1	=	ADMIN
2	=	RESOURCE_DOMAIN_ADMIN
4	=	DOMAIN_ADMIN
8	=	USER
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
commands.properties
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Hint: related to permissions
Q2: What are the 7s and 15s?
Answer:	all	users	until	that	number
can	execute	the	command
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Q3:	What	does	this	number	represent:	790
Answer:	That’s	about	the	number	of	lines	
commands.properties has	in	4.9.	
Hint: related to the permissions file
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Static Role-based Access Control
• Pre-defined roles
• All permissions kept in a
commands.properties file
• Changes are difficult to maintain
• Management server restart is
required after change
• Hard to add a new role with custom
permissions
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Add Read-only Admin
• Root Admin
• Read-only permission
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Let’s re-thing roles management
• New way of managing roles
• Add/Change roles made easy
• Apply changes without management restart
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Here’s what we did
• Move all permissions to the DB
• Create a dynamic role based account checker (RBAC)
• New UI interface
• Handle migrations
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Dynamic ApiChecker
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
How to use it: Adding role
Use	case:	Root	Admin	wants	to	create	a	root	admin	read-only	account,	
who	is	not	allowed	to	see	Global	Settings.	
• Create	a	custom	role
• Add	an	“allow	rule”	to	all	list	APIs
• Assign	the	role	to	the	read-only	account	
• Add	”deny	rule”	to	all	configuration	APIs
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
How to use it: Adding role
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
How to use it: Good practices
• When	adding	custom	rules,	user	is	allowed	to	select	multiple	APIs	using	“*”
• It’s	a	good	practice	to	move	deny	rules	on	top	of	the	list	when	allowing	
multiple	APIs	at	once.
• Rules	can	be	shifted	in	the	list	in	set	the	order	of	the	list
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
How to use it: Denied API
• What	happens	in	UI	when	user	hits	a	denied	API?	
• User	is	displayed	with	
the	following	error
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Dynamic Role-based Access Control
• Pre-defined roles are available
• Moves all permissions into the DB
• Adds UI interface to add a new role
• Custom set of rules per API for a role
• Does not require management restart
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Live demo
• One must read slide title first
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Availability and Upgrade
• Dynamic	RBAC	is	available	and	
enabled	by	default	on	all	new	
installations	post	4.9
• Users	upgrading	to	>4.9.x	
will	have	the	feature	
disabled	post	upgrade
• Migration	tool	is	available	to	
do	the	migration	and	enable	
Dynamic	RBAC
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Upgrade: Running the migration tool
[root@host]#	python	migrate-dynamicroles.py -u	cloud	-p	cloud	-h	
localhost	-p	3306	-f	/etc/cloudstack/management/commands.properties
Apache	CloudStack Role	Permission	Migration	Tool
(c)	Apache	CloudStack Authors	and	the	ASF,	under	the	Apache	License,	Version	
2.0
Running	this	migration	tool	will	remove	any	default-role	permissions	from	
cloud.role_permissions.	Do	you	want	to	continue?	[y/N]y
The	commands.properties file	has	been	deprecated	and	moved	at:	
/etc/cloudstack/management/commands.properties.deprecated
Static	role	permissions	from	commands.properties have	been	migrated	into	the	
db
Dynamic	role	based	API	checker	has	been	enabled!
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Migrating Roles
• After	enabling	Dynamic	RBAC	root	admin	role	permissions	looks	like	this:
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Migrating Roles
• While	other	roles	
have	explicit	rules	
created	based	on	the	
settings	in	
commands.properties
file.
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
Questions?
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
By the way….
Next CloudStack event: Cloudstack Collaboration
Conference at ApacheCon North America
May	16-18,	2017
InterContinental	Miami
MIAMI,	FLORIDA
United	States
http://events.linuxfoundation.org/events/apachecon-north-
america/attend/register-
C l i c k t o e d i t
The Cloud Specialists
ShapeBlue.com @ShapeBlue
More information
• Slide deck: http://www.slideshare.net/shapeblue
• Blog: http://shapeblue.com/blog
• Email: boris.stoyanov@shapeblue.com
• Web: http://shapeblue.com

More Related Content

What's hot

Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
ShapeBlue
 

What's hot (20)

CloudStack UI
CloudStack UICloudStack UI
CloudStack UI
 
CloudStack EU user group - Trillian
CloudStack EU user group - TrillianCloudStack EU user group - Trillian
CloudStack EU user group - Trillian
 
CloudStack and NFV
CloudStack and NFVCloudStack and NFV
CloudStack and NFV
 
New stuff in CloudStack!
New stuff in CloudStack!New stuff in CloudStack!
New stuff in CloudStack!
 
Paul Angus - CloudStack Backup and Recovery Framework
Paul Angus - CloudStack Backup and Recovery FrameworkPaul Angus - CloudStack Backup and Recovery Framework
Paul Angus - CloudStack Backup and Recovery Framework
 
Paul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStackPaul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStack
 
Cloudstack container service
Cloudstack container serviceCloudstack container service
Cloudstack container service
 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news
 
Boris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStackBoris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStack
 
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
 
CSEUG introduction
CSEUG introductionCSEUG introduction
CSEUG introduction
 
Using the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStackUsing the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStack
 
CloudStack usage service
CloudStack usage serviceCloudStack usage service
CloudStack usage service
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container Service
 
CloudStack - Apache's best kept secret
CloudStack - Apache's best kept secretCloudStack - Apache's best kept secret
CloudStack - Apache's best kept secret
 
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best PracticesTechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
 
Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E...
 Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E... Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E...
Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E...
 
ApacheCon Miami / CCCNA17 Using KVM in CloudStack
ApacheCon Miami / CCCNA17 Using KVM in CloudStackApacheCon Miami / CCCNA17 Using KVM in CloudStack
ApacheCon Miami / CCCNA17 Using KVM in CloudStack
 
ApacheCon Miami / CCCNA17 CloudStack upgrade best practices
ApacheCon Miami / CCCNA17 CloudStack upgrade best practicesApacheCon Miami / CCCNA17 CloudStack upgrade best practices
ApacheCon Miami / CCCNA17 CloudStack upgrade best practices
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack news
 

Similar to CCCNA17 Dynamic Roles in CloudStack

Similar to CCCNA17 Dynamic Roles in CloudStack (20)

Improving CloudStack for operators
Improving CloudStack for operatorsImproving CloudStack for operators
Improving CloudStack for operators
 
CloudStack upgrade best practices - Dag Sonstebo
CloudStack upgrade best practices - Dag SonsteboCloudStack upgrade best practices - Dag Sonstebo
CloudStack upgrade best practices - Dag Sonstebo
 
Paul Angus - CloudStack Container Service
Paul  Angus - CloudStack Container ServicePaul  Angus - CloudStack Container Service
Paul Angus - CloudStack Container Service
 
Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11
 
Whats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlinesWhats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlines
 
Salesforce Apex Hours: What means Winter 18 for Developers
Salesforce Apex Hours: What means Winter 18 for Developers Salesforce Apex Hours: What means Winter 18 for Developers
Salesforce Apex Hours: What means Winter 18 for Developers
 
Connecticut Salesforce Developer Group - Jan 2017
Connecticut Salesforce Developer Group - Jan 2017Connecticut Salesforce Developer Group - Jan 2017
Connecticut Salesforce Developer Group - Jan 2017
 
What's new in Spring Boot 2.0
What's new in Spring Boot 2.0What's new in Spring Boot 2.0
What's new in Spring Boot 2.0
 
Setting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsSetting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce Apps
 
Implementing Service Oriented Architecture
Implementing Service Oriented Architecture Implementing Service Oriented Architecture
Implementing Service Oriented Architecture
 
Implementing Service Oriented Architecture
Implementing Service Oriented ArchitectureImplementing Service Oriented Architecture
Implementing Service Oriented Architecture
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 appsPatterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Implementing Service Oriented Architecture
Implementing Service Oriented ArchitectureImplementing Service Oriented Architecture
Implementing Service Oriented Architecture
 
Azure DevOps Tasks.pptx
 Azure DevOps Tasks.pptx Azure DevOps Tasks.pptx
Azure DevOps Tasks.pptx
 
Aug feb 2021
Aug feb 2021Aug feb 2021
Aug feb 2021
 
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
Scaling Gilt: from Monolithic Ruby Application to Distributed Scala Micro-Ser...
 
Continuous Testing using Shippable and Docker
Continuous Testing using Shippable and DockerContinuous Testing using Shippable and Docker
Continuous Testing using Shippable and Docker
 
Elevate Your Career as a Cloud Developer Webinar
Elevate Your Career as a Cloud Developer WebinarElevate Your Career as a Cloud Developer Webinar
Elevate Your Career as a Cloud Developer Webinar
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & You
 

More from ShapeBlue

More from ShapeBlue (20)

CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueCloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
 
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
 
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
 
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
 
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIOHow We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
 
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
 
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
 
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
 
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
 
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
 
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
 
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
 
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
 
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
 
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
 
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
 
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
Wonjun Hwang
 

Recently uploaded (20)

WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Navigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi DaparthiNavigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi Daparthi
 

CCCNA17 Dynamic Roles in CloudStack

  • 2. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue About Me • Break Stuff @ ShapeBlue • Background: • More than 10 years in Software Development and Testing • Specialize in: • Test Management • Automated Testing • Testing Frameworks • Joined ShapeBlue and CloudStack last year
  • 3. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue “ShapeBlue are expert builders of public & private clouds. They are the leading global CloudStack services company.” About ShapeBlue
  • 4. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue ShapeBlue customers
  • 5. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue ShapeBlue customers
  • 6. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue ShapeBlue customers
  • 7. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Dynamic Roles in CloudStack
  • 8. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Static Roles in CloudStack • List of pre-defined roles • All roles permissions are kept in a single file commands.properties • Each change requires a management server restart • How do we add a custom role with new set of permissions
  • 9. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Dynamic Roles Quiz Time
  • 10. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Hint: it’s related to permissions Q1: What are these numbers and what’s their purpose: 1, 2, 4, 8 Answer: These numbers represent the static roles 1 = ADMIN 2 = RESOURCE_DOMAIN_ADMIN 4 = DOMAIN_ADMIN 8 = USER
  • 11. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue commands.properties
  • 12. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Hint: related to permissions Q2: What are the 7s and 15s? Answer: all users until that number can execute the command
  • 13. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Q3: What does this number represent: 790 Answer: That’s about the number of lines commands.properties has in 4.9. Hint: related to the permissions file
  • 14. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Static Role-based Access Control • Pre-defined roles • All permissions kept in a commands.properties file • Changes are difficult to maintain • Management server restart is required after change • Hard to add a new role with custom permissions
  • 15. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Add Read-only Admin • Root Admin • Read-only permission
  • 16. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Let’s re-thing roles management • New way of managing roles • Add/Change roles made easy • Apply changes without management restart
  • 17. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Here’s what we did • Move all permissions to the DB • Create a dynamic role based account checker (RBAC) • New UI interface • Handle migrations
  • 18. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Dynamic ApiChecker
  • 19. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue How to use it: Adding role Use case: Root Admin wants to create a root admin read-only account, who is not allowed to see Global Settings. • Create a custom role • Add an “allow rule” to all list APIs • Assign the role to the read-only account • Add ”deny rule” to all configuration APIs
  • 20. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue How to use it: Adding role
  • 21. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue How to use it: Good practices • When adding custom rules, user is allowed to select multiple APIs using “*” • It’s a good practice to move deny rules on top of the list when allowing multiple APIs at once. • Rules can be shifted in the list in set the order of the list
  • 22. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue How to use it: Denied API • What happens in UI when user hits a denied API? • User is displayed with the following error
  • 23. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Dynamic Role-based Access Control • Pre-defined roles are available • Moves all permissions into the DB • Adds UI interface to add a new role • Custom set of rules per API for a role • Does not require management restart
  • 24. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Live demo • One must read slide title first
  • 25. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Availability and Upgrade • Dynamic RBAC is available and enabled by default on all new installations post 4.9 • Users upgrading to >4.9.x will have the feature disabled post upgrade • Migration tool is available to do the migration and enable Dynamic RBAC
  • 26. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Upgrade: Running the migration tool [root@host]# python migrate-dynamicroles.py -u cloud -p cloud -h localhost -p 3306 -f /etc/cloudstack/management/commands.properties Apache CloudStack Role Permission Migration Tool (c) Apache CloudStack Authors and the ASF, under the Apache License, Version 2.0 Running this migration tool will remove any default-role permissions from cloud.role_permissions. Do you want to continue? [y/N]y The commands.properties file has been deprecated and moved at: /etc/cloudstack/management/commands.properties.deprecated Static role permissions from commands.properties have been migrated into the db Dynamic role based API checker has been enabled!
  • 27. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Migrating Roles • After enabling Dynamic RBAC root admin role permissions looks like this:
  • 28. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Migrating Roles • While other roles have explicit rules created based on the settings in commands.properties file.
  • 29. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue Questions?
  • 30. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue By the way…. Next CloudStack event: Cloudstack Collaboration Conference at ApacheCon North America May 16-18, 2017 InterContinental Miami MIAMI, FLORIDA United States http://events.linuxfoundation.org/events/apachecon-north- america/attend/register-
  • 31. C l i c k t o e d i t The Cloud Specialists ShapeBlue.com @ShapeBlue More information • Slide deck: http://www.slideshare.net/shapeblue • Blog: http://shapeblue.com/blog • Email: boris.stoyanov@shapeblue.com • Web: http://shapeblue.com