配置OpenStack以使用LDAP实现身份管理

简介: 本文展示了如何配置 Keystone,以便使用轻量级目录http://www.aliyun.com/zixun/aggregation/34570.html">访问协议( LDAP)服务器作为其身份服务的后端,而不是使用默认的 SQL 后端。

本文展示了如何配置 Keystone,以便使用轻量级目录http://www.aliyun.com/zixun/aggregation/34570.html">访问协议( LDAP)服务器作为其身份服务的后端,而不是使用默认的 SQL 后端。

开源的 OpenStack 项目为构建公共云和私有云提供了一个基础架构即服务(IaaS)层。企业、服务提供商、增值分销商、中小型企业、研究人员和全球数据中心都使用 OpenStack 来部署大型私有云或公共云。

轻量级目录访问协议(LDAP)是一个客户端/服务器协议,用于访问和管理目录信息。许多企业应用程序都使用 LDAP 作为用户身份验证的基础。(LDAP 的实现包括 IBM® Tivoli® Directory Server、Microsoft® Active Directory 和 OpenLDAP)。本文展示了如何快速、正确地启动和运行一个示例集成 OpenStack/LDAP 环境。学习如何:

使用 DevStack 安装一个 LDAP 服务器,DevStack 是一个用于构建 OpenStack 开发环境的工具。 配置 Keystone,通过 Keystone 的 LDAP 身份 驱动程序使用已安装的 LDAP 服务器。 使用 Keystone 兼容的树型结构来填充 LDAP 服务器。 使用 Keystone 的单元测试库来测试基于 LDAP 的 Keystone 服务。

此外,学习如何在不使用 DevStack 的情况下配置 Keystone,使用已经在生产环境中运行的 LDAP 服务器。

使用 DevStack 设置一个 LDAP 后端

自 2013 年 4 月 Grizzly 版本的 OpenStack 发布起,您可以通过标准的 OpenStack 开发环境安装工具 DevStack 将 LDAP 设置为 Keystone 后端。DevStack 是一个经过良好维护和记录的 shell 脚本,用于构建完整的 OpenStack 开发环境。

下载 DevStack 并在 devstack 根目录中创建一个名为 localrc 的文件。在 localrc 中为 OpenStack 配置用户定制内容。为了使 DevStack 能够以您的名义安装 LDAP 服务器,可以将 ldap 添加到由 localrc 中已启用的服务组成的列表中。例如

ENABLED_SERVICES=key,n-api,n-crt,n-obj,n-cpu,n-net,n-cond,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,ldap

您还必须在 localrc 中添加以下代码行,以告知 DevStack 您希望 Keystone 使用其 LDAP 后端身份驱动程序:

KEYSTONE_IDENTITY_BACKEND = ldap

如果您希望 DevStack 清除现有的 Keystone LDAP 树并重新开始,那么可以将以下代码行添加到 localrc 文件中:

KEYSTONE_CLEAR_LDAP=yes

保存并关闭 localrc。现在运行来自 devstack 根目录的 stack.sh 脚本:

./stack.sh

运行完脚本后,您可以看到:

OpenLDAP 已被安装。 Keystone 被配置为使用其 LDAP 后端身份驱动程序。 一个初始 Keystone LDAP 树已被创建,它使用了 devstack\files\ldap\openstack.ldif 中的数据,如清单 1 所示:

清单 1. openstack.ldif 的内容

dn: dc=openstack,dc=orgdc: openstackobjectClass: dcObjectobjectClass: organizationalUnitou: openstackdn: ou=Groups,dc=openstack,dc=orgobjectClass: organizationalUnitou:Groupsdn: ou=Users,dc=openstack,dc=orgobjectClass: organizationalUnitou:Usersdn: ou=Roles,dc=openstack,dc=orgobjectClass: organizationalUnitou:Rolesdn: ou=Projects,dc=openstack,dc=orgobjectClass: organizationalUnitou:Projectsdn: cn=9fe2ff9ee4384b1894a90878d3e92bab,ou=Roles,dc=openstack,dc=orgobjectClass: organizationalRoleou:_member_cn:9fe2ff9ee4384b1894a90878d3e92bab

LDAP 树

Keystone LDAP 后端身份驱动程序所用的示例模式假设采用了如图 1 所示的树型结构:

图 1. Keystone LDAP 后端身份驱动程序所用的示例模式

在图 1 的示例 LDAP 树中,Users、UserGroups、Projects 和 Roles 都是该树的子树,都使用了标准 LDAP ObjectClass。例如,在 Users 子树中,ObjectClass=inetOrgPerson。

目录
相关文章
|
存储 负载均衡 监控
金鱼哥RHCA回忆录:CL210管理OPENSTACK网络--开放虚拟网络(OVN)简介
第六章 管理OPENSTACK网络--开放虚拟网络(OVN)简介
1358 0
金鱼哥RHCA回忆录:CL210管理OPENSTACK网络--开放虚拟网络(OVN)简介
|
9月前
|
数据安全/隐私保护
(二)Open Stack(M)----Keystone安装和配置(下)
(二)Open Stack(M)----Keystone安装和配置(下)
69 0
|
9月前
|
数据库连接 API Apache
(二)Open Stack(M)----Keystone安装和配置(上)
(二)Open Stack(M)----Keystone安装和配置(上)
92 0
|
9月前
|
API 数据库
(九)Open Stack(M)--- Heat安装和配置
(九)Open Stack(M)--- Heat安装和配置
105 0
|
9月前
|
存储 API 数据库
(八)Open Stack(M)---Cinder安装和配置
(八)Open Stack(M)---Cinder安装和配置
91 0
|
分布式计算 关系型数据库 Hadoop
CentOS7 上配置Openstack[单机配置](上)
写在前面 配置前须知!!! step1 主机设置 step2 配置网口和DHCP确定IP step3 配置网络访问Internet step4 停止网络管理器关闭防火墙 step5 关闭SELinux step6 更新yum step7 安装Openstack RPM step8 安装PackStack
369 0
CentOS7 上配置Openstack[单机配置](上)
|
API 数据库 开发者
(四)OpenStack---M版---双节点搭建---Glance安装和配置
(四)OpenStack---M版---双节点搭建---Glance安装和配置
191 0
(四)OpenStack---M版---双节点搭建---Glance安装和配置
|
运维 网络协议 测试技术
金鱼哥RHCA回忆录:CL210管理OPENSTACK网络--网络配置选项+章节实验
第六章 管理OPENSTACK网络--网络配置选项+章节实验
508 1
金鱼哥RHCA回忆录:CL210管理OPENSTACK网络--网络配置选项+章节实验
|
存储 网络协议 安全
金鱼哥RHCA回忆录:CL210管理OPENSTACK网络--网络协议类型
第六章 管理OPENSTACK网络--网络协议类型
356 0
金鱼哥RHCA回忆录:CL210管理OPENSTACK网络--网络协议类型
|
SQL NoSQL Linux
CentOS7 上配置Openstack[单机配置](下)
step9 修改ssh配置 step10 生成与修改应答文件 step11 部署和运行Openstack setp12 成功部署 bug1 提示找不到HOSTNAME命令 bug2 Error: Execution of ‘/usr/bin/yum -d 0 -e 0 -y install redis’ returned 1: Error downloading packages bug3 安装时出现了No Presto metadata available for centos-openstack-queens bug4 Faild to aply catalog: Execution of
768 0
CentOS7 上配置Openstack[单机配置](下)