Echange de Claims entre deux domaines, via AD FS 2.0, à destination d’un server SharePoint 2010

Fournisseurs et consommateurs de Claims

Il faut bien distinguer deux catégories de partenaires dans l’échange de Claims. Il y a ceux qui sont fournisseurs de Claims, et ceux qui les consomment (en se connectant à un fournisseur).

Quand on lance la console de management AD FS 2.0, on a dans ‘Trust Relationships’ deux dossiers distincts pour ces deux catégories : ‘Claims Provider Trusts’ (fournisseur), et ‘Relying Party Trusts’ (consommateur).

Par défaut, AD FS 2.0 dispose d’un fournisseur de Claims, une fois installé : l’Active Directory de son domaine. Ainsi, AD FS est capable d’émettre des Claims à partir des données contenues dans l’AD (que ce soient les groupes ou les utilisateurs).

Configurer AD FS sur Adatum

Nous voulons que Adatum envoie ses Claims à Treysearch. Il faut donc ajouter Treysearch comme partenaire de confiance sur Adatum (c’est-à-dire dans ‘Relying Party Trusts’).

Cliquer sur ‘Add Relying Party Trust’.

Laisser le choix par défaut et entrer dans le champ ‘Federation metadata address (host name or ULR)’ le nom du serveur AD FS 2.0 sur le 2e domaine, pour nous : adfsresource.treysearch.com. Nous n’entrons pas ici dans les détails et laissons le reste par défaut, et ouvrons l’éditeur de règles à la fin : il nous reste à configurer les Claims à envoyer.

Nous choisissons d’ajouter une règle de type ‘Send LDAP Attributes as Claims’ : nous voulons que les attributs de l’Active Directory soient transformés sous forme de Claims et envoyés à Treysearch. Sélectionner l’adresse mail est suffisant (elle sert d’identifiant sur SharePoint).

Configurer AD FS sur Treysearch

Maintenant, il nous faut configurer AD FS sur Treysearch pour qu’il récupère les Tokens émis par Adatum et qu’il les transfère à SharePoint (deux étapes, donc).

Adatum vers Treysearch

Il faut ajouter Adatum comme provider de Claims pour Treysearch. Cliquer sur ‘Add Claims Provider Trust’ et entrer dans le champ ‘Federation metadata address (host name or URL)’, ici : adfsaccount.adatum.com. Laisser le reste par défaut et ouvrir l’éditeur de règles.

La règle que nous voulons créer ici est de type ‘Pass Through or Filter an Incomming Claim’. La valeur pour ‘Incomming claim type’ est ‘E-Mail Address’ (le Claim envoyé par Adatum). On laisse le reste par défaut (pas de filtrage sur les Claims envoyés)

Treysearch vers SharePoint

Enfin, il nous faut envoyer les Claims reçus par Treysearch (que ce soit de son AD ou Adatum) vers le serveur SharePoint. Il suffit d’ajouter le serveur SharePoint dans ‘Relying Party Trust’ sur Treysearch. Il faut choisir ‘Enter data about the relying party manually’, puis ‘AD FS 2.0 profile’, et  entrer l’adresse qui va recevoir les claims (l’adresse de l’application SharePoint, c’est-à-dire dans notre exemple : https://login.treysearch.com/trust/). Attention dans le champ ‘Relying Party Identifier’, il faut ajouter le nom que vous avez donné à votre serveur dans le PowerShell SharePoint (voir ici).

Ouvrir l’éditeur de règles et ajouter une règle de type ‘Pass Throug’ (pour Adatum) et une de type ‘Send LDAP Attributes’ (pour Treysearch, selon l’utilisation prévue).

Conclusion

La communication entre les deux serveurs AD FS est opérationnelle, mais il reste quelques manipulations à faire pour que les utilisateurs de Adatum puissent se connecter au serveur SharePoint de Treysearch (gestion de certificats, configuration de SharePoint, etc.).

De plus, on ne se contente généralement pas d’envoyer les Claims de tous les utilisateurs entre les deux serveurs AD FS, mais on filtre selon les groupes (par exemple). Cela implique d’ajouter d’autres règles que celles que nous avons décrites ici, le principe restant le même.

Ces différents sujets seront éventuellement évoqués dans de futurs articles.

  • Our Goal here is to setup sharing of Claims between two domains: from Adatum to Treysearch and use them in a SharePoint server on the Treysearch domain.

    Claims provider and relying party

    There are two “sides” when sharing Claims. There is the provider side and the relying party side, which relies on the claims provided by the claims provider side.

    When you launch the AD FS management console you have two subfolders in the “Trust Relationships” folder, one for each side: “Claims Provider Trusts” and “Relying Party Trusts”.

    By default, AD FS 2.0 has one claims provider available after installation: the Active Directory of its Domain. It enables AD FS 2.0 to issue claims from the data contained in the AD (users or groups).

    Configure AD FS on Adatum

    We want Adatum to issue claims to Treysearch. To permit it, we have to add Treysearch as trusted partner on Adatum (it will appear in the “Relying Party Trusts” folder).

    Click on ‘Add Relying Party Trust’.

    Leave the default setting and enter in the field named “Federation metadata address (host name or ULR)” the name of the AD FS 2.0 on the second domain, being here: adfsresource.treysearch.com. Leave other settings unchanged and open the rules editor at the end of the wizard: we have to configure which claims to send.

    Choose to add a “Send LDAP Attributes as Claims” rule: we want attributes from the Active Directory to be issued as claims and sent to Treysearch. Adding the email address is enough: it will be used for user identification in SharePoint.

    Configure AD FS on Treysearch

    Now, we have to configure AD FS on Treysearch so that is gets tokens issued by Adatum and forwards it to SharePoint (two steps to configure).

    From Adatum to Treysearch

    We have to add Adatum as claims provider for Treysearch. Click on “Add Claims Provider Trust” and enter in the field called “Federation metadata address (host name or URL)” our provider, being here: adfsaccount.adatum.com. Leave other options by default and open the rules editor at the end of the wizard.

    The rule we want to add here is of type “Pass Through or Filter an Incoming Claim“. The value for “Incoming claim type” is “E-Mail Address” (the type of Claim sent by Adatum). Leave the rest by default (we do no filtering on the Claims).

    Treysearch DC to SharePoint

    Finally, we want to send the claims received by Treysearch DC to the SharePoint server. To do so, we have to add the SharePoint server as “Relying Party Trust” on Treysearch. Choose “Enter data about the relying party manually” then choose “AD FS 2.0 profile” and enter the address that will be receiving claims (the SharePoint url using Claims as identity provider, in our case https://login.treysearch.com/trust/). Be careful: in the field “Relying Party Identifier”, you have to add the name you gave (or will give) to your SharePoint server in PowerShell (see here).

    Open the rules editor to add a “Pass Through” rule for Adatum, and a “Send LDAP Attributes” rule for Treysearch if needed (if you want to authenticate users of the Treysearch domain as well).

    Conclusion

    Your claims should flow between your two domains and to the SharePoint server. You still have some configuration to do before users can login to the SharePoint website.

    The AD FS setup is quite simple here, because we don’t filter claims. But it is usually a little more complex: we can, for instance, filter users based on their group membership. If you want to do so, you will have to add some other rules to your AD FS configuration, more or less the same way we added rules for the email address in this post.

    Those other subjects might come up is some other blog post, so stay tuned!