Amélioration des Sélecteurs de personnes pour l’authentification moderne

S’APPLIQUE À :no-img-132013 no-img-162016 no-img-192019 oui-img-seÉdition d’abonnement no-img-sopSharePoint 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’objets ClaimTypeMapping créés par l’applet de commande New-SPClaimTypeMapping . Voici des exemples d’objets ClaimTypeMapping de différents types de jetons et ces objets peuvent être fournis au ClaimsMappings 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
    Le IdentifierClaim 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 le InputClaimType de l’objet ClaimTypeMapping 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 un SPClaimProvider, qui a le même nom que SPTrustedIdentityTokenIssuer.

    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.

    Ajoutez une nouvelle connexion de synchronisation.

  • 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.

Revendiquer l’identificateur d’utilisateur.

Paramètres de propriété.

Mappage de propriétés pour la synchronisation.

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.

    Flux d’attributs de build.

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 .

    Configurer le flux d’attributs.

É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 :

  1. 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 un ClaimTypeMapping 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 type groupsid 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.

  2. 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()
        }
    }