Partager via


Authentification par mappage de certificat client <clientCertificateMappingAuthentication>

Vue d’ensemble

L’élément <clientCertificateMappingAuthentication> de l’élément <authentication> spécifie si le mappage de certificat client à l’aide d’Active Directory est activé pour Internet Information Services (IIS) 7.

Remarque

L’authentification par mappage de certificat client à l’aide d’Active Directory diffère de l’authentification par mappage de certificat client à l’aide d’IIS des manières suivantes :

  • Authentification par mappage de certificat client à l’aide d’Active Directory : cette méthode d’authentification nécessite que le serveur IIS 7 soit membre d’un domaine Active Directory et que les comptes d’utilisateur soient stockés dans Active Directory. Cette méthode d’authentification de certificat client a réduit les performances en raison de l’aller-retour au serveur Active Directory.
  • Authentification par mappage de certificat client IIS : cette méthode d’authentification ne nécessite pas Active Directory et fonctionne donc avec des serveurs autonomes. Cette méthode d’authentification de certificat client a augmenté les performances, mais nécessite davantage de configuration et l’accès aux certificats clients pour créer des mappages.

Pour plus d’informations, consultez Configuration de l’authentification dans IIS 7.0 sur le site web Microsoft TechNet.

Compatibilité

Version Notes
IIS 10.0 L’élément <clientCertificateMappingAuthentication> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <clientCertificateMappingAuthentication> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <clientCertificateMappingAuthentication> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <clientCertificateMappingAuthentication> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <clientCertificateMappingAuthentication> de l’élément <authentication> a été introduit dans IIS 7.0.
IIS 6.0 S/O

Programme d’installation

L’élément <clientCertificateMappingAuthentication> n’est pas disponible dans l’installation par défaut d’IIS 7 et versions ultérieures. Pour l’installer, procédez comme suit.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Dans la page Rôles serveur, développez Serveur web (IIS), Serveur web, Sécurité, puis sélectionnez Authentification par mappage de certificat client. Sélectionnez Suivant.
    Image of Web Server and Security pane expanded with Client Certificate Mapping Authentication selected. .
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran d’accueil, déplacez le pointeur jusqu’au coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, Services World Wide Web, Sécurité, puis sélectionnez Authentification par mappage de certificat client.
    Screenshot of World Wide Web Services pane expanded and Client Certificate Mapping Authentication selected.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Windows Server 2008 ou Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet de hiérarchie Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. Dans le volet Serveur web (IIS), faites défiler jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
  4. Dans la page Sélectionner des services de rôle de l’Assistant Ajout de services de rôle, sélectionnez Authentification par mappage de certificat client, puis cliquez sur Suivant.
    Image of Select Role Services page with Security pane expanded and Client Certificate Mapping Authentication selected.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows Vista ou Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, puis sélectionnez Authentification par mappage de certificat client, puis cliquez sur OK.
    Screenshot of Internet Information Services pane expanded and Client Certificated Mapping Authentication highlighted.

Procédure

Comment activer l’authentification par mappage de certificat client pour un serveur

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, cliquez sur le nom du serveur.

  3. Dans le volet Accueil du serveur, double-cliquez sur Authentification.
    Screenshot of servers Home pane displaying Authentication highlighted.

  4. Dans la page Authentification, cliquez sur Activer dans le volet Actions.
    Image of Actions pane in Authentication page displaying Active Directory Client Certificate Authentication option highlighted.

Configuration

Attributs

Attribut Description
enabled Attribut booléen facultatif.

Spécifie si l’authentification par mappage de certificat client à l’aide d’Active Directory est activée. Pour que ce paramètre prenne effet, vous devez définir cet attribut avec le Gestionnaire IIS. Si vous utilisez une autre méthode pour définir cet attribut, vous devez redémarrer le serveur web pour que le paramètre prenne effet.

La valeur par défaut est false.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple de configuration suivant active l’authentification par mappage de certificat client à l’aide d’Active Directory pour le site web par défaut et configure le site pour exiger SSL et négocier des certificats clients.

<location path="Default Web Site">
   <system.webServer>
      <security>
         <access sslFlags="Ssl, SslNegotiateCert" />
          <authentication>
            <windowsAuthentication enabled="false" />
            <anonymousAuthentication enabled="false" />
            <digestAuthentication enabled="false" />
            <basicAuthentication enabled="false" />
            <clientCertificateMappingAuthentication enabled="true" />
         </authentication>
     </security>
   </system.webServer>
</location>

Exemple de code

Les exemples de code suivants activent l’authentification par mappage de certificat client à l’aide d’Active Directory pour le site web par défaut et configurent le site pour exiger SSL et négocier des certificats clients.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/security/authentication/clientCertificateMappingAuthentication /enabled:"True" /commit:apphost

appcmd.exe set config "Default Web Site" -section:system.webServer/security/access /sslFlags:"Ssl, SslNegotiateCert" /commit:apphost

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection clientCertificateMappingAuthenticationSection = config.GetSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "Default Web Site");
         clientCertificateMappingAuthenticationSection["enabled"] = true;

         ConfigurationSection accessSection = config.GetSection("system.webServer/security/access", "Default Web Site");
         accessSection["sslFlags"] = @"Ssl, SslNegotiateCert";

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample

   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration

      Dim clientCertificateMappingAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "Default Web Site")
      clientCertificateMappingAuthenticationSection("enabled") = True

      Dim accessSection As ConfigurationSection = config.GetSection("system.webServer/security/access", "Default Web Site")
      accessSection("sslFlags") = "Ssl, SslNegotiateCert"

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var clientCertificateMappingAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "MACHINE/WEBROOT/APPHOST/Default Web Site");
clientCertificateMappingAuthenticationSection.Properties.Item("enabled").Value = true;

var accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Default Web Site");
accessSection.Properties.Item("sslFlags").Value = "Ssl, SslNegotiateCert";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set clientCertificateMappingAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/clientCertificateMappingAuthentication", "MACHINE/WEBROOT/APPHOST/Default Web Site")
clientCertificateMappingAuthenticationSection.Properties.Item("enabled").Value = True

Set accessSection = adminManager.GetAdminSection("system.webServer/security/access", "MACHINE/WEBROOT/APPHOST/Default Web Site")
accessSection.Properties.Item("sslFlags").Value = "Ssl, SslNegotiateCert"

adminManager.CommitChanges()