Sync users and groups from Active Directory
I am using Active Directory authentication (NTDomainLoginModule with ntlm-config.properties) with a default domain, which is working fine. I also want to enable synchronization for users and groups; but all of the instructions that I can find for setting up synchronization seem to assume I am using LDAP authentication. I tried using LDAP authentication before, but struggled mightily and was never able to get it working. I would rather not have to go back to that to enable synchronization. Does the NTDomainLoginModule support synchronization, and are there instructions for how to enable it?
Please sign in to leave a comment.
David,
Only LDAP authentication supports user synchronization.
We would appreciate details on issues you had while trying to set-up LDAP authentication.
I agree that it's not easy to get it right, but it should be doable and provides features that can be worth it.
ANy constructive feedback on ways to improve the experience are welcome.
I'd recommend to get acquainted with instructions, then setup a test TeamCity instance, switch to LDAP auth in main-config.xml and experiment with ldap-config.properties looking into teamcity-server.log and teamcity-ldap.log at the same time.
I will keep a log of the issues that I run into trying to enabled LDAP authentication:
So I think I have achieved qualified success; except that there is no way my infrastructure team is going to allow me to store AD credentials in plain text on the server, so all of that synchronization work was probably for nothing. Also, I am still restricting users to my office only; if it turns out that only users in the groups I have mapped are created, and it does not create any kind of performance problem on the server, I may be able to just remove the base and have it scan from the root.
I hope I have given you a sense of what an incredibly frustrating process this is. Undoutedly if I knew more about AD and LDAP, it would be easier; but I really don't want to know any more about AD and LDAP than I absolutely have to. That is why I loved the NTLMLoginModule: ONE property; set the default domain and you're done. I don't want to have to jump through all of these hoops. But if I am going to be forced to jump through these hoops, I need some more help than is currently provided by the TeamCity documentation. Some thoughts on what can be improved:
Beyond documentation, I think there is more that could be done to make this process smoother:
Hopefully this was helpful, if you even managed to read this far. If there is any more information I can give you about my experience that would help you improve this feature, please ask.
David
I am frustrated too. I'm just trying to use LDAP but allow 1 system user that is used for automation purposes, that we know the password for, that is not in the LDAP. If there was a UI and a hidden password field then maybe the infrastructure team would allow us to add the user to the LDAP. Or if there was an option to have ldap authentication and then fallback to non-ldap if a user is not in ldap.
+1 for confused admin.