adeutscher / DirectoryTools

0 stars 0 forks source link

Large Change - Domain Trusts and Foreign Security Principal #32

Open adeutscher opened 10 years ago

adeutscher commented 10 years ago

Make a way to handle lookups over domain trusts. A cross-domain user over a trust has their SID stored in a Foreign Security Principal object in the local domain. It seems to be the responsibility of the machine doing the lookups to bind out to a controller on the remote domain and get further information.

Requirements:

adeutscher commented 10 years ago

Reflected a bit on this issue.

I think that the tidiest thing would probably be to implement a new class that will implement DirectoryTools instances as needed. This will be a world easier than editing the DirectoryTools class itself.

adeutscher commented 10 years ago

More reflection:

Trust relationships more of an edge case. Users would likely be working in one domain (making this issue moot), or perhaps in a forest (enabling Global Catalog).

If there are two domains joined by a trust with one group composed of users from multiple domains, we don't need to hold the script author's hand all the way using DirectoryTools methods to manage the entire trust structure. However, we do need to provide a technique to use basic methods to identify a Foreign Security Principal object.

With this approach, we would still need:

Using these methods, a user could get the users in a group by their DN, and check whether a DN represents a foreign security principal (likely through the first section of their DN matching the format of an SID). If it is, they'd take a look at the domain-identifying section of the SID. They would then look up the domain in a dictionary of spare DirectoryTools objects tuned to these trust domains.

One way or the other, each DirectoryTools config would need a proxy account that was allowed to look through the target domain.