Partager via


Guide pratique pour configurer le spN

L’outil en ligne de commande setspn est utilisé pour lire, modifier et supprimer la propriété d’annuaire du nom de principal de service (SPN) d’un compte de service Active Directory (AD). Les spN sont essentiels pour localiser un nom de principal cible associé à un service. Avec setspn, vous pouvez afficher les SPN existants, réinitialiser les SPN par défaut d’un compte et ajouter ou supprimer des SPN supplémentaires en fonction des besoins.

Il n’est pas nécessaire de modifier manuellement les noms de principal de service, car ils sont automatiquement configurés lorsqu’un ordinateur joint un domaine ou quand des services sont installés. Toutefois, les informations SPN peuvent devenir obsolètes dans certains cas. Par exemple, si le nom d’un ordinateur change, les SPN liés à ses services doivent être mis à jour pour correspondre au nouveau nom. En outre, certains services et applications peuvent nécessiter des mises à jour manuelles des paramètres SPN d’un compte de service pour garantir une authentification appropriée.

Dans AD, l’attribut servicePrincipalName est un attribut à valeurs multiples et non liée généré à partir du nom d’hôte DNS (Domain Name System). Les spN sont utilisés pour l’authentification mutuelle entre le client et le serveur hébergeant un service. Le client localise un compte d’ordinateur à l’aide du SPN du service auquel il tente de se connecter.

SPN format

Lorsque vous modifiez des SPN à l’aide de setspn, le SPN doit être entré dans le format correct. The format of an SPN is serviceclass/host:port/servicename, in which each item represents a name or value. Sauf si le nom du service et le port ne sont pas standard, vous n’avez pas besoin de les entrer lorsque vous utilisez setspn. Par exemple, les SPN par défaut d’un serveur nommé WSRV2022 qui fournit des services RDP (Remote Desktop) sur le port par défaut TCP 3389 enregistre les deux SPN suivants dans son propre objet d’ordinateur AD :

TERMSRV/WSRV2022

TERMSRV/WSRV2022.contoso1.com

Si vous devez spécifier une configuration SPN non standard, consultez Formats de nom pour les spN uniques.

Prerequisites

  • Le rôle Services de domaine Active Directory (AD DS) doit être installé sur votre appareil. Pour en savoir plus, consultez Installer ou désinstaller des rôles, services de rôle ou fonctionnalités.

  • Les appareils de votre environnement doivent être joints à un domaine.

  • You must be a member of the Domain Admins or Enterprise Admins group.

    • If you aren't a member of either the Domain Admins or Enterprise Admins groups, you must have read and write permissions on the servicePrincipalName attribute of the object in AD.

Manage SPNs

La configuration des SPN dans votre environnement peut être effectuée à l'aide d'une invite de commandes ou d'une fenêtre PowerShell élevée. Consultez les étapes suivantes pour configurer les SPN dans votre environnement.

Méthode d’invite de commandes

Pour ajouter un SPN, exécutez la commande suivante. Replace service/name with the SPN you want to add and hostname with the host name of the computer object you want to update:

setspn -S <service/name> <hostname>

Par exemple, s’il existe un contrôleur de domaine AD avec le nom d’hôte server1.contoso.com qui nécessite un SPN pour le protocole LDAP (Lightweight Directory Access Protocol), tapez :

setspn -S ldap/server1.contoso.com server1

PowerShell method

Dans PowerShell, l’applet de commande Set-ADUser est utilisée pour les comptes d’utilisateur et les Set-ADComputer pour le nom de l’ordinateur.

Pour ajouter un SPN, exécutez la commande suivante. Remplacez UserName, ComputerNameet $spn = " " par les valeurs appropriées pour le compte d’utilisateur ou le nom de l’ordinateur :

$userID = "UserName"
$spn = "HTTP/webserver.domain.com"

Set-ADUser -Identity $userID -Add @{ServicePrincipalName=$spn}
$computerID = "ComputerName"
$spn = "HTTP/computerserver.domain.com"

Set-ADComputer -Identity $computerID -Add @{ServicePrincipalName=$spn}

Accorder des autorisations SPN aux non-administrateurs

Pour les utilisateurs qui ne font pas partie du groupe Administrateurs de domaine ou Administrateurs d’entreprise, ils ont besoin des autorisations appropriées pour modifier les noms de principal de service. L’octroi de ces autorisations peut être effectué via Les utilisateurs et ordinateurs Active Directory (ADUC) ou PowerShell. Regardez les étapes suivantes.

  1. In Server Manager, select Tools, then select Active Directory Users and Computers.

  2. Select the View tab, then select Advanced Features.

  3. In the left pane, right-click on the domain where you want to allow a disjoint namespace, then select Properties.

  4. Select the Security tab, select Advanced.

  5. Under the Permissions tab, select Add.

  6. Sélectionnez Sélectionnez un principal, sous Entrez les noms d’objets pour sélectionner, tapez le nom du groupe ou du compte d’utilisateur auquel vous souhaitez déléguer l’autorisation, puis sélectionnez OK.

    To view all available groups and user accounts in your domain, select Advanced, then select Find Now.

  7. Under Applies to, select Descendant Computer objects.

  8. Under Permissions, select Validated write to service principal name checkbox, then select OK on the three open dialog boxes to apply your changes.

See also