ansible tower 和openldap 集成
2019-07-08 本文已影响0人
bjmingyang
修改log 模式为debug
vi /etc/tower/settings.py
LOGGING['handlers']['tower_warnings']['level'] = 'DEBUG'
#原来的是这样的注释掉
#LOGGING['handlers']['tower_warnings'] = {'class': 'logging.NullHandler'}
sh /usr/bin/ansible-tower-service restart
#重启服务,我也不知道为什么安装的时候没有给执行权限,可以自己给个执行权限,不用手动加路径了
tail -f /var/log/tower/web.log
#可以看log了
然后装个客户端,测试一下openldap 好使
yum install openldap-clients
ldapsearch -x -H ldap://ldap01s.example.com:389 -D "cn=admin,dc=example,dc=com" -b "dc=example,dc=com" -w 密码
#-H 主机 -D 管理员账号 -W 密码 -b 搜索域
执行有如下结果
# xxx.com
dn: dc=xxx,dc=com
objectClass: dcObject
objectClass: organization
o: Daodao Inc.
dc: example
# Manager, daodao.com
dn: cn=admin,dc=xxx,dc=com
objectClass: organizationalRole
cn: admin
# people, xxx.com
dn: ou=people,dc=xxx,dc=com
objectClass: organizationalUnit
ou: people
# lli, people, xxx.com
dn: uid=lli,ou=people,dc=xxx,dc=com
cn:: 6buO6JW+
uid: lli
telephoneNumber: 15811045972
ou: People
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: shadowAccount
objectClass: posixAccount
objectClass: entrustIGUser
departmentNumber: 8
sn: Li
说明连接性没问题,然后在tower 认证界面里面选择 ldap
最下面
分别
LDAP USER SEARCH
---
[
"OU=people,DC=example,DC=com",
"SCOPE_SUBTREE",
"(uid=%(user)s)"
]
--
LDAP GROUP SEARCH
-----
[
"dc=example,dc=com",
"SCOPE_SUBTREE",
"(objectClass=posixgroup)"
]
---
LDAP USER ATTRIBUTE MAP
---
{
"first_name": "givenName",
"last_name": "sn",
"email": "mail"
}
---
LDAP USER DN TEMPLATE 这个可以按空来,除了用户密码,其他都可以默认值
有时候会出现无法保存,400或者401,501的错误,那个是因为你选择的类型,和你ldap过滤的字段不匹配导致的。修改就好了
然后可以看看log,还有的情况就是ldap ssl 的不被信任,请至少升级到tls,然后选择不认证自签证书,或者就是选不加密的ldap
用户可以登陆的时候,然后在tower里面给他赋权就行了,当然也可以做ldap的group映射,看你的用户数量了