SlideShare a Scribd company logo
Keystone with LDAP
What works, and what doesn’t?
Jesse Pretorius aka @odyssey4me
Rackspace Software Developer
OpenStack-Ansible PTL
OpenStack Manchester Meetup
19 Jan 2016
Keystone Back-Ends
Identity
The Identity back-end provides the ability for Keystone to access Users, Groups and the
assignment of Users to Groups.
Resource
The Resource back-end (introduced in Kilo) provides the ability for Keystone to access
Projects, Domains and the Assignment of Projects to Domains.
Assignment
The Assignment back-end (introduced in Havana) provides Roles and handles the
assignments between Identities, Resources and Roles.
Keystone Identity Back-End
• Drivers
– SQL (only one back-end supported)
– LDAP (many back-ends supported)
– Hybrid SQL/LDAP [1] (SUSE Cloud only, not upstream)
• Domain-specific Back-end Driver Configuration [2]
– Configuration can be in file
• /etc/keystone/domains/keystone.<domain_name>.conf
– Configuration can be in SQL (experimental in Kilo)
Keystone Back-Ends (continued…)
• Resource Drivers
– SQL
– LDAP driver deprecated in Liberty, scheduled for removal in Mitaka [3]
• Assignment Drivers
– SQL
– LDAP driver deprecated in Kilo, scheduled for removal in Mitaka [4]
Using Multiple Keystone Domains
• The Keystone v3 API is required to use multiple domains
• To use the Keystone v3 API, you have to use the OpenStack CLI
– Keystone CLI has been deprecated in Liberty
– python-keystoneclient is moving towards being a library only
• When multiple domains are present, all Admin queries relating to
Users/Groups have to be scoped to the domain.
– Even for the Default domain, eg:
openstack user list --domain Default
Best Practice, in my opinion
• ‘Default’ Domain
– Should use the SQL Driver for its Identity back-end
– Should be used for Service accounts
• Resource & Assignment Back-Ends
– Should use the SQL Driver
A practical example
### in /etc/keystone/domains/keystone.Users.conf ###
[identity]
driver = ldap
[ldap]
group_id_attribute = cn
group_name_attribute = cn
group_objectclass = groupOfUniqueNames
group_tree_dn = ou=Groups,dc=example,dc=com
password = secrete
suffix = DC=example,DC=com
url = ldap://aio1_openldap_server_container-b083299d
user = cn=Manager,dc=example,dc=com
user_id_attribute = uid
user_mail_attribute = mail
user_name_attribute = cn
user_tree_dn = ou=People,dc=example,dc=com
### in /etc/keystone/keystone.conf ###
[identity]
driver = sql
domain_config_dir = /etc/keystone/domains
domain_specific_drivers_enabled = True
[resource]
driver = sql
[role]
driver = sql
### execute on the appropriate host ###
# create the domain
openstack domain create Users
# restart the keystone service now
# this is required for the conf file and
# domain association to work
service apache2 restart || service keystone restart
# list the domain users
openstack user list --domain Users
References
1. https://github.com/SUSE-Cloud/keystone-hybrid-backend
2. http://docs.openstack.org/developer/keystone/configuration.html#domain-
specific-drivers
3. https://github.com/openstack/keystone/blob/master/keystone/resource/backen
ds/ldap.py#L34-L37
4. https://github.com/openstack/keystone/blob/master/keystone/assignment/back
ends/ldap.py#L34-L35
Get Involved in OpenStack-Ansible
• Launchpad Landing Page
– https://launchpad.net/openstack-ansible
• Documentation
– http://docs.openstack.org/developer/openstack-ansible
– http://docs.openstack.org/developer/openstack-ansible/developer-
docs/quickstart-aio.html
• Attend community meetings
– https://wiki.openstack.org/wiki/Meetings/openstack-ansible
• Get help
– Mailing Lists: [openstack-ansible] in subject line
– IRC: #openstack-ansible in Freenode
OpenStack Keystone with LDAP

More Related Content

What's hot

Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
KwonSun Bae
 
Im 2021 tutorial next-generation closed-loop automation - an inside view - ...
Im 2021 tutorial   next-generation closed-loop automation - an inside view - ...Im 2021 tutorial   next-generation closed-loop automation - an inside view - ...
Im 2021 tutorial next-generation closed-loop automation - an inside view - ...
Ishan Vaishnavi
 
Ixia presentation
Ixia presentationIxia presentation
Ixia presentation
Sasi Reddy
 
Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPN
Cisco Canada
 
Juniper Bgp
Juniper BgpJuniper Bgp
Juniper Bgp
Hussein Elmenshawy
 
Ccnp workbook network bulls
Ccnp workbook network bullsCcnp workbook network bulls
Ccnp workbook network bulls
Swapnil Kapate
 
VXLAN Design and Deployment.pdf
VXLAN Design and Deployment.pdfVXLAN Design and Deployment.pdf
VXLAN Design and Deployment.pdf
NelAlv1
 
CCNA v6.0 ITN - Chapter 06
CCNA v6.0 ITN - Chapter 06CCNA v6.0 ITN - Chapter 06
CCNA v6.0 ITN - Chapter 06
Irsandi Hasan
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack Neutron
Sana Khan
 
Router configuration
Router configurationRouter configuration
Router configuration
Claret Malmaceda Castillo
 
Technical Introduction to RHEL8
Technical Introduction to RHEL8Technical Introduction to RHEL8
Technical Introduction to RHEL8
vidalinux
 
CCNA presentation.
CCNA presentation.CCNA presentation.
CCNA presentation.
Ajaigururaj R
 
Ccnp presentation day 4 sd-access vs traditional network architecture
Ccnp presentation   day 4  sd-access vs traditional network architectureCcnp presentation   day 4  sd-access vs traditional network architecture
Ccnp presentation day 4 sd-access vs traditional network architecture
SagarR24
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to Hero
Dhruv Sharma
 
CloudStack and cloud-init
CloudStack and cloud-initCloudStack and cloud-init
CloudStack and cloud-init
MarcusS13
 
Next Generation Nexus 9000 Architecture
Next Generation Nexus 9000 ArchitectureNext Generation Nexus 9000 Architecture
Next Generation Nexus 9000 Architecture
Cisco Canada
 
Linux Terminal commands for Devops.pdf
Linux Terminal commands for Devops.pdfLinux Terminal commands for Devops.pdf
Linux Terminal commands for Devops.pdf
Nambi Nam
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
CCNA 2 Routing and Switching v5.0 Chapter 1
CCNA 2 Routing and Switching v5.0 Chapter 1CCNA 2 Routing and Switching v5.0 Chapter 1
CCNA 2 Routing and Switching v5.0 Chapter 1
Nil Menon
 
CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2
Nil Menon
 

What's hot (20)

Vxlan deep dive session rev0.5 final
Vxlan deep dive session rev0.5   finalVxlan deep dive session rev0.5   final
Vxlan deep dive session rev0.5 final
 
Im 2021 tutorial next-generation closed-loop automation - an inside view - ...
Im 2021 tutorial   next-generation closed-loop automation - an inside view - ...Im 2021 tutorial   next-generation closed-loop automation - an inside view - ...
Im 2021 tutorial next-generation closed-loop automation - an inside view - ...
 
Ixia presentation
Ixia presentationIxia presentation
Ixia presentation
 
Building DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPNBuilding DataCenter networks with VXLAN BGP-EVPN
Building DataCenter networks with VXLAN BGP-EVPN
 
Juniper Bgp
Juniper BgpJuniper Bgp
Juniper Bgp
 
Ccnp workbook network bulls
Ccnp workbook network bullsCcnp workbook network bulls
Ccnp workbook network bulls
 
VXLAN Design and Deployment.pdf
VXLAN Design and Deployment.pdfVXLAN Design and Deployment.pdf
VXLAN Design and Deployment.pdf
 
CCNA v6.0 ITN - Chapter 06
CCNA v6.0 ITN - Chapter 06CCNA v6.0 ITN - Chapter 06
CCNA v6.0 ITN - Chapter 06
 
Introduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack NeutronIntroduction to Software Defined Networking and OpenStack Neutron
Introduction to Software Defined Networking and OpenStack Neutron
 
Router configuration
Router configurationRouter configuration
Router configuration
 
Technical Introduction to RHEL8
Technical Introduction to RHEL8Technical Introduction to RHEL8
Technical Introduction to RHEL8
 
CCNA presentation.
CCNA presentation.CCNA presentation.
CCNA presentation.
 
Ccnp presentation day 4 sd-access vs traditional network architecture
Ccnp presentation   day 4  sd-access vs traditional network architectureCcnp presentation   day 4  sd-access vs traditional network architecture
Ccnp presentation day 4 sd-access vs traditional network architecture
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to Hero
 
CloudStack and cloud-init
CloudStack and cloud-initCloudStack and cloud-init
CloudStack and cloud-init
 
Next Generation Nexus 9000 Architecture
Next Generation Nexus 9000 ArchitectureNext Generation Nexus 9000 Architecture
Next Generation Nexus 9000 Architecture
 
Linux Terminal commands for Devops.pdf
Linux Terminal commands for Devops.pdfLinux Terminal commands for Devops.pdf
Linux Terminal commands for Devops.pdf
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStackMeetup 23 - 02 - OVN - The future of networking in OpenStack
Meetup 23 - 02 - OVN - The future of networking in OpenStack
 
CCNA 2 Routing and Switching v5.0 Chapter 1
CCNA 2 Routing and Switching v5.0 Chapter 1CCNA 2 Routing and Switching v5.0 Chapter 1
CCNA 2 Routing and Switching v5.0 Chapter 1
 
CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2CCNA 1 Routing and Switching v5.0 Chapter 2
CCNA 1 Routing and Switching v5.0 Chapter 2
 

Similar to OpenStack Keystone with LDAP

LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)
Fran Fabrizio
 
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
SolarWinds
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
Ben Krug
 
Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
Anatoliy Okhotnikov
 
Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01
SANE Ibrahima
 
RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)
Gustavo Rene Antunez
 
Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!
Murshed Ahmmad Khan
 
Ramesh_Oracle_DBA
Ramesh_Oracle_DBARamesh_Oracle_DBA
Ramesh_Oracle_DBA
Ramesh Pillai
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell Technologies
Novell
 
Security and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web StudioSecurity and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web Studio
AVEVA
 
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
SolarWinds
 
A Practical Multi-Tenant Cluster
A Practical Multi-Tenant ClusterA Practical Multi-Tenant Cluster
A Practical Multi-Tenant Cluster
Command Prompt., Inc
 
#WeSpeakLinux Session
#WeSpeakLinux Session#WeSpeakLinux Session
#WeSpeakLinux Session
Kellyn Pot'Vin-Gorman
 
Building Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source TechnologiesBuilding Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source Technologies
Rahul Singh
 
Building Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source TechnologiesBuilding Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source Technologies
Anant Corporation
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
Travis Wright
 
Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache Spark
Rahul Jain
 
What’s new in SQL Server 2017
What’s new in SQL Server 2017What’s new in SQL Server 2017
What’s new in SQL Server 2017
James Serra
 
Simplified Cluster Operation and Troubleshooting
Simplified Cluster Operation and TroubleshootingSimplified Cluster Operation and Troubleshooting
Simplified Cluster Operation and Troubleshooting
DataWorks Summit/Hadoop Summit
 
Simplified Cluster Operation & Troubleshooting
Simplified Cluster Operation & TroubleshootingSimplified Cluster Operation & Troubleshooting
Simplified Cluster Operation & Troubleshooting
DataWorks Summit/Hadoop Summit
 

Similar to OpenStack Keystone with LDAP (20)

LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)LDAP Applied (EuroOSCON 2005)
LDAP Applied (EuroOSCON 2005)
 
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
Ldap introduction (eng)
Ldap introduction (eng)Ldap introduction (eng)
Ldap introduction (eng)
 
Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01Ldap 121020013604-phpapp01
Ldap 121020013604-phpapp01
 
RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)RMAN in 12c: The Next Generation (PPT)
RMAN in 12c: The Next Generation (PPT)
 
Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!Apache Solr! Enterprise Search Solutions at your Fingertips!
Apache Solr! Enterprise Search Solutions at your Fingertips!
 
Ramesh_Oracle_DBA
Ramesh_Oracle_DBARamesh_Oracle_DBA
Ramesh_Oracle_DBA
 
Integrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell TechnologiesIntegrating Apple Macs Using Novell Technologies
Integrating Apple Macs Using Novell Technologies
 
Security and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web StudioSecurity and LDAP integration in InduSoft Web Studio
Security and LDAP integration in InduSoft Web Studio
 
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
Hi! Ho! Hi! Ho! SQL Server on Linux We Go!
 
A Practical Multi-Tenant Cluster
A Practical Multi-Tenant ClusterA Practical Multi-Tenant Cluster
A Practical Multi-Tenant Cluster
 
#WeSpeakLinux Session
#WeSpeakLinux Session#WeSpeakLinux Session
#WeSpeakLinux Session
 
Building Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source TechnologiesBuilding Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source Technologies
 
Building Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source TechnologiesBuilding Enterprise Search Engines using Open Source Technologies
Building Enterprise Search Engines using Open Source Technologies
 
PASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep DivePASS Summit - SQL Server 2017 Deep Dive
PASS Summit - SQL Server 2017 Deep Dive
 
Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache Spark
 
What’s new in SQL Server 2017
What’s new in SQL Server 2017What’s new in SQL Server 2017
What’s new in SQL Server 2017
 
Simplified Cluster Operation and Troubleshooting
Simplified Cluster Operation and TroubleshootingSimplified Cluster Operation and Troubleshooting
Simplified Cluster Operation and Troubleshooting
 
Simplified Cluster Operation & Troubleshooting
Simplified Cluster Operation & TroubleshootingSimplified Cluster Operation & Troubleshooting
Simplified Cluster Operation & Troubleshooting
 

Recently uploaded

Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

OpenStack Keystone with LDAP

  • 1. Keystone with LDAP What works, and what doesn’t? Jesse Pretorius aka @odyssey4me Rackspace Software Developer OpenStack-Ansible PTL OpenStack Manchester Meetup 19 Jan 2016
  • 2. Keystone Back-Ends Identity The Identity back-end provides the ability for Keystone to access Users, Groups and the assignment of Users to Groups. Resource The Resource back-end (introduced in Kilo) provides the ability for Keystone to access Projects, Domains and the Assignment of Projects to Domains. Assignment The Assignment back-end (introduced in Havana) provides Roles and handles the assignments between Identities, Resources and Roles.
  • 3. Keystone Identity Back-End • Drivers – SQL (only one back-end supported) – LDAP (many back-ends supported) – Hybrid SQL/LDAP [1] (SUSE Cloud only, not upstream) • Domain-specific Back-end Driver Configuration [2] – Configuration can be in file • /etc/keystone/domains/keystone.<domain_name>.conf – Configuration can be in SQL (experimental in Kilo)
  • 4. Keystone Back-Ends (continued…) • Resource Drivers – SQL – LDAP driver deprecated in Liberty, scheduled for removal in Mitaka [3] • Assignment Drivers – SQL – LDAP driver deprecated in Kilo, scheduled for removal in Mitaka [4]
  • 5. Using Multiple Keystone Domains • The Keystone v3 API is required to use multiple domains • To use the Keystone v3 API, you have to use the OpenStack CLI – Keystone CLI has been deprecated in Liberty – python-keystoneclient is moving towards being a library only • When multiple domains are present, all Admin queries relating to Users/Groups have to be scoped to the domain. – Even for the Default domain, eg: openstack user list --domain Default
  • 6. Best Practice, in my opinion • ‘Default’ Domain – Should use the SQL Driver for its Identity back-end – Should be used for Service accounts • Resource & Assignment Back-Ends – Should use the SQL Driver
  • 7. A practical example ### in /etc/keystone/domains/keystone.Users.conf ### [identity] driver = ldap [ldap] group_id_attribute = cn group_name_attribute = cn group_objectclass = groupOfUniqueNames group_tree_dn = ou=Groups,dc=example,dc=com password = secrete suffix = DC=example,DC=com url = ldap://aio1_openldap_server_container-b083299d user = cn=Manager,dc=example,dc=com user_id_attribute = uid user_mail_attribute = mail user_name_attribute = cn user_tree_dn = ou=People,dc=example,dc=com ### in /etc/keystone/keystone.conf ### [identity] driver = sql domain_config_dir = /etc/keystone/domains domain_specific_drivers_enabled = True [resource] driver = sql [role] driver = sql ### execute on the appropriate host ### # create the domain openstack domain create Users # restart the keystone service now # this is required for the conf file and # domain association to work service apache2 restart || service keystone restart # list the domain users openstack user list --domain Users
  • 8.
  • 9. References 1. https://github.com/SUSE-Cloud/keystone-hybrid-backend 2. http://docs.openstack.org/developer/keystone/configuration.html#domain- specific-drivers 3. https://github.com/openstack/keystone/blob/master/keystone/resource/backen ds/ldap.py#L34-L37 4. https://github.com/openstack/keystone/blob/master/keystone/assignment/back ends/ldap.py#L34-L35
  • 10. Get Involved in OpenStack-Ansible • Launchpad Landing Page – https://launchpad.net/openstack-ansible • Documentation – http://docs.openstack.org/developer/openstack-ansible – http://docs.openstack.org/developer/openstack-ansible/developer- docs/quickstart-aio.html • Attend community meetings – https://wiki.openstack.org/wiki/Meetings/openstack-ansible • Get help – Mailing Lists: [openstack-ansible] in subject line – IRC: #openstack-ansible in Freenode