我使用ldap作为keystone身份后端,但它不能像我预期的那样工作。 我总是得到身份验证失败的http 401响应。
我按照这些文档来配置我的keystone和ldap:
我引用此文档来配置keystone:https://docs.openstack.org/keystone/latest/admin/identity-integrate-with-ldap.html
我引用此文档来配置ldap:https://wiki.openstack.org/wiki/OpenLDAP
我的openstack ldif文件是这样的(这里似乎没有管理员用户,我将所有这些添加到我的ldap中):
dn: dc=openstack,dc=org
dc: openstack
objectClass: dcObject
objectClass: organizationalUnit
ou: openstack
dn: ou=Groups,dc=openstack,dc=org
objectClass: top
objectClass: organizationalUnit
ou: groups
dn: ou=Users,dc=openstack,dc=org
objectClass: top
objectClass: organizationalUnit
ou: users
dn: ou=Roles,dc=openstack,dc=org
objectClass: top
objectClass: organizationalUnit
ou: roles
我的openstack keystone.conf [ldap]是:
url = ldap://localhost
user = cn=admin,dc=openstack,dc=org
password = password
suffix = dc=openstack,dc=org
我的ldap slap.conf是:
database bdb
suffix "dc=openstack,dc=org"
rootdn "cn=admin,dc=openstack,dc=org"
rootpw password
当我输入命令时( - os-password nomoresecret 是默认的devstack配置密码,我最初使用它.deststack安装keystone,它使用mysql作为所有keystone服务后端默认情况下):
openstack --os-username admin --os-password nomoresecret --os-domain-name default --os-auth-url http://127.0.0.1:5000/ token issue
它返回:
The request you have made requires authentication. (HTTP 401) (Request-ID: req-bbd485e6-b689-4bf3-b8f8-7d55f994e79f)
当我输入此命令时( - os-password 密码 是ldap rootpw密码。)
openstack --os-username admin --os-password password --os-domain-name default --os-auth-url http://127.0.0.1:5000/ token issue
它返回:
The request you have made requires authentication. (HTTP 401) (Request-ID: req-87bd8a1e-901e-4077-8461-095e3b7ee44e)
我找不到一个特定的演练指南,关于" bootstrap keystone with identity ldap guide(安装和配置keystone的文档更多关于使用mysql)"。
我指的是:Ldap connection with Openstack could not find user : admin,但似乎还没有解决问题。
任何人都可以帮助我使用keystone.conf和ldap .ldif文件的基本正确配置,以及如何使用ldap作为身份后端来引导keystone
我想先用ldap手动配置keystone(虽然我的openstack是由devstack安装的,默认情况下它的版本来自master分支。事实上,我使用devstack一次用ldap安装keystone,但是验证失败时失败了)。
任何人都可以提供帮助,谢谢你。