Client Certificate Mapping Authentication <ClientCertificateMappingAuthentication>

Vue d’ensemble

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

Notes

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

  • Authentification de mappage de certificats 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 par certificat client a réduit les performances en raison de l’aller-retour vers le serveur Active Directory.
  • Authentification de 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 par certificat client a des performances accrues, mais a exigé davantage de configuration et nécessite 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 N/A

Programme d’installation

L’élément <clientCertificateMappingAuthentication> n’est pas disponible sur 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 de serveur , développez Serveur web (IIS),Serveur web, Sécurité, puis sélectionnez Authentification de mappage de certificat client. Cliquez sur Suivant.
    Image du volet Serveur web et sécurité développé avec l’option Authentification de mappage de certificat client sélectionnée. .
  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 dans le coin inférieur gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver les fonctionnalités Windows.
  3. Développez Internet Information Services, World Wide Web Services, Sécurité, puis sélectionnez Authentification de mappage de certificat client.
    Capture d’écran du volet Services World Wide Web développé et de l’authentification de mappage de certificat client sélectionnée.
  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 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 du mappage de certificat client, puis cliquez sur Suivant.
    Image de la page Sélectionner les services de rôle avec le volet Sécurité développé et l’authentification de mappage de certificat client sélectionnée.
  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 Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver les fonctionnalités Windows.
  3. Développez Services Internet Information, puis sélectionnez Authentification du mappage de certificat client, puis cliquez sur OK.
    Capture d’écran du volet Internet Information Services développé et de l’authentification de mappage avec certificat client mis en évidence.

Procédure

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

  1. Ouvrez le Gestionnaire des services Internet (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 des services Internet (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 des services Internet (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 des services Internet (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 double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions , cliquez sur le nom du serveur.

  3. Dans le volet Accueil du serveur, double-cliquez sur Authentification.
    Capture d’écran du volet Accueil des serveurs affichant l’authentification mise en évidence.

  4. Dans la page Authentification , cliquez sur Activer dans le volet Actions .
    Image du volet Actions de la page Authentification affichant l’option d’authentification par certificat client Active Directory mise en évidence.

Configuration

Attributs

Attribut Description
enabled Attribut booléen facultatif.

Spécifie si l’authentification de mappage de certificats 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 de 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 de 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

Notes

Vous devez veiller à définir le paramètre commitapphost sur lorsque 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()