Die Fragestellung:
Kann ich im SharePoint eine Authentisierung machen, gegen ein Active Directory welches “nur” einen Ein-Weg Trust hat?

Antwort:
Ja das geht.

In meinem Beispiel geht das so, dass ich 2 Domains in 2 verschiedenen Forests habe. Dabei ist die Domain contoso.com die “Extranet” Domain, also diejenige, welche die Externen User Accounts innehat. Die SharePoint Farm ist in der Domain contoso.com und wird von Extranet Benutzern verwendet (Lieferanten, Partner, Kunden etc.)

 Die Domain acme.net ist meine Interne Firmen Domain. Hier sind alle Mitarbeiter erfasst. Nun sollen die Mitarbeiter der ACME ebenfalls Zugriff auf CONTOSO erhalten, und zwar mit ihrem bisherigen CONTOSO Domain Account.

Aus Gründen der Security soll aber nur ein “One-Way” Trust zwischen den zwei getrennten Forests und Domains eingerichtet werden.

Wenn der One-Way trust also eingerichtet ist (siehe Bild unten) geht es weiter.

image

Jetzt muss der People Picker in SharePoint konfiguriert werden.

Damit der PeoplePicker in der Domain contoso.com auf das AD von acme.net lesend zugreiffen kann, muss im SharePoint folgender Befehl abgesetzt werden (dies ist der Encryption Key, auch als “Verschlüsselungsschlüssel” bekannt Winking smile .

stsadm.exe -o setapppassword –Password <Password>

Damit wir im AD acme.net lesend zugreiffen können, erstellen wir dort einen User Account LDAPReader, welcher ein ganz normaler Domain User Account ist (also quasi ein Service Account). Dessen Passwort müssen wir auch kennen.

Damit der PeoplePicker nun von seinem Glück erfährt, muss das pro Web Application eingerichtet werden. Dies erfolgt wiederum mit einem stsadm Befehl. In meinem Beispiel ist das die Web Application Intranet.contoso.com

stsadm -o setproperty -url http://intranet.contoso.com -pn peoplepicker-searchadforests -pv "forest:acme.net,acme\ldapreader,<Password>;domain:acme.net,acme\ldapreader,<Password>;forest:contoso.com;domain:contoso.com"

 

That’s it.

Im People Picker der entsprechenden Web Application funktioniert dass nun so, es werden also beide Domains contoso.com und acme.net durchsucht und dargestellt.

image

Da man aber unter umständen nicht möchte, dass in der Extranet Umgebung die externen Benutzer die Internen Benutzer einfach so darstellt, kann man zusätzlich noch mit einem LDAP Filter arbeiten.

Folgender stsadm Befehl, filtert noch alle Domain Accounts. Das heisst, nur Gruppen werden dargestellt.

stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(objectcategory=Group)" -url http://intranet.contoso.com

 

image

Weitere und komplexere LDAP Filter sind natürlich auch möglich.

Will man diesem Filter wieder entfernen, gilt folgender Befehl:

stsadm.exe -o setproperty -pn peoplepicker-searchadcustomfilter -pv "" -url http://intranet.contoso.com

Viel Spass!