dotnet/runtime

Support System.DirectoryServices.AccountManagement on Linux(/macOS)

Open

#37,100 opened on May 27, 2020

View on GitHub
 (1 comment) (53 reactions) (0 assignees)C# (5,445 forks)batch import
area-System.DirectoryServicesenhancementhelp wantedos-linuxos-mac-os-x

Repository metrics

Stars
 (17,886 stars)
PR merge metrics
 (Avg merge 12d 11h) (661 merged PRs in 30d)

Description

Following the discussion in https://github.com/dotnet/runtime/issues/23944#issuecomment-634850013, this issue is to track adding support for Linux (and/or macOS) to the S.DS.AM namespace. Since S.DS.Protocols is now implemented for all platforms, a logical next step would be to look into the "derived" namespaces.

As for a use-case, I quote myself from the other issue:

I'm working on an application that does a lot of user and group management through S.DS.AM, which I am planning on running in Kubernetes. Currently, it works with Windows hosts and pods within Kubernetes, but that is tricky to manage and some of our toolkit does not work (nicely) with Windows in K8s (for example, secret injection from HashiCorp Vault). Add to that the extra licensing costs and computing resources...

Reworking the application to S.DS.P is probably possible, but very inconvenient and would require significant work, as well as being more cumbersome to work with native LDAP objects instead of full-featured Principal objects from AM.

I believe everything in S.DS.AM is also possible using just S.DS.P, but especially converting existing applications might be too much of a burden to make this feasible for many. On top of that, it is more difficult to manage and it makes the code more difficult to work with in general.

Contributor guide