1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!-- 4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 5 This file is generated from xml source: DO NOT EDIT 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 --> 8<title>Authentification et autorisation - Serveur Apache HTTP</title> 9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" /> 12<script src="/style/scripts/prettify.min.js" type="text/javascript"> 13</script> 14 15<link href="/images/favicon.ico" rel="shortcut icon" /></head> 16<body id="manual-page"><div id="page-header"> 17<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p> 18<p class="apache">Serveur Apache HTTP Version 2.4</p> 19<img alt="" src="/images/feather.gif" /></div> 20<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Authentification et autorisation</h1> 23<div class="toplang"> 24<p><span>Langues Disponibles: </span><a href="/en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/howto/auth.html" title="Fran�ais"> fr </a> | 26<a href="/ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 27<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 28<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p> 29</div> 30 31 <p>L'authentification est un processus qui vous permet de v�rifier 32 qu'une personne est bien celle qu'elle pr�tend �tre. L'autorisation 33 est un processus qui permet � une personne d'aller l� o� elle veut 34 aller, ou d'obtenir les informations qu'elle d�sire.</p> 35 36 <p>Pour le contr�le d'acc�s en g�n�ral, voir le How-To <a href="access.html">Contr�le d'acc�s</a>.</p> 37</div> 38<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#related">Modules et directives concern�s</a></li> 39<li><img alt="" src="/images/down.gif" /> <a href="#introduction">Introduction</a></li> 40<li><img alt="" src="/images/down.gif" /> <a href="#theprerequisites">Les pr�requis</a></li> 41<li><img alt="" src="/images/down.gif" /> <a href="#gettingitworking">Mise en oeuvre</a></li> 42<li><img alt="" src="/images/down.gif" /> <a href="#lettingmorethanonepersonin">Autorisation d'acc�s � 43plusieurs personnes</a></li> 44<li><img alt="" src="/images/down.gif" /> <a href="#possibleproblems">Probl�mes possibles</a></li> 45<li><img alt="" src="/images/down.gif" /> <a href="#dbmdbd">Autre m�thode de stockage des mots de 46passe</a></li> 47<li><img alt="" src="/images/down.gif" /> <a href="#multprovider">Utilisation de plusieurs fournisseurs 48d'authentification</a></li> 49<li><img alt="" src="/images/down.gif" /> <a href="#beyond">Pour aller plus loin qu'une simple 50autorisation</a></li> 51<li><img alt="" src="/images/down.gif" /> <a href="#socache">Mise en cache de l'authentification</a></li> 52<li><img alt="" src="/images/down.gif" /> <a href="#moreinformation">Pour aller plus loin . . .</a></li> 53</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> 54<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 55<div class="section"> 56<h2><a name="related" id="related">Modules et directives concern�s</a></h2> 57 58<p>Trois groupes de modules sont concern�s par le processus 59d'authentification et d'autorisation. Vous devrez utiliser au moins un 60module de chaque groupe.</p> 61 62<ul> 63 <li>Type d'authentification (voir la directive <code class="directive"><a href="/mod/mod_authn_core.html#authtype">AuthType</a></code>) 64 <ul> 65 <li><code class="module"><a href="/mod/mod_auth_basic.html">mod_auth_basic</a></code></li> 66 <li><code class="module"><a href="/mod/mod_auth_digest.html">mod_auth_digest</a></code></li> 67 </ul> 68 </li> 69 <li>Fournisseur d'authentification (voir les directives <code class="directive"><a href="/mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> et <code class="directive"><a href="/mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>) 70 71 <ul> 72 <li><code class="module"><a href="/mod/mod_authn_anon.html">mod_authn_anon</a></code></li> 73 <li><code class="module"><a href="/mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li> 74 <li><code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li> 75 <li><code class="module"><a href="/mod/mod_authn_file.html">mod_authn_file</a></code></li> 76 <li><code class="module"><a href="/mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li> 77 <li><code class="module"><a href="/mod/mod_authn_socache.html">mod_authn_socache</a></code></li> 78 </ul> 79 </li> 80 <li>Autorisation (voir la directive <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code>) 81 <ul> 82 <li><code class="module"><a href="/mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li> 83 <li><code class="module"><a href="/mod/mod_authz_dbd.html">mod_authz_dbd</a></code></li> 84 <li><code class="module"><a href="/mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li> 85 <li><code class="module"><a href="/mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li> 86 <li><code class="module"><a href="/mod/mod_authz_host.html">mod_authz_host</a></code></li> 87 <li><code class="module"><a href="/mod/mod_authz_owner.html">mod_authz_owner</a></code></li> 88 <li><code class="module"><a href="/mod/mod_authz_user.html">mod_authz_user</a></code></li> 89 </ul> 90 </li> 91</ul> 92 93 <p>On peut aussi ajouter <code class="module"><a href="/mod/mod_authn_core.html">mod_authn_core</a></code> et 94 <code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code>. Ces modules impl�mentent des 95 directives g�n�rales qui op�rent au dessus de tous les modules 96 d'authentification.</p> 97 98 <p>Le module <code class="module"><a href="/mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> est un fournisseur 99 d'authentification et d'autorisation. Le module 100 <code class="module"><a href="/mod/mod_authz_host.html">mod_authz_host</a></code> fournit une autorisation et un 101 contr�le d'acc�s bas�s sur le nom du serveur, l'adresse IP ou 102 certaines caract�ristiques de la requ�te, mais ne fait pas partie du 103 syst�me fournisseur d'authentification. Le module 104 <code class="module"><a href="/mod/mod_access_compat.html">mod_access_compat</a></code> a �t� cr�� � des fins de 105 compatibilit� ascendante avec mod_access.</p> 106 107 <p>Vous devriez aussi jeter un coup d'oeil au manuel de recettes de <a href="access.html">Contr�le d'acc�s</a>, qui d�crit les diff�rentes 108 m�thodes de contr�le d'acc�s � votre serveur.</p> 109 110</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 111<div class="section"> 112<h2><a name="introduction" id="introduction">Introduction</a></h2> 113 <p>Si votre site web contient des informations sensibles ou 114 destin�es seulement � un groupe de personnes restreint, les 115 techniques expos�es dans cet article vont vous aider � vous assurer 116 que les personnes qui ont acc�s � ces pages sont bien celles 117 auxquelles vous avez donn� l'autorisation d'acc�s.</p> 118 119 <p>Cet article d�crit les m�thodes "standards" de protection de 120 parties de votre site web que la plupart d'entre vous sont appel�s � 121 utiliser.</p> 122 123 <div class="note"><h3>Note :</h3> 124 <p>Si vos donn�es ont un r�el besoin de s�curisation, pr�voyez 125 l'utilisation de <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> en plus de toute m�thode 126 d'authentification.</p> 127 </div> 128</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 129<div class="section"> 130<h2><a name="theprerequisites" id="theprerequisites">Les pr�requis</a></h2> 131 <p>Les directives d�crites dans cet article devront �tre ins�r�es 132 soit au niveau de la configuration de votre serveur principal (en 133 g�n�ral dans une section <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code>), soit au niveau de la 134 configuration des r�pertoires (fichiers <code>.htaccess</code>)</p> 135 136 <p>Si vous envisagez l'utilisation de fichiers 137 <code>.htaccess</code>, la configuration de votre serveur devra 138 permettre l'ajout de directives d'authentification dans ces 139 fichiers. Pour ce faire, on utilise la directive <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code>, qui sp�cifie quelles 140 directives pourront �ventuellement contenir les fichiers de 141 configuration de niveau r�pertoire.</p> 142 143 <p>Comme il est ici question d'authentification, vous aurez besoin 144 d'une directive <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> 145 du style :</p> 146 147 <pre class="prettyprint lang-config">AllowOverride AuthConfig</pre> 148 149 150 <p>Si vous avez l'intention d'ajouter les directives directement 151 dans le fichier de configuration principal, vous devrez bien entendu 152 poss�der les droits en �criture sur ce fichier.</p> 153 154 <p>Vous devrez aussi conna�tre un tant soit peu la structure des 155 r�pertoires de votre serveur, ne serait-ce que pour savoir o� se 156 trouvent certains fichiers. Cela ne devrait pas pr�senter de grandes 157 difficult�s, et nous essaierons de clarifier tout �a lorsque le besoin 158 s'en fera sentir.</p> 159 160 <p>Enfin, vous devrez vous assurer que les modules 161 <code class="module"><a href="/mod/mod_authn_core.html">mod_authn_core</a></code> et <code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code> 162 ont �t� soit compil�s avec le binaire httpd, soit charg�s par le 163 fichier de configuration httpd.conf. Ces deux modules fournissent 164 des directives g�n�rales et des fonctionnalit�s qui sont critiques 165 quant � la configuration et l'utilisation de l'authentification et 166 de l'autorisation au sein du serveur web.</p> 167</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 168<div class="section"> 169<h2><a name="gettingitworking" id="gettingitworking">Mise en oeuvre</a></h2> 170 <p>Nous d�crivons ici les bases de la protection par mot de passe 171 d'un r�pertoire de votre serveur.</p> 172 173 <p>Vous devez en premier lieu cr�er un fichier de mots de passe. La 174 m�thode exacte selon laquelle vous allez cr�er ce fichier va varier 175 en fonction du fournisseur d'authentification choisi. Mais nous 176 entrerons dans les d�tails plus loin, et pour le moment, nous nous 177 contenterons d'un fichier de mots de passe en mode texte.</p> 178 179 <p>Ce fichier doit �tre enregistr� � un endroit non accessible 180 depuis le web, de fa�on � ce que les clients ne puissent pas le 181 t�l�charger. Par exemple, si vos documents sont servis � partir de 182 <code>/usr/local/apache/htdocs</code>, vous pouvez enregistrer le 183 fichier des mots de passe dans 184 <code>/usr/local/apache/passwd</code>.</p> 185 186 <p>L'utilitaire <code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code> fourni avec Apache 187 permet de cr�er ce fichier. Vous le trouverez dans le r�pertoire 188 <code>bin</code> de votre installation d'Apache. Si vous avez 189 install� Apache � partir d'un paquetage tiers, il sera probablement 190 dans le chemin par d�faut de vos ex�cutables.</p> 191 192 <p>Pour cr�er le fichier, tapez :</p> 193 194 <div class="example"><p><code> 195 htpasswd -c /usr/local/apache/passwd/passwords rbowen 196 </code></p></div> 197 198 <p><code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code> vous demandera d'entrer le mot de 199 passe, et de le retaper pour confirmation :</p> 200 201 <div class="example"><p><code> 202 # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br /> 203 New password: mot-de-passe<br /> 204 Re-type new password: mot-de-passe<br /> 205 Adding password for user rbowen 206 </code></p></div> 207 208 <p>Si <code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code> n'est pas dans le chemin par 209 d�faut de vos ex�cutables, vous devrez bien entendu entrer le chemin 210 complet du fichier. Dans le cas d'une installation par d�faut, il se 211 trouve � <code>/usr/local/apache2/bin/htpasswd</code>.</p> 212 213 <p>Ensuite, vous allez devoir configurer le serveur de fa�on � ce 214 qu'il demande un mot de passe et lui pr�ciser quels utilisateurs ont 215 l'autorisation d'acc�s. Pour ce faire, vous pouvez soit �diter le 216 fichier <code>httpd.conf</code>, soit utiliser un fichier 217 <code>.htaccess</code>. Par exemple, si vous voulez prot�ger le 218 r�pertoire <code>/usr/local/apache/htdocs/secret</code>, vous pouvez 219 utiliser les directives suivantes, soit dans le fichier 220 <code>/usr/local/apache/htdocs/secret/.htaccess</code>, soit dans le 221 fichier <code>httpd.conf</code> � l'int�rieur d'une section <Directory 222 /usr/local/apache/htdocs/secret> :</p> 223 224 <pre class="prettyprint lang-config">AuthType Basic 225AuthName "Restricted Files" 226# (Following line optional) 227AuthBasicProvider file 228AuthUserFile /usr/local/apache/passwd/passwords 229Require user rbowen</pre> 230 231 232 <p>Examinons ces directives une � une. La directive <code class="directive"><a href="/mod/mod_authn_core.html#authtype">AuthType</a></code> d�finit la m�thode 233 utilis�e pour authentifier l'utilisateur. La m�thode la plus 234 courante est <code>Basic</code>, et elle est impl�ment�e par 235 <code class="module"><a href="/mod/mod_auth_basic.html">mod_auth_basic</a></code>. Il faut cependant garder � l'esprit 236 que l'authentification Basic transmet le mot de passe depuis le 237 client vers le serveur en clair. Cette m�thode ne devra donc pas 238 �tre utilis�e pour la transmission de donn�es hautement sensibles si 239 elle n'est pas associ�e au module <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code>. Apache 240 supporte une autre m�thode d'authentification : <code>AuthType 241 Digest</code>. Cette m�thode est impl�ment�e par le module <code class="module"><a href="/mod/mod_auth_digest.html">mod_auth_digest</a></code> et a �t� con�ue pour 242 am�liorer la s�curit�. Ce but n'a cependant pas �t� atteint et il est pr�f�rable 243 de chiffrer la connexion avec <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code>.</p> 244 245 <p>La directive <code class="directive"><a href="/mod/mod_authn_core.html#authname">AuthName</a></code> d�finit 246 l'<dfn>Identificateur</dfn> (Realm) � utiliser avec 247 l'authentification. L'identificateur poss�de deux fonctions. Tout 248 d'abord, le client pr�sente en g�n�ral cette information � 249 l'utilisateur dans le cadre de la bo�te de dialogue de mot de passe. 250 Ensuite, le client l'utilise pour d�terminer quel mot de passe 251 envoyer pour une zone authentifi�e donn�e.</p> 252 253 <p>Ainsi par exemple, une fois un client authentifi� dans la zone 254 <code>"Fichiers r�serv�s"</code>, il soumettra � nouveau 255 automatiquement le m�me mot de passe pour toute zone du m�me serveur 256 marqu�e de l'identificateur <code>"Fichiers r�serv�s"</code>. De 257 cette fa�on, vous pouvez �viter � un utilisateur d'avoir � saisir 258 plusieurs fois le m�me mot de passe en faisant partager le m�me 259 identificateur entre plusieurs zones r�serv�es. Bien entendu et pour 260 des raisons de s�curit�, le client devra redemander le mot 261 de passe chaque fois que le nom d'h�te du serveur sera modifi�.</p> 262 263 <p>La directive <code class="directive"><a href="/mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> est, dans ce 264 cas, facultative, car <code>file</code> est la valeur par d�faut 265 pour cette directive. Par contre, cette directive sera obligatoire 266 si vous utilisez une autre source d'authentification comme 267 <code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ou 268 <code class="module"><a href="/mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p> 269 270 <p>La directive <code class="directive"><a href="/mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> d�finit le chemin 271 du fichier de mots de passe que nous venons de cr�er avec 272 <code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code>. Si vous poss�dez un grand nombre 273 d'utilisateurs, la dur�e de la recherche dans un fichier texte pour 274 authentifier un utilisateur � chaque requ�te va augmenter 275 rapidement, et pour pallier cet inconv�nient, Apache peut aussi 276 stocker les donn�es relatives aux 277 utilisateurs dans des bases de donn�es rapides. Le module 278 <code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code> fournit la directive <code class="directive"><a href="/mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>. Les programmes <code class="program"><a href="/programs/dbmmanage.html">dbmmanage</a></code> et <code class="program"><a href="/programs/htdbm.html">htdbm</a></code> permettent de 279 cr�er et manipuler ces fichiers. Vous 280 trouverez de nombreuses options d'autres types d'authentification 281 fournies par des modules tiers dans la <a href="http://modules.apache.org/">Base de donn�es des modules 282 d'Apache</a>.</p> 283 284 <p>Enfin, la directive <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code> impl�mente la partie 285 autorisation du processus en d�finissant l'utilisateur autoris� � 286 acc�der � cette zone du serveur. Dans la section suivante, nous 287 d�crirons les diff�rentes m�thodes d'utilisation de la directive 288 <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code>.</p> 289</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 290<div class="section"> 291<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Autorisation d'acc�s � 292plusieurs personnes</a></h2> 293 <p>Les directives ci-dessus n'autorisent qu'une personne (quelqu'un 294 poss�dant le nom d'utilisateur <code>rbowen</code>) � acc�der au 295 r�pertoire. Dans la plupart des cas, vous devrez autoriser 296 l'acc�s � plusieurs personnes. C'est ici 297 qu'intervient la directive <code class="directive"><a href="/mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>.</p> 298 299 <p>Si vous voulez autoriser l'acc�s � plusieurs personnes, vous 300 devez cr�er un fichier de groupes qui associe des noms de groupes 301 avec une liste d'utilisateurs de ce groupe. Le format de ce fichier 302 est tr�s simple, et vous pouvez le cr�er avec votre �diteur favori. 303 Son contenu se pr�sente comme suit :</p> 304 305 <div class="example"><p><code> 306 Nom-de-groupe: rbowen dpitts sungo rshersey 307 </code></p></div> 308 309 <p>Il s'agit simplement une liste des membres du groupe sous la 310 forme d'une ligne s�par�e par des espaces.</p> 311 312 <p>Pour ajouter un utilisateur � votre fichier de mots de passe 313 pr�existant, entrez :</p> 314 315 <div class="example"><p><code> 316 htpasswd /usr/local/apache/passwd/passwords dpitts 317 </code></p></div> 318 319 <p>Vous obtiendrez le m�me effet qu'auparavant, mais le mot de passe 320 sera ajout� au fichier, plut�t que d'en cr�er un nouveau (C'est le 321 drapeau <code>-c</code> qui permet de cr�er un nouveau fichier de 322 mots de passe)..</p> 323 324 <p>Maintenant, vous devez modifier votre fichier 325 <code>.htaccess</code> ou la section <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> comme suit :</p> 326 327 <pre class="prettyprint lang-config">AuthType Basic 328AuthName "By Invitation Only" 329# Optional line: 330AuthBasicProvider file 331AuthUserFile /usr/local/apache/passwd/passwords 332AuthGroupFile /usr/local/apache/passwd/groups 333Require group GroupName</pre> 334 335 336 <p>Maintenant, quiconque appartient au groupe 337 <code>Nom-de-groupe</code>, et poss�de une entr�e dans le fichier 338 <code>password</code> pourra acc�der au r�pertoire s'il tape le bon 339 mot de passe.</p> 340 341 <p>Il existe une autre m�thode moins contraignante pour autoriser 342 l'acc�s � plusieurs personnes. Plut�t que de cr�er un fichier de 343 groupes, il vous suffit d'ajouter la directive suivante :</p> 344 345 <pre class="prettyprint lang-config">Require valid-user</pre> 346 347 348 <p>Le remplacement de la ligne <code>Require user rbowen</code> par 349 la ligne <code>Require valid-user</code> autorisera l'acc�s � 350 quiconque poss�dant une entr�e dans le fichier password, et ayant 351 tap� le bon mot de passe.</p> 352</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 353<div class="section"> 354<h2><a name="possibleproblems" id="possibleproblems">Probl�mes possibles</a></h2> 355 <p>L'authentification Basic est sp�cifi�e d'une telle mani�re que 356 vos nom d'utilisateur et mot de passe doivent �tre v�rifi�s chaque 357 fois que vous demandez un document au serveur, et ceci m�me si vous 358 rechargez la m�me page, et pour chaque image contenue dans la page 359 (si elles sont situ�es dans un r�pertoire prot�g�). Comme vous 360 pouvez l'imaginer, ceci ralentit un peu le fonctionnement. La mesure 361 dans laquelle le fonctionnement est ralenti est proportionnelle � la 362 taille du fichier des mots de passe, car ce dernier doit �tre ouvert 363 et la liste des utilisateurs parcourue jusqu'� ce que votre nom soit 364 trouv�, et ceci chaque fois qu'une page est charg�e.</p> 365 366 <p>En cons�quence, ce ralentissement impose une limite pratique au 367 nombre d'utilisateurs que vous pouvez enregistrer dans un fichier de 368 mots de passe. Cette limite va varier en fonction des performances 369 de votre serveur, mais vous commencerez � remarquer un 370 ralentissement lorsque vous atteindrez quelques centaines 371 d'utilisateurs, et serez alors appel�s � utiliser une m�thode 372 d'authentification diff�rente.</p> 373</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 374<div class="section"> 375<h2><a name="dbmdbd" id="dbmdbd">Autre m�thode de stockage des mots de 376passe</a></h2> 377 378 <p>Suite au probl�me �voqu� pr�c�demment et induit par le stockage 379 des mots de passe dans un fichier texte, vous pouvez �tre appel� � 380 stocker vos mots de passe d'une autre mani�re, par exemple dans une 381 base de donn�es.</p> 382 383 <p>Pour y parvenir, on peut utiliser les modules 384 <code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ou <code class="module"><a href="/mod/mod_authn_dbd.html">mod_authn_dbd</a></code>. 385 Vous pouvez choisir comme format de stockage <code>dbm</code> ou 386 <code>dbd</code> � la place de <code>file</code> pour la directive 387 <code class="directive"><a href="/mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>.</p> 388 389 <p>Par exemple, pour s�lectionner un fichier dbm � la place d'un 390 fichier texte :</p> 391 392 <pre class="prettyprint lang-config"><Directory /www/docs/private> 393 394 AuthName "Private" 395 AuthType Basic 396 AuthBasicProvider dbm 397 AuthDBMUserFile /www/passwords/passwd.dbm 398 Require valid-user 399 400</Directory></pre> 401 402 403 <p>D'autres options sont disponibles. Consultez la documentation de 404 <code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code> pour plus de d�tails.</p> 405</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 406<div class="section"> 407<h2><a name="multprovider" id="multprovider">Utilisation de plusieurs fournisseurs 408d'authentification</a></h2> 409 410 <p>Depuis l'arriv�e des nouvelles architecture d'autorisation et 411 d'authentification bas�es sur les fournisseurs, vous n'�tes plus 412 limit� � une m�thode d'authentification et d'autorisation 413 unique. En fait, on peut panacher autant de fournisseurs que l'on 414 veut, ce qui vous permet d'�laborer l'architecture qui correspond 415 exactement � vos besoins. Dans l'exemple suivant, on utilise 416 conjointement les fournisseurs d'authentification 417 file et LDAP :</p> 418 419 <pre class="prettyprint lang-config"><Directory /www/docs/private> 420 421 AuthName "Private" 422 AuthType Basic 423 AuthBasicProvider file ldap 424 AuthUserFile /usr/local/apache/passwd/passwords 425 AuthLDAPURL ldap://ldaphost/o=yourorg 426 Require valid-user 427 428</Directory></pre> 429 430 431 <p>Dans cet exemple, le fournisseur file va tenter d'authentifier 432 l'utilisateur en premier. S'il n'y parvient pas, le fournisseur LDAP 433 sera sollicit�. Ceci permet l'�largissement des possibilit�s 434 d'authentification si votre organisation impl�mente plusieurs types 435 de bases d'authentification. D'autres sc�narios d'authentification 436 et d'autorisation peuvent associer un type d'authentification avec 437 un autre type d'autorisation. Par exemple, une authentification 438 bas�e sur un fichier de mots de passe peut permettre l'attribution 439 d'autorisations bas�e sur un annuaire LDAP.</p> 440 441 <p>Tout comme plusieurs fournisseurs d'authentification peuvent �tre 442 impl�ment�s, on peut aussi utiliser plusieurs m�thodes 443 d'autorisation. Dans l'exemple suivant, on utilise � la fois une 444 autorisation � base de fichier de groupes et une autorisation � base 445 de groupes LDAP.</p> 446 447 <pre class="prettyprint lang-config"><Directory /www/docs/private> 448 449 AuthName "Private" 450 AuthType Basic 451 AuthBasicProvider file 452 AuthUserFile /usr/local/apache/passwd/passwords 453 AuthLDAPURL ldap://ldaphost/o=yourorg 454 AuthGroupFile /usr/local/apache/passwd/groups 455 Require group GroupName 456 Require ldap-group cn=mygroup,o=yourorg 457 458</Directory></pre> 459 460 461 <p>Pour un sc�nario d'autorisation un peu plus avanc�, des 462 directives de conteneur d'autorisation comme <code class="directive"><a href="/mod/mod_authz_core.html#requireall"><RequireAll></a></code> et 463 <code class="directive"><a href="/mod/mod_authz_core.html#requireany"><RequireAny></a></code> permettent d'appliquer une 464 logique telle que l'ordre dans lequel les autorisations sont 465 appliqu�es peut �tre enti�rement contr�l� au niveau de la 466 configuration. Voir <a href="/mod/mod_authz_core.html#logic">Conteneurs 467 d'autorisations</a> pour un exemple de ce contr�le.</p> 468 469</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 470<div class="section"> 471<h2><a name="beyond" id="beyond">Pour aller plus loin qu'une simple 472autorisation</a></h2> 473 474 <p>La mani�re dont les autorisations sont accord�es est d�sormais 475 beaucoup plus souple qu'une simple v�rification aupr�s d'une seule 476 base de donn�es. Il est maintenant possible de choisir l'ordre, la 477 logique et la mani�re selon lesquels une autorisation est 478 accord�e.</p> 479 480 <h3><a name="authandororder" id="authandororder">Appliquer logique et 481 ordonnancement</a></h3> 482 <p>Le contr�le de la mani�re et de l'ordre selon lesquels le 483 processus d'autorisation �tait appliqu� 484 constituait une sorte de myst�re par 485 le pass�. Dans Apache 2.2, un m�canisme d'authentification bas� 486 sur les fournisseurs a �t� d�velopp� afin de s�parer le 487 v�ritable processus d'authentification de l'autorisation et ses 488 diff�rentes fonctionnalit�s. Un des avantages colat�raux 489 r�sidait dans le fait que les fournisseurs d'authentification 490 pouvaient �tre configur�s et appel�s selon un ordre particulier 491 ind�pendant de l'ordre de chargement du module auth proprement 492 dit. Ce m�canisme bas� sur les fournisseurs a �t� �tendu au 493 processus d'autorisation. Ceci signifie que la directive 494 <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code> d�finit 495 non seulement quelles m�thodes d'autorisation doivent �tre 496 utilis�es, mais aussi l'ordre dans lequel elles sont appel�es. 497 Les m�thodes d'autorisation sont appel�es selon l'ordre dans 498 lequel les directives <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code> apparaissent dans la 499 configuration.</p> 500 501 <p>Avec l'introduction des directives de conteneur 502 d'autorisations <code class="directive"><a href="/mod/mod_authz_core.html#requireall"><RequireAll></a></code> 503 et <code class="directive"><a href="/mod/mod_authz_core.html#requireany"><RequireAny></a></code>, la 504 configuration contr�le aussi le moment o� les m�thodes 505 d'autorisation sont appel�es, et quels crit�res d�terminent 506 l'autorisation d'acc�s. Voir <a href="/mod/mod_authz_core.html#logic">Conteneurs 507 d'autorisations</a> pour un exemple de la mani�re de les 508 utiliser pour exprimer des logiques d'autorisation 509 complexes.</p> 510 511 <p>Par d�faut, toutes les directives <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code> sont 512 trait�es comme si elles �taient contenues dans une directive 513 <code class="directive"><a href="/mod/mod_authz_core.html#requireany"><RequireAny></a></code>. En d'autres termes, il 514 suffit 515 qu'une m�thode d'autorisation s'applique avec succ�s pour que 516 l'autorisation soit accord�e.</p> 517 518 519 520 <h3><a name="reqaccessctrl" id="reqaccessctrl">Utilisation de fournisseurs 521 d'autorisation pour le contr�le d'acc�s</a></h3> 522 <p>La v�rification du nom d'utilisateur et du mot de passe ne 523 constituent qu'un aspect des m�thodes d'authentification. 524 Souvent, le contr�le d'acc�s � certaines personnes n'est pas 525 bas� sur leur identit� ; il peut d�pendre, par exemple de leur 526 provenance.</p> 527 528 <p>Les fournisseurs d'autorisation <code>all</code>, 529 <code>env</code>, <code>host</code> et <code>ip</code> vous 530 permettent d'accorder ou refuser l'acc�s en 531 fonction de crit�res tels que le nom d'h�te ou l'adresse 532 IP de la machine qui effectue la requ�te.</p> 533 534 <p>L'utilisation de ces fournisseurs est sp�cifi�e � l'aide de 535 la directive <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code>. Cette directive 536 permet d'enregistrer quels fournisseurs d'autorisation 537 seront appel�s dans le processus d'autorisation au cours du 538 traitement de la requ�te. Par exemple :</p> 539 540 <pre class="prettyprint lang-config">Require ip <var>address</var></pre> 541 542 543 <p>o� <var>adresse</var> est une adresse IP (ou une adresse IP 544 partielle) ou :</p> 545 546 <pre class="prettyprint lang-config">Require host <var>domain_name</var></pre> 547 548 549 <p>o� <var>nom_domaine</var> est un nom de domaine enti�rement 550 qualif� (ou un nom de domaine partiel) ; vous pouvez indiquer 551 plusieurs adresses ou noms de domaines, si vous le d�sirez.</p> 552 553 <p>Par exemple, si vous voulez rejeter les spams dont une 554 machine vous inonde, vous pouvez utiliser ceci :</p> 555 556 <pre class="prettyprint lang-config"><RequireAll> 557 Require all granted 558 Require not ip 10.252.46.165 559</RequireAll></pre> 560 561 562 <p>Ainsi, les visiteurs en provenance de cette adresse ne 563 pourront pas voir le contenu concern� par cette directive. Si, 564 par contre, vous connaissez le nom de la machine, vous pouvez 565 utiliser ceci :</p> 566 567 <pre class="prettyprint lang-config"><RequireAll> 568 Require all granted 569 Require not host host.example.com 570</RequireAll></pre> 571 572 573 <p>Et si vous voulez interdire l'acc�s � toutes les machines 574 d'un domaine, vous pouvez sp�cifier une partie seulement de 575 l'adresse ou du nom de domaine :</p> 576 577 <pre class="prettyprint lang-config"><RequireAll> 578 Require all granted 579 Require not ip 192.168.205 580 Require not host phishers.example.com moreidiots.example 581 Require not host ke 582</RequireAll></pre> 583 584 585 <p>L'utilisation de la directive <code class="directive"><a href="/mod/mod_authz_core.html#requireall"><RequireAll></a></code> 586 avec de multiples directives <code class="directive"><a href="/mod/mod_authz_core.html#require"><Require></a></code>, toutes avec la n�gation 587 <code>not</code>, n'accordera l'acc�s que si toutes les 588 conditions n�gatives sont v�rifi�es. En d'autres termes, l'acc�s 589 sera refus� si au moins une des conditions n�gatives n'est pas 590 v�rifi�e.</p> 591 592 593 594 <h3><a name="filesystem" id="filesystem">Compatibilit� ascendante du contr�le 595 d'acc�s</a></h3> 596 <p>L'adoption d'un m�canisme � base de fournisseurs pour 597 l'authentification, a pour effet colat�ral de rendre inutiles 598 les directives <code class="directive"><a href="/mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="/mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="/mod/mod_access_compat.html#deny">Deny</a></code> et <code class="directive"><a href="/mod/mod_access_compat.html#satisfy">Satisfy</a></code>. Cependant, et � 599 des fins de compatibilit� ascendante vers les anciennes 600 configurations, ces directives ont �t� d�plac�es vers le module 601 <code class="module"><a href="/mod/mod_access_compat.html">mod_access_compat</a></code>.</p> 602 603 604 605</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 606<div class="section"> 607<h2><a name="socache" id="socache">Mise en cache de l'authentification</a></h2> 608 <p>Dans certains cas, l'authentification constitue une charge 609 inacceptable pour un fournisseur d'authentification ou votre r�seau. 610 Ceci est susceptible d'affecter les utilisateurs du module 611 <code class="module"><a href="/mod/mod_authn_dbd.html">mod_authn_dbd</a></code> (ou les fournisseurs 612 tiers/personnalis�s). Pour r�soudre ce probl�me, HTTPD 2.3/2.4 613 propose un nouveau fournisseur de mise en cache, 614 <code class="module"><a href="/mod/mod_authn_socache.html">mod_authn_socache</a></code>, qui permet de mettre en cache 615 les donn�es d'authentification, et ainsi r�duire la charge du/des 616 fournisseurs(s) originels.</p> 617 <p>Cette mise en cache apportera un gain en performance substantiel 618 � certains utilisateurs.</p> 619</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 620<div class="section"> 621<h2><a name="moreinformation" id="moreinformation">Pour aller plus loin . . .</a></h2> 622 <p>Vous pouvez aussi lire la documentation de 623 <code class="module"><a href="/mod/mod_auth_basic.html">mod_auth_basic</a></code> et <code class="module"><a href="/mod/mod_authz_host.html">mod_authz_host</a></code> 624 qui contient des informations suppl�mentaires � propos du 625 fonctionnement de tout ceci. 626 Certaines configurations d'authentification peuvent aussi �tre 627 simplifi�es � l'aide de la directive <code class="directive"><a href="/mod/mod_authn_core.html#authnprovideralias"><AuthnProviderAlias></a></code>.</p> 628 629 <p>Les diff�rents algorithmes de chiffrement support�s par Apache 630 pour authentifier les donn�es sont expliqu�s dans <a href="/misc/password_encryptions.html">PasswordEncryptions</a>.</p> 631 632 <p>Enfin vous pouvez consulter la recette <a href="access.html">Contr�le 633 d'acc�s</a>, qui d�crit un certain nombre de situations en relation 634 avec le sujet.</p> 635 636</div></div> 637<div class="bottomlang"> 638<p><span>Langues Disponibles: </span><a href="/en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | 639<a href="/fr/howto/auth.html" title="Fran�ais"> fr </a> | 640<a href="/ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 641<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 642<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a></p> 643</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 644<script type="text/javascript"><!--//--><![CDATA[//><!-- 645var comments_shortname = 'httpd'; 646var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html'; 647(function(w, d) { 648 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 649 d.write('<div id="comments_thread"><\/div>'); 650 var s = d.createElement('script'); 651 s.type = 'text/javascript'; 652 s.async = true; 653 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 654 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 655 } 656 else { 657 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 658 } 659})(window, document); 660//--><!]]></script></div><div id="footer"> 661<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> 662<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 663if (typeof(prettyPrint) !== 'undefined') { 664 prettyPrint(); 665} 666//--><!]]></script> 667</body></html>