Приветствую, гуру!
Пытаясь внедрить ansible в свою инфраструктуру задался вопросом совмещения его с ldap.
Что дано:
- ansible 2.0.0.2
- Windows AD
Что хочу:
- Костылём брать из AD группы серверов, группы пользователей, имена серверов и имена пользователей и на всём имеющемся сервером парке настроить и поддерживать доступы с помощью ansible. Сейчас этим занимается puppet.
Собственно вопрос: Как лучше объяснить ansible какие сервера у меня есть, в какие группы они входят, какие на них должны быть пользователи и в каких группах? Какие конфиги сформировать? Я пока не могу сообразить...
Вот пример того, что я забираю из AD:
dump(@servers)
(
["voip", "asterisk3"],
["pm", "pm2"],
["vpn", "vpn1"],
["vpn", "vpn2"],
["hadoop", "hadoop1"],
["tp", "tp1"],
["web", "web1"],
["web", "web2"],
)
dump(@users)
(
[
"user1",
"user1",
"ghSADJASdasghds^%*@5638215",
15236,
15236,
"/bin/sh",
"ad",
"/home/user1",
"user1",
312452343,
1,
{ devel => "admins,www,users" },
],
[
"user2",
"user2",
"hkgdKLADGASHDGashgd3313",
15231,
15231,
"/bin/bash",
"ad",
"/home/user2",
"user2",
312452343,
1,
{ pm => "users" },
],
[
"user3",
"user3",
"hsdgka^#652JSHDLKAS@",
15172,
15172,
"/bin/false",
"ad",
"/home/user3",
"user3",
312452343,
1,
{ netserv => "users" },
],
[
"user4",
"user4",
"\odsajdsHADUw7e2OIUDSAOD",
15247,
15247,
"/bin/bash",
"ad",
"/home/user4",
"user4",
312452343,
1,
{
pm => "admins,apache,users",
backup => "admins",
devel => "admins",
logserv => "admins",
monitor => "admins",
netserv => "admins",
voip => "admins",
},
],
)