Amélioration des Sélecteurs de personnes pour l’authentification moderne
S’APPLIQUE À :2013
2016
2019
Édition d’abonnement
SharePoint dans Microsoft 365
Lorsque l’authentification moderne (un fournisseur d’identité approuvé) telle que SAML 1.1 ou OIDC 1.0 est utilisée, le contrôle Sélecteur de personnes ne peut pas rechercher, résoudre et valider des utilisateurs et des groupes sans écrire un fournisseur de revendications personnalisé via C#.
Dans l’édition Abonnement SharePoint Server, le Sélecteur de personnes a été amélioré pour permettre la résolution des utilisateurs et des groupes en fonction de leurs profils dans l’application de profil utilisateur (UPA). L’UPA doit être configuré pour synchroniser les utilisateurs et les groupes à partir du magasin d’appartenances du fournisseur d’identité approuvé. Cela permet au Sélecteur de personnes de résoudre uniquement les utilisateurs et les groupes valides sans avoir besoin d’un fournisseur de revendications personnalisé.
Importante
Cet article explique comment configurer le sélecteur de personnes avec upA pour SAML. Pour configurer le sélecteur de personnes soutenues par UPA pour OIDC, consultez le guide ADFS OIDC et le guide d’ID de Microsoft Entra OIDC.
Voici les étapes de configuration pour que Personnes sélecteur fonctionne.
Étape 1 : Créer un SPTrustedIdentityTokenIssuer UPABacked
Créez un émetteur de jeton à l’aide de l’applet de commande PowerShell New-SPTrustedIdentityTokenIssuer .
New-SPTrustedIdentityTokenIssuer
-ClaimsMappings <SPClaimMappingPipeBind[]>
-Description <String>
-IdentifierClaim <String>
-Name <String>
-Realm <String>
-SignInUrl <String>
[-AssignmentCollection <SPAssignmentCollection>]
-ImportTrustCertificate <X509Certificate2>
[-UseWReply]
[-Confirm] [-RegisteredIssuerName <String>]
[-SignOutUrl <String>]
[-WhatIf] [<CommonParameters>]
[-UseUPABackedClaimProvider]
Les trois paramètres suivants nécessitent une attention particulière :
ClaimsMappings
ClaimsMappings
spécifie le mappage des revendications du jeton d’origine à un jeton SharePoint. En utilisant ce paramètre, SharePoint comprend comment générer un jeton SharePoint lorsqu’un jeton spécifique est attribué à partir d’une propriété d’application de service de profil utilisateur.
Il accepte une liste d’objetsClaimTypeMapping
créés par l’applet de commande New-SPClaimTypeMapping . Voici des exemples d’objetsClaimTypeMapping
de différents types de jetons et ces objets peuvent être fournis auClaimsMappings
paramètre :$emailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming $upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming $roleClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming $sidClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid" -IncomingClaimTypeDisplayName "SID" -SameAsIncoming
IdentifierClaim
LeIdentifierClaim
paramètre spécifie le type de revendication du STS approuvé qui sera utilisé pour le nouveau fournisseur d’identité. Il peut être défini sur leInputClaimType
de l’objetClaimTypeMapping
créé à partir de l’applet de commande New-SPClaimTypeMapping .-IdentifierClaim $emailClaimMap.InputClaimType
UseUPABackedClaimProvider
Ce paramètre de commutateur permet au sélecteur de Personnes de rechercher et de sélectionner des utilisateurs et des groupes à partir du service Application de profil utilisateur. Et il crée unSPClaimProvider
, qui a le même nom queSPTrustedIdentityTokenIssuer
.Remarque
Ce paramètre ne peut pas être utilisé pour créer un SPTrustedTokenIssuer OIDC.
Exemple
New-SPTrustedIdentityTokenIssuer -Name "UPATest" -Description "Contoso.local" -ClaimsMappings $emailClaimMap -IdentifierClaim $emailClaimMap.InputClaimType
Étape 2 : Synchroniser les profils avec UPSA
Vous pouvez maintenant commencer à synchroniser les profils dans l’application de service Profil utilisateur SharePoint à partir du fournisseur d’identité utilisé dans le organization, afin que le fournisseur de revendications nouvellement créé puisse fonctionner sur le jeu de données correct.
Voici les deux façons de synchroniser les profils utilisateur dans l’application de service Profil utilisateur SharePoint :
Utilisez SharePoint Active Directory Import (AD Import) avec l’authentification du fournisseur de revendications approuvé comme type de fournisseur d’authentification dans le paramètre de connexion de synchronisation. Pour utiliser l’importation AD, consultez Gérer la synchronisation des profils utilisateur dans SharePoint Server.
Utilisez Microsoft Identity Manager (MIM). Pour utiliser MIM, voir Microsoft Identity Manager dans SharePoint Server 2016 et 2019.
Il doit y avoir deux agents à l’intérieur de l’expérience utilisateur du Gestionnaire de synchronisation MIM après la configuration de MIM. Un agent est utilisé pour importer des profils utilisateur du fournisseur d’identité source vers la base de données MIM. Un autre agent est également utilisé pour exporter les profils utilisateur de la base de données MIM vers l’application de service Profil utilisateur SharePoint.
Pendant la synchronisation, fournissez les propriétés suivantes à l’application de service Profil utilisateur :
a. SPS-ClaimID
- Choisissez la propriété d’identité unique dans la source qui sera mappées à la propriété SPS-ClaimID dans l’application de service Profil utilisateur (par défaut, Email ou Nom d’utilisateur principal).
- Définissez la valeur IdentifierClaim correspondante lors de la création d’un émetteur de jeton à partir de l’applet de commande New-SPTrustedIdentityTokenIssuer .
Pour la synchronisation d’importation AD, l’expérience utilisateur Administration centrale -> Gestion des applications -> Gérer les applications de service -> Application de service profil utilisateur -> Gérer les propriétés utilisateur permet aux administrateurs de modifier le SPS-ClaimID pour indiquer quelle propriété du fournisseur d’identité source doit être synchronisée avec SPS-ClaimID. Par exemple, si SPS-ClaimID est email, définissez Claim User Identifier comme Email dans cette expérience utilisateur.
Remarque
Le nom d’affichage de SPS-ClaimID est Claim User Identifier dans l’expérience utilisateur et l’administrateur peut personnaliser les noms d’affichage.
Pour la synchronisation MIM, mappez Email ou nom d’utilisateur principal à SPS-ClaimID dans la base de données MIM à l’agent d’application du service de profil utilisateur SharePoint :
Dans le Service Manager de synchronisation MIM, sélectionnez l’agent et ouvrez l’expérience utilisateur Configurer le flux d’attributs. Vous pouvez mapper le courrier à SPS-ClaimID.
b. SPS-ClaimProviderID et SPS-ClaimProviderType
Pour la synchronisation d’importation AD, modifiez les deux propriétés suivantes dans l’application de service de profil utilisateur -> Configurer les connexions de synchronisation -> Créer une expérience utilisateur de connexion lors de la création d’une nouvelle connexion de synchronisation d’importation AD.
- Définissez SPS-ClaimProviderID sur le nom du fournisseur à l’aide de l’applet de commande New-SPTrustedIdentityTokenIssuer .
- Définissez SPS-ClaimProviderType sur SPTrustedBackedByUPAClaimProvider.
Pour la synchronisation MIM, définissez ces deux propriétés dans l’expérience utilisateur Configurer le flux d’attribut pour la base de données MIM sur l’agent d’application du service Profil utilisateur SharePoint :
Définissez SPS-ClaimProviderType sur Approuvé comme type constant.
Définissez SPS-ClaimProviderID sur le nom du fournisseur à l’aide de l’applet de commande New-SPTrustedIdentityTokenIssuer .
Étape 3 : Rendre les groupes pouvant faire l’objet d’une recherche
Pour permettre au contrôle sélecteur Personnes de fonctionner avec des groupes, procédez comme suit :
Vérifiez que l’objet Group a une propriété nommée SID de type groupsid dans le fournisseur d’identité.
Vous pouvez créer unClaimTypeMapping
objet à l’aide de New-SPClaimTypeMapping , puis fournir cet objet à l’applet de commande New-SPTrustedIdentityTokenIssuer avec-ClaimsMappings
le paramètre .$sidClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid" -IncomingClaimTypeDisplayName "SID" -SameAsIncoming $tokenissuer = New-SPTrustedIdentityTokenIssuer -ClaimsMappings $sidClaimMap, $emailClaimMap ...
Cet exemple d’applets de commande crée un
claimmap
objet de typegroupsid
et indique qu’il fonctionne avec la propriété SID du groupe. Ensuite, il crée un émetteur d’identité, qui peut comprendre ce mappage.Synchronisez la propriété SID des groupes du fournisseur d’identité avec la propriété SID dans l’application de service Profil utilisateur.
Pour la synchronisation d’importation AD, le SID se synchronise automatiquement entre le fournisseur d’identité source et l’application de service Profil utilisateur SharePoint.
Pour la synchronisation MIM, prenez le mappage des propriétés du fournisseur d’identité à MIM, puis de MIM à l’application de service Profil utilisateur SharePoint afin que MIM puisse synchroniser le SID de groupe du fournisseur d’identité avec l’application de service De profil utilisateur SharePoint. C’est comme comment nous effectuons la synchronisation des profils utilisateur pour la propriété SPS-ClaimID pour les profils utilisateur.
Remarque
Pour la synchronisation MIM, mappez sAMAccountName à accountName de MIM à l’application de service Profil utilisateur SharePoint.
Étape 4 : Activer les champs pouvant faire l’objet d’une recherche dans UPSA
Pour que le sélecteur de personnes fonctionne, la dernière étape consiste à permettre aux champs de faire l’objet d’une recherche dans l’application de service Profil utilisateur.
Les utilisateurs peuvent définir les propriétés recherchées par le sélecteur de Personnes en suivant cet exemple de script PowerShell.
Obtenez la liste des propriétés de l’application de service Profil utilisateur, qui est connectée à une application web donnée.
$site = $(Get-SPWebApplication $WebApplicationName).Sites[0] $context= Get-SPServiceContext $site $psm = [Microsoft.Office.Server.UserProfiles.ProfileSubTypeManager]::Get($context) $ps = $psm.GetProfileSubtype([Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName([Microsoft.Office.Server.UserProfiles.ProfileType]::User)) $properties = $ps.Properties
Activer la recherche du sélecteur de personnes pour le nom de propriété FirstName, LastName et SPS-ClaimID
$PropertyNames = 'FirstName', 'LastName', 'SPS-ClaimID' foreach ($p in $PropertyNames) { $property = $properties.GetPropertyByName($p) if ($property) { $property.CoreProperty.IsPeoplePickerSearchable = $true $property.CoreProperty.Commit() $property.Commit() } }