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="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
25<a href="/fr/howto/auth.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
26<a href="/ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</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">&lt;Directory&gt;</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 &lt;Directory
222    /usr/local/apache/htdocs/secret&gt; :</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">&lt;Directory&gt;</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">&lt;Directory /www/docs/private&gt;
393
394    AuthName "Private"
395    AuthType Basic
396    AuthBasicProvider dbm
397    AuthDBMUserFile /www/passwords/passwd.dbm
398    Require valid-user
399
400&lt;/Directory&gt;</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">&lt;Directory /www/docs/private&gt;
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&lt;/Directory&gt;</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">&lt;Directory /www/docs/private&gt;
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&lt;/Directory&gt;</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">&lt;RequireAll&gt;</a></code> et
463    <code class="directive"><a href="/mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</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">&lt;RequireAll&gt;</a></code>
503 	et <code class="directive"><a href="/mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</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">&lt;RequireAny&gt;</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">&lt;RequireAll&gt;
557    Require all granted
558    Require not ip 10.252.46.165
559&lt;/RequireAll&gt;</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">&lt;RequireAll&gt;
568    Require all granted
569    Require not host host.example.com
570&lt;/RequireAll&gt;</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">&lt;RequireAll&gt;
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&lt;/RequireAll&gt;</pre>
583
584
585        <p>L'utilisation de la directive <code class="directive"><a href="/mod/mod_authz_core.html#requireall">&lt;RequireAll&gt;</a></code>
586	avec de multiples directives <code class="directive"><a href="/mod/mod_authz_core.html#require">&lt;Require&gt;</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">&lt;AuthnProviderAlias&gt;</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">&nbsp;en&nbsp;</a> |
639<a href="/fr/howto/auth.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
640<a href="/ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
641<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
642<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</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&amp;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>