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

S’APPLIQUE À :  no-img-13 2013  no-img-16 2016  no-img-19 2019  yes-img-se Subscription Edition  no-img-sop SharePoint in 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é.

Important

Cet article explique comment configurer le s picker de personnes de l’UPA pour SAML. Pour la configuration du s picker de personnes avec l’UPA pour OIDC, voir le guide ADFS OIDC et le guide AAD OIDC.

Voici les étapes de configuration pour que le s picker de personnes fonctionne.

Étape 1. Créer un UPABacked SPTrustedIdentityTokenIssuer

Créez un émetteur de jeton à l’aide de l’cmdlet 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 doivent être particulièrement attentifs :

  • ClaimsMappings
    ClaimsMappingsspécifie le mappage des revendications du jeton d’origine vers un jeton SharePoint. À l’aide de ce paramètre, SharePoint comprendre comment générer un jeton SharePoint lorsqu’il est attribué à un jeton spécifique à partir d’une propriété d’application de service de profil utilisateur.
    Il accepte une liste d’objets, qui sont créés par ClaimTypeMapping l’cmdlet New-SPClaimTypeMapping. Voici des ClaimTypeMapping exemples d’objets 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 service STS approuvé qui sera utilisé pour le nouveau fournisseur d’identité. Elle peut être définie sur l’objet créé à partir de InputClaimType l’cmdlet ClaimTypeMapping New-SPClaimTypeMapping.

    -IdentifierClaim $emailClaimMap.InputClaimType
    
  • UseUPABackedClaimProvider
    Ce paramètre de commutateur permet au sélecateur de personnes de rechercher et de sélectionner des utilisateurs et des groupes à partir du service d’application de profil utilisateur. Et il crée un SPClaimProvider , qui a le même nom que SPTrustedIdentityTokenIssuer .

    Notes

    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 de profil utilisateur SharePoint à partir du fournisseur d’identité utilisé dans l’organisation, afin que le fournisseur de revendications nouvellement créé puisse travailler sur le jeu de données correct.

Voici les deux façons de synchroniser les profils utilisateur dans l’application SharePoint service de profil utilisateur :

  • Utilisez SharePoint Importation Active Directory (importation AD) avec l’authentification de fournisseur de revendications approuvé comme type de fournisseur d’authentification dans le paramètre de connexion de synchronisation. Pour utiliser l’importation AD, voir 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 Serveurs 2016 et 2019.

    • Il doit y avoir deux agents à l’intérieur MIM’UX du Gestionnaire de synchronisation après MIM est définie. Un agent est utilisé pour importer des profils utilisateur à partir de l’IDP source vers la base MIM données. Et un autre agent est utilisé pour exporter les profils utilisateur de la base de données MIM vers l’application SharePoint service de profil utilisateur.

Pendant la synchronisation, fournissez les propriétés suivantes à l’application de service de profil utilisateur :

a. SPS-ClaimID

  • Choisissez une propriété d’identité unique dans la source qui matric sur la propriété SPS-ClaimID dans l’application de service de profil utilisateur (e-mail préféré ou nom d’utilisateur principal).
  • Définissez la valeur IdentifierClaim correspondante lors de la création d’un émetteur de jeton à partir de l’cmdlet New-SPTrustedIdentityTokenIssuer.

Pour la synchronisation d’importation AD, l’Administration centrale -> Gestion des applications -> Gérer les applications de service -> Application de service profil utilisateur -> Gérer l’expérience utilisateur des propriétés utilisateur permet aux administrateurs de modifier 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 un e-mail, définissez l’identificateur d’utilisateur de revendication comme e-mail dans cette expérience utilisateur.

Notes

Le nom complet de SPS-ClaimID est identificateur d’utilisateur de revendication dans l’expérience utilisateur et l’administrateur peut personnaliser les noms complets.

Identificateur d’utilisateur de revendication.

Propriété Paramètres.

Mappage de propriétés pour la synchronisation.

Pour MIM synchronisation, mappez e-mail ou nom d’utilisateur principal sur SPS-ClaimID dans la base de données MIM à l’agent d’application de service SharePoint profil utilisateur :

  • Dans le MIM service de synchronisation d’entreprise, sélectionnez l’agent et ouvrez l’Flow UX. Vous pouvez ma mapper le courrier à SPS-ClaimID.

    Build Attribute Flow.

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 -> Configure Synchronization Connections -> Create New Connection UX while creating a new AD Import synchronization connection.

  • Définissez SPS-ClaimProviderID sur le nom du fournisseur à l’aide de l’cmdlet New-SPTrustedIdentityTokenIssuer.
  • Définissez SPS-ClaimProviderType sur SPTrustedBackedByUPAClaimProvider.

Pour MIM de données, définissez ces deux propriétés dans l’expérience utilisateur Configure Attribute Flow pour la base de données MIM sur SharePoint’agent d’application de service de profil utilisateur :

  • Définissez SPS-ClaimProviderType sur Approuvé en tant que type constant.

  • Définissez SPS-ClaimProviderID sur le nom du fournisseur à l’aide de l’cmdlet New-SPTrustedIdentityTokenIssuer.

    Configurez l’attribut Flow.

Étape 3. Rendre les groupes utilisables dans une recherche

Pour activer le contrôle S sélectionneur de personnes pour qu’il fonctionne avec des groupes, exécutez les étapes suivantes :

  1. Assurez-vous que l’objet Group possède une propriété nommée SID de type groupsid dans le fournisseur d’identité.
    Vous pouvez créer un objet à l’aide de ClaimTypeMapping New-SPClaimTypeMapping, puis fournir cet objet à l’cmdlet New-SPTrustedIdentityTokenIssuer avec le -ClaimsMappings 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’cmdlets crée un objet de type et indique qu’il fonctionne avec la propriété claimmap groupsid SID du groupe. Il crée ensuite un émetteur d’identité, qui peut comprendre ce mappage.

  2. Synchronisez la propriété SID des groupes du fournisseur d’identité à la propriété SID dans l’application de service de profil utilisateur.

    • Pour la synchronisation d’importation AD, LE SID se synchronise automatiquement à partir du fournisseur d’identité source vers l SharePoint’application de service de profil utilisateur.

    • Pour la synchronisation MIM, prenez le mappage de propriétés du fournisseur d’identité vers MIM, puis de MIM à l’application de service de 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 si nous synchronions les profils utilisateur pour la propriété SPS-ClaimID pour les profils utilisateur.

      Notes

      Pour MIM synchronisation, mapmez sAMAccountName sur accountName de MIM à l’application SharePoint service de profil utilisateur.

Étape 4. Activer les champs utilisables dans une recherche dans UPSA

Pour que le s picker de personnes fonctionne, l’étape finale consiste à permettre aux champs d’être recherchés dans l’application de service de profil utilisateur.

Les utilisateurs peuvent définir les propriétés qui sont recherchés par le s picker de personnes en suivant cet exemple de script PowerShell.

  • Obtenir la liste des propriétés de l’application de service de 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 picker 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()
        }
    }