SlideShare a Scribd company logo
1 of 42
Matthew Edmonds (edmondsw)
Lance Bragstad (lbragstad)
Custom RBAC
Can I do that?
What is RBAC?
How does OpenStack implement RBAC?
Customizing RBAC in your deployment
The future of access control
What is RBAC?
How does OpenStack implement RBAC?
Customizing RBAC in your deployment
The future of access control
RBAC is a method of regulating access to an object
based on the roles of individual users
What is RBAC?
Permissions are attached to predefined roles
Roles are assigned to users or groups
Roles are evaluated with request context
What is RBAC?
Permissions are attached to predefined roles
Roles are assigned to users or groups
Roles are evaluated with request context
What is RBAC?
Permissions are attached to predefined roles
Roles are assigned to users or groups
Roles are evaluated with request context
What is RBAC?
How does OpenStack implement RBAC?
Customizing RBAC in your deployment
The future of access control
How does OpenStack implement RBAC?
Attaching permissions to roles
Assigning roles to users
Evaluating requests
openstack role create manager
"identity:create_service": "role:manager"
policy.DocumentedRuleDefault(
name='identity:create_service',
check_str='role:manager',
description='Create service',
operations=[{'method': 'POST','path': '/v3/services'}]
)
How does OpenStack implement RBAC?
Attaching permissions to roles
Assigning roles to users
Evaluating requests
openstack role add 
--project development 
--user alice 
manager
How does OpenStack implement RBAC?
Attaching permissions to roles
Assigning roles to users
Evaluating requests
What is RBAC?
How does OpenStack implement RBAC?
Customizing RBAC in your deployment
The future of access control
Customizing RBAC in your deployment
Finding policy settings
Policy syntax
Choosing which role to customize
Selecting which policy to customize
Usually in /etc/<service>/policy.json
Could be a yaml file
CONF.oslo_policy.policy_file
CONF.oslo_policy.policy_dirs
oslopolicy-sample-generator
--namespace <service>
--output-file policy-sample.yaml
oslopolicy-policy-generator
--namespace <service>
--output-file policy-merged.yaml
Customizing RBAC in your deployment
Finding policy settings
Policy syntax
Choosing which role to customize
Selecting which policy to customize
"!" # none
"@" # any
"" # any
"<context_attr>:<target_attr>" # match
"(...)" # grouping
"not ..." # logical NOT
"... and ..." # logical AND
"... or ..." # logical OR
Customizing RBAC in your deployment
Finding policy settings
Policy syntax
Choosing which role to customize
Selecting which policy to customize
admin # everywhere
admin # everywhere
Issues:
1. Hardcoded admin checks
2. Can operate outside assigned scope
_member_ # keystone
Member # horizon
_member_ # keystone
Member # horizon
Issues:
1. Implemented as a catch-all
service # keystone
ResellerAdmin # swift
service # keystone
ResellerAdmin # swift
Issues:
1. Qualify as “member”
2. ResellerAdmin permissions are hardcoded
<your_thing> # do whatcha wanna do
<your_thing> # do whatcha wanna do
Issues:
1. Qualify as “member”
2. Hardcoded admin checks
Customizing RBAC in your deployment
Finding policy settings
Policy syntax
Choosing which role to customize
Selecting which policy to customize
Read the description (if available)
Check the code
Take a guess
Multiple APIs can be protected with one policy
One API can be protected with multiple policies
One API can call another API
PUT /v3/roles/{prior_role_id}/implies/{implies_role_id}
What is RBAC?
How does OpenStack implement RBAC?
Customizing RBAC in your deployment
The future of access control
Registering defaults
Documenting policies
Deprecating policies
Granular and consistent policy names
Implementing system-scoped tokens
Associating scope to policies
Service tokens
Defining default roles
Community goals
Project tags
Who benefits from all this?
https://goo.gl/B2QpYf
https://goo.gl/dkV8Pn
Custom RBAC - Can I Do That?

More Related Content

Similar to Custom RBAC - Can I Do That?

Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
Justin Smestad
 
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
Amazon Web Services
 

Similar to Custom RBAC - Can I Do That? (20)

Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
resource governor
resource governorresource governor
resource governor
 
CloudBrew 2018 - Azure Governance
CloudBrew 2018 - Azure GovernanceCloudBrew 2018 - Azure Governance
CloudBrew 2018 - Azure Governance
 
LeVan, "Search Web Services"
LeVan, "Search Web Services"LeVan, "Search Web Services"
LeVan, "Search Web Services"
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep Dive
 
Windsor AWS UG Deep dive IAM 2 - no json101
Windsor AWS UG   Deep dive IAM 2 - no json101Windsor AWS UG   Deep dive IAM 2 - no json101
Windsor AWS UG Deep dive IAM 2 - no json101
 
Azure Governance for Enterprise
Azure Governance for EnterpriseAzure Governance for Enterprise
Azure Governance for Enterprise
 
SCR Annotations for Fun and Profit
SCR Annotations for Fun and ProfitSCR Annotations for Fun and Profit
SCR Annotations for Fun and Profit
 
IaaS with ARM templates for Azure
IaaS with ARM templates for AzureIaaS with ARM templates for Azure
IaaS with ARM templates for Azure
 
Introduction to Azure Resource Manager, Global Azure Bootcamp 2016.04
Introduction to Azure Resource Manager, Global Azure Bootcamp 2016.04Introduction to Azure Resource Manager, Global Azure Bootcamp 2016.04
Introduction to Azure Resource Manager, Global Azure Bootcamp 2016.04
 
Webinar slides: Getting started with Azure Resource Graph
Webinar slides: Getting started with Azure Resource GraphWebinar slides: Getting started with Azure Resource Graph
Webinar slides: Getting started with Azure Resource Graph
 
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
 
AWS October Webinar Series - Introducing Amazon Elasticsearch Service
AWS October Webinar Series - Introducing Amazon Elasticsearch ServiceAWS October Webinar Series - Introducing Amazon Elasticsearch Service
AWS October Webinar Series - Introducing Amazon Elasticsearch Service
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
[2 d1] elasticsearch 성능 최적화
[2 d1] elasticsearch 성능 최적화[2 d1] elasticsearch 성능 최적화
[2 d1] elasticsearch 성능 최적화
 
Dev confus.2020 compliance operator
Dev confus.2020 compliance operatorDev confus.2020 compliance operator
Dev confus.2020 compliance operator
 
Qui Quaerit, Reperit. AWS Elasticsearch in Action
Qui Quaerit, Reperit. AWS Elasticsearch in ActionQui Quaerit, Reperit. AWS Elasticsearch in Action
Qui Quaerit, Reperit. AWS Elasticsearch in Action
 
2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop2011-02-03 LA RubyConf Rails3 TDD Workshop
2011-02-03 LA RubyConf Rails3 TDD Workshop
 
Presentation
PresentationPresentation
Presentation
 
Learn you some Ansible for great good!
Learn you some Ansible for great good!Learn you some Ansible for great good!
Learn you some Ansible for great good!
 

More from Lance Bragstad

More from Lance Bragstad (9)

Keystone JWS Tokens: Past, Present, and Future
Keystone JWS Tokens: Past, Present, and FutureKeystone JWS Tokens: Past, Present, and Future
Keystone JWS Tokens: Past, Present, and Future
 
OpenStack Summit Berlin - Keystone Project On-boarding
OpenStack Summit Berlin - Keystone Project On-boardingOpenStack Summit Berlin - Keystone Project On-boarding
OpenStack Summit Berlin - Keystone Project On-boarding
 
Unified Limits in OpenStack
Unified Limits in OpenStackUnified Limits in OpenStack
Unified Limits in OpenStack
 
OpenStack Keystone Stein Project Update
OpenStack Keystone Stein Project UpdateOpenStack Keystone Stein Project Update
OpenStack Keystone Stein Project Update
 
OpenStack Keystone Rocky Project Update
OpenStack Keystone Rocky Project UpdateOpenStack Keystone Rocky Project Update
OpenStack Keystone Rocky Project Update
 
OpenStack Keystone Queens Project Update
OpenStack Keystone Queens Project UpdateOpenStack Keystone Queens Project Update
OpenStack Keystone Queens Project Update
 
Fernet tokens: newton summit
Fernet tokens: newton summitFernet tokens: newton summit
Fernet tokens: newton summit
 
OpenStack Keystone Pike Project Update
OpenStack Keystone Pike Project UpdateOpenStack Keystone Pike Project Update
OpenStack Keystone Pike Project Update
 
Keystone Project Onboarding
Keystone Project OnboardingKeystone Project Onboarding
Keystone Project Onboarding
 

Recently uploaded

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Recently uploaded (20)

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Custom RBAC - Can I Do That?