配置OpenStack以使用LDAP實現身份管理

2021-09-09 02:51:47 字數 2278 閱讀 9775

本文展示了如何配置 keystone,以便使用輕量級目錄">訪問協議( 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 開發環境。

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。

配置openStack使用spice

注 因為在測試配置過程中反覆配置過多次,以下內容可能並不完整,有待驗證。按官方文件 openstack install guide yum juno 搭建和配置的openstack預設使用novnc作為雲主機的控制台訪問方式,如果需要配置使用gui的作業系統,會顯得比較尷尬。所以嘗試配置使用spic...

openstack 配置項理解

1.命令列中的配置項會儲存在 cfg.py namespace 的屬性中,其值可以從 namespace get cli value獲取 2.配置檔案的值會儲存在 cfg.py namespace parser multiconfigparser parsed 中,parsed的格式如下 condu...

openstack 例項配置keepalived

bin bash nginx1 192.168.97.101 nginx2 192.168.97.102 vip 192.168.97.241 安裝軟體 yum install nginx wget echo e 192.168.97.101 nginx master usr share nginx...