Planifier des fournisseurs de revendications personnalisées pour le sélecteur de personnes dans SharePoint
S’APPLIQUE À :2013 2016 2019 Édition d’abonnement SharePoint dans Microsoft 365
Vous pouvez utiliser les fournisseurs de revendications inclus dans SharePoint Server, ou vous pouvez créer vos propres fournisseurs de revendications personnalisés pour vous connecter à d’autres sources de revendications et fournir des revendications supplémentaires dans le jeton de sécurité pour un utilisateur. Par exemple, si vous disposez d'une application gestion de la relation client (CRM) qui contient des rôles introuvables dans le référentiel d'utilisateurs dans Active Directory Domain Services (AD DS), vous pouvez créer un fournisseur de revendications personnalisé pour vous connecter à cette base de données CRM et ajouter des données de rôle CRM au jeton de sécurité initial d'un utilisateur. Pour plus d'informations sur les scénarios d'utilisation des fournisseurs de revendications, voir Fournisseur de revendications.
Un fournisseur de revendications dans SharePoint Server est utilisé pour augmenter les revendications et fournir une résolution de noms. Dans le rôle d'augmentation de revendications, un fournisseur de revendications augmente un jeton de sécurité d'un utilisateur avec des revendications supplémentaires au moment de la connexion. Pour plus d'informations sur l'augmentation des revendications, voir Fournisseur de revendications. Dans le rôle de la résolution de noms, un fournisseur de revendications répertorie, résout, explore les utilisateurs, les groupes et les revendications et détermine leur affichage convivial dans le sélecteur de personnes. La sélection de revendications permet à une application d'exposer des revendications dans le sélecteur de personnes, par exemple lors de la configuration de la sécurité d'un site SharePoint ou d'un service SharePoint. Pour plus d’informations sur le sélecteur de personnes, voir Planifier le sélecteur de personnes dans SharePoint.
Par défaut, les informations résolues dans le sélecteur de personnes lors de l'exécution d'une requête dépendent des informations fournies par le fournisseur de revendications. Vous ne pouvez pas modifier la teneur et le mode d'affichage des informations fournies lorsque vous utilisez un fournisseur de revendications prédéfini. Pour ce faire, vous devez créer un fournisseur de revendications personnalisé qui réponde aux besoins de votre solution pour la recherche et la sélection d'utilisateurs, de groupes et de revendications lorsqu'un utilisateur affecte des autorisations à des éléments tels qu'un site, une liste ou une bibliothèque.
Lorsque vous créez un fournisseur de revendications personnalisé, vous pouvez contrôler les informations qui apparaissent et les résultats qui sont retournés en réponse à une requête à partir du contrôle Sélecteur de personnes. Par défaut, vous configurez l'application web de manière à ce qu'elle utilise l'authentification par revendications, puis vous inscrivez le fournisseur de revendications sur le serveur.
Avant de lire cet article, vous devez comprendre les concepts décrits dans Planifier les méthodes d’authentification utilisateur dans SharePoint Server et Le rôle des revendications. Pour plus d'informations sur l'authentification basée sur les revendications, voir Identité basée sur les revendications dans SharePoint etGuide sur l'identité basée sur les revendications et le contrôle d'accès.
Architecture
Lorsqu’une application web est configurée pour utiliser l’authentification basée sur les revendications, SharePoint Server utilise automatiquement deux fournisseurs de revendications par défaut :
La classe SPSystemClaimProvider fournit des informations sur les revendications relatives à la batterie de serveurs sur laquelle SharePoint Server est installé.
La classe SPAllUserClaimProvider fournit une revendication Tous les utilisateurs.
Selon la méthode d’authentification sélectionnée pour une zone d’une application web, SharePoint Server utilise également un ou plusieurs fournisseurs de revendications par défaut répertoriés dans le tableau 1.
Tableau 1. Méthodes d'authentification et fournisseurs de revendications par défaut
Méthode d'authentification | Fournisseur de revendications |
---|---|
Authentification Windows |
SPActiveDirectoryClaimProvider |
Authentification par formulaire |
SPFormsClaimProvider |
Authentification basée sur un jeton SAML (Security Assertion Markup Language) |
SPTrustedClaimProvider |
Vous pouvez voir la liste des fournisseurs de revendications pour une batterie de serveurs à l’aide de l’applet de commande Microsoft PowerShell Get-SPClaimProvider .
Notes
Lorsqu'une application web est configurée pour utiliser l'authentification basée sur un jeton SAML, la classe SPTrustedClaimProvider ne fournit pas de fonctionnalité de recherche au contrôle web Sélecteur de personnes. Tout texte entré dans le contrôle Sélecteur de personnes est automatiquement affiché comme s'il avait été résolu, que l'utilisateur, le groupe ou la revendication soient valides ou non. Si votre solution SharePoint Server utilise l’authentification basée sur les jetons SAML, vous devez planifier la création d’un fournisseur de revendications personnalisées pour implémenter la recherche personnalisée et la résolution de noms.
Les fournisseurs de revendications sont inscrits sur une batterie de serveurs en tant que fonctionnalités déployées sur celle-ci. Leur étendue est définie au niveau de la batterie de serveurs. Chaque objet de fournisseur de revendications utilise la classe SPClaimProviderDefinition pour récupérer des informations sur le fournisseur de revendications, telles que le nom d'affichage, la description, l'assembly et le type. Deux propriétés importantes de la classe SPClaimProviderDefinition sont IsEnabled et IsUsedByDefault. Ces propriétés déterminent si un fournisseur de revendications inscrit est activé en vue de son utilisation dans la batterie de serveurs et si le fournisseur de revendications est utilisé par défaut dans une zone particulière. Par défaut, tous les fournisseurs de revendications sont activés lorsqu'ils sont déployés sur une batterie de serveurs. Pour plus d'informations sur la classe SPClaimProviderDefinition, voir SPClaimProviderDefinition .
Pour plus d'informations sur les zones et l'authentification, voir Planifier les méthodes d'authentification utilisateur dans SharePoint Server.
Exemple d'une configuration de fournisseur de revendications personnalisé
Par défaut, lorsque vous inscrivez un fournisseur de revendications personnalisé sur la batterie de serveurs, les propriétés IsEnabled et IsUsedByDefault sont toutes les deux définies sur True. En fonction du nombre de zones nécessaires pour votre solution SharePoint Server, des méthodes d’authentification utilisées par chaque zone et des utilisateurs pour chaque zone, vous pouvez limiter les zones dans lesquelles votre fournisseur de revendications personnalisées est affiché dans le sélecteur de personnes.
Étant donné que les fournisseurs de revendications sont définis à l'échelle de la batterie de serveurs et qu'ils sont activés au niveau de la zone, vous devez planifier attentivement les zones dans lesquelles vous souhaitez que le fournisseur de revendications personnalisé apparaisse. En général, vous devez vous assurer que la propriété IsUsedByDefault est définie sur False, puis configurer la classe SPIisSettings pour chaque zone dans laquelle vous souhaitez utiliser le fournisseur de revendications personnalisé. Pour configurer un fournisseur de revendications personnalisé pour certaines zones, vous pouvez créer un script PowerShell qui définit le fournisseur de revendications pour une zone à l’aide de la propriété ClaimsProviders(), ou vous pouvez créer une application personnalisée pour vous permettre d’activer un fournisseur de revendications personnalisé pour certaines zones.
Par exemple, imaginons un scénario dans lequel existent deux applications web :
La première application web, PartnerWeb, comprend deux zones une zone intranet qui utilise l'authentification basée sur les revendications Windows et une zone extranet qui utilise l'authentification basée sur les formulaires et est utilisée pour la collaboration entre les employés et les partenaires.
La deuxième application web, PublishingWeb, comprend une seule zone qui utilise l'authentification basée sur les formulaires et est un site de publication Internet pour les employés, les partenaires commerciaux et les partenaires client.
Supposons maintenant que pour la zone extranet sur PartnerWeb, vous voulez que les employés soient en mesure de collaborer avec les partenaires commerciaux mais pas avec les partenaires client. Pour ce faire, vous écrivez un fournisseur de revendications personnalisé qui détermine si l'utilisateur actuel est un partenaire commercial ou client, en fonction de l'identité de l'utilisateur. Dans cet exemple, les utilisateurs de fabrikam.com sont des partenaires commerciaux, mais les utilisateurs de contoso.com sont des partenaires client. Quand un utilisateur qui est un partenaire commercial est authentifié dans l'application web PartnerWeb, une revendication pour un rôle appelé BusinessPartner est ajoutée au jeton de revendication. Quand un partenaire client est authentifié, une revendication pour un rôle appelé CustomerPartner est ajoutée au jeton de revendication.
Pour que les partenaires clients ne soient jamais ajoutés au site de collaboration extranet, vous ajoutez à l'application web PartnerWeb pour la zone extranet une stratégie d'application web qui refuse explicitement l'accès à tout utilisateur possédant une revendication pour un rôle appelé CustomerPartner. En outre, le fournisseur de revendications personnalisé aurait besoin d'implémenter la prise en charge de dispositifs de recherche et de saisie pour la stratégie d'application web de manière à résoudre la revendication du rôle CustomerPartner afin qu'elle puisse être ajoutée à la stratégie d'application web. Enfin, pour activer cette fonctionnalité dans la zone extranet, vous configurez la classe SPIisSettings afin que cette zone utilise le fournisseur de revendications personnalisé. Le diagramme suivant illustre les méthodes d'authentification et les paramètres de fournisseur de revendications associés à chaque application web et zone.
Figure 1. Exemple de méthodes d'authentification et de paramètres de fournisseur de revendications pour les applications et les zones web
Vous pouvez définir la propriété IsUsedByDefault en la configurant dans un récepteur de fonctionnalité que vous créez pour votre fournisseur de revendications personnalisé.
Vous pouvez également remplacer les paramètres des propriétés IsEnabled et IsUsedByDefault à l’aide de l’applet de commande PowerShell Set-SPClaimProvider .
Importante
Le fait de définir la propriété IsEnabled sur False désactive le fournisseur de revendications pour la batterie de serveurs. Cela peut être utile pour résoudre des problèmes liés à un fournisseur de revendications personnalisé. En général, la propriété IsEnabled doit être définie sur True.
Utilisation de revendications personnalisées sur plusieurs batteries de serveurs
Les valeurs d’une revendication sont une combinaison de la revendication elle-même, du nom du fournisseur de revendications et de l’ordre dans lequel le fournisseur de revendications a été installé sur le serveur. Par conséquent, si vous souhaitez utiliser une revendication sur plusieurs batteries de serveurs ou environnements, vous devez installer les fournisseurs de revendications dans le même ordre sur chaque batterie de serveurs sur laquelle vous souhaitez utiliser la revendication. Procédez comme suit lorsque vous avez installé un fournisseur de revendications personnalisé sur une batterie de serveurs et que vous souhaitez utiliser la même revendication sur d'autres batteries de serveurs :
Inscrivez les fournisseurs de revendications sur les batteries de serveurs supplémentaires en suivant l'ordre dans lequel ils ont été inscrits sur la première batterie de serveurs.
Effectuez une sauvegarde de la première batterie de serveurs. Pour plus d’informations sur la sauvegarde d’une batterie de serveurs, voir Sauvegarder des batteries de serveurs dans SharePoint Server.
Utilisez la sauvegarde de la première batterie de serveurs pour restaurer les autres batteries de serveurs. Pour plus d’informations sur la restauration d’une batterie de serveurs, voir Restaurer des batteries de serveurs dans SharePoint Server.
Éléments à prendre en considération pour la planification des fournisseurs de revendications personnalisés
Lorsque vous planifiez des fournisseurs de revendications personnalisés en vue de leur utilisation avec le sélecteur de personnes dans votre solution SharePoint, prenez en compte les questions suivantes :
Quelles zones votre application web possède-t-elle et quelles sont les méthodes d'authentification utilisées dans chaque zone ?
Faut-il ajouter des revendications personnalisées aux utilisateurs pour la prise en charge de scénarios de sécurité ou d'autorisation plus avancés ?
Utiliserez-vous l'authentification SAML avec un fournisseur d'identités approuvé ?
Quelle sera la source des valeurs pour les utilisateurs et les rôles qui apparaîtront dans les résultats des requêtes du sélecteur de personnes ?
L’équipe de publication de contenu SharePoint Server tient à remercier Steve Peschka d’avoir contribué à cet article. Vous pouvez consulter le blog de Steve Peschka Share-n-dipity sur TechNet.
Voir aussi
Concepts
Vue d’ensemble du sélecteur de personnes et des fournisseurs de revendications
Planifier les méthodes d'authentification utilisateur dans SharePoint Server