]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_authn_socache.xml.fr
Quote {Alias,Redirect,ScriptAlias}{,Match} arguments.
[apache] / docs / manual / mod / mod_authn_socache.xml.fr
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
4 <!-- English Revision: 1659902:1673892 (outdated) -->
5 <!-- French translation : Lucien GENTIS -->
6 <!-- Reviewed by : Vincent Deffontaines -->
7
8 <!--
9  Licensed to the Apache Software Foundation (ASF) under one or more
10  contributor license agreements.  See the NOTICE file distributed with
11  this work for additional information regarding copyright ownership.
12  The ASF licenses this file to You under the Apache License, Version 2.0
13  (the "License"); you may not use this file except in compliance with
14  the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 -->
24
25 <modulesynopsis metafile="mod_authn_socache.xml.meta">
26
27 <name>mod_authn_socache</name>
28 <description>G&egrave;re un cache des donn&eacute;es d'authentification pour diminuer
29 la charge des serveurs d'arri&egrave;re-plan</description>
30 <status>Base</status>
31 <sourcefile>mod_authn_socache.c</sourcefile>
32 <identifier>authn_socache_module</identifier>
33 <compatibility>Versions 2.3 et ult&eacute;rieures</compatibility>
34
35 <summary>
36     <p>Maintient un cache des donn&eacute;es d'authentification pour limiter
37     les sollicitations du serveur d'arri&egrave;re-plan.</p>
38 </summary>
39
40 <section id="intro"><title>Mise en cache des donn&eacute;es d'authentification</title>
41     <p>Certains utilisateurs qui mettent oeuvre une authentification
42     lourde s'appuyant par exemple sur des requ&ecirc;tes SQL
43     (<module>mod_authn_dbd</module>) ont signal&eacute; une charge induite
44     inacceptable sur leur fournisseur d'authentification. Cela se
45     produit typiquement dans le cas o&ugrave; une page HTML contient des
46     centaines d'objets (images, scripts, pages de styles, media,
47     etc...), et o&ugrave; une requ&ecirc;te pour cette page g&eacute;n&egrave;re des centaines de
48     sous-requ&ecirc;tes &agrave; effet imm&eacute;diat pour des contenus suppl&eacute;mentaires
49     authentifi&eacute;s.</p>
50     <p>Pour r&eacute;soudre ce probl&egrave;me, mod_authn_socache fournit une solution
51     qui permet de maintenir un cache des donn&eacute;es d'authentification.</p>
52 </section>
53
54 <section id="usage"><title>Utilisation</title>
55     <p>Le cache d'authentification doit &ecirc;tre utilis&eacute; lorsque les
56     requ&ecirc;tes d'authentification induisent une charge significative sur le
57     serveur, le serveur d'arri&egrave;re-plan ou le r&eacute;seau. Cette mise en cache
58     n'apportera probablement aucune am&eacute;lioration dans le cas d'une
59     authentification &agrave; base de fichier (<module>mod_authn_file</module>)
60     ou de base de donn&eacute;es dbm (<module>mod_authn_dbm</module>) car ces
61     m&eacute;thodes sont de par leur conception rapides et l&eacute;g&egrave;res (la mise en
62     cache peut cependant s'av&eacute;rer utile dans le cas o&ugrave; le fichier est
63     situ&eacute; sur un montage r&eacute;seau). Les fournisseurs d'authentification
64     bas&eacute;s sur SQL ou LDAP ont plus de chances de tirer parti de cette
65     mise en cache, en particulier lorsqu'un probl&egrave;me de performances est
66     d&eacute;tect&eacute;. <module>mod_authnz_ldap</module> g&eacute;rant son propre cache,
67     seul <module>mod_authn_dbd</module> est concern&eacute; par notre sujet.</p>
68     <p>Les principales r&egrave;gles &agrave; appliquer pour la mise en cache sont :</p>
69     <ol><li>Inclure le fournisseur pour lequel vous voulez effectuer une
70     mise en cache dans une directive
71     <directive>AuthnCacheProvideFor</directive>.</li>
72         <li>Mettre <var>socache</var> avant le fournisseur pour lequel
73         vous voulez effectuer une mise en cache dans votre directive
74         <directive module="mod_auth_basic">AuthBasicProvider</directive>
75         ou <directive
76         module="mod_auth_digest">AuthDigestProvider</directive>.</li>
77     </ol>
78     <p>Voici un exemple simple permettant d'acc&eacute;l&eacute;rer
79     <module>mod_authn_dbd</module> et utilisant dbm comme moteur de la
80     mise en cache :</p>
81     <highlight language="config">
82     #AuthnCacheSOCache est optionnel. S'il est d&eacute;fini, il l'est pour
83     #l'ensemble du serveur
84 AuthnCacheSOCache dbm
85 &lt;Directory /usr/www/myhost/private&gt;
86     AuthType Basic
87     AuthName "Cached Authentication Example"
88     AuthBasicProvider socache dbd
89     AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
90     AuthnCacheProvideFor dbd
91     Require valid-user
92     #Optionnel
93     AuthnCacheContext dbd-authn-example
94 &lt;/Directory&gt;
95     </highlight>
96 </section>
97
98 <section id="dev"><title>La mise en cache avec les modules tiers</title>
99     <p>Les d&eacute;veloppeurs de modules doivent savoir que la mise en cache
100     avec mod_authn_socache doit &ecirc;tre activ&eacute;e dans leurs modules. La
101     fonction de l'API <var>ap_authn_cache_store</var> permet de
102     mettre en cache les donn&eacute;es d'authentification qu'un fournisseur
103     vient de rechercher ou de g&eacute;n&eacute;rer. Vous trouverez des exemples
104     d'utilisation &agrave; <a
105     href="http://svn.eu.apache.org/viewvc?view=revision&amp;revision=957072"
106     >r957072</a>, o&ugrave; trois fournisseurs authn sont activ&eacute;s pour la mise
107     en cache.</p>
108 </section>
109
110 <directivesynopsis>
111 <name>AuthnCacheEnable</name>
112 <description>Active la mise en cache de l'authentification en tout
113 endroit</description>
114 <syntax>AuthnCacheEnable</syntax>
115 <contextlist><context>server config</context></contextlist>
116 <override>None</override>
117
118 <usage>
119     <p>Normalement, cette directive n'est pas n&eacute;cessaire : l'activation
120     est implicite si la mise en cache de l'authentification a &eacute;t&eacute;
121     activ&eacute;e en tout autre endroit du fichier <var>httpd.conf</var>. Par
122     contre, si cette mise en cache n'a pas &eacute;t&eacute; activ&eacute;e, par d&eacute;faut, elle
123     ne sera pas initialis&eacute;e, et ne sera donc pas disponible dans un
124     contexte de fichier <var>.htaccess</var>. Cette directive permet
125     d'&ecirc;tre s&ucirc;r que la mise en cache a bien &eacute;t&eacute; activ&eacute;e et pourra
126     donc &ecirc;tre utilis&eacute;e dans les fichiers <var>.htaccess</var>.</p>
127 </usage>
128 </directivesynopsis>
129
130 <directivesynopsis>
131 <name>AuthnCacheSOCache</name>
132 <description>S&eacute;lectionne le fournisseur socache d'arri&egrave;re-plan &agrave;
133 utiliser</description>
134 <syntax>AuthnCacheSOCache <var>nom-fournisseur[:arguments-fournisseur]</var></syntax>
135 <contextlist><context>server config</context></contextlist>
136 <override>None</override>
137 <compatibility>Les arguments optionnels du fournisseur sont disponibles
138 &agrave; partir de la version 2.4.7 du serveur HTTP Apache</compatibility>
139
140 <usage>
141     <p>Cette d&eacute;finition s'applique &agrave; l'ensemble du serveur et permet de
142     s&eacute;lectionner un fournisseur pour le <a href="../socache.html">cache
143     d'objets partag&eacute;s</a>, ainsi que des arguments &eacute;ventuels pour ce
144     fournisseur. Les fournisseurs disponibles sont, entre autres, "dbm",
145     "dc", "memcache", ou "shmcb", chacun d'entre eux n&eacute;cessitant le chargement
146     du module appropri&eacute;. Si elle est
147     absente, c'est la valeur par d&eacute;faut pour votre plate-forme qui sera
148     utilis&eacute;e.</p>
149 </usage>
150 </directivesynopsis>
151
152 <directivesynopsis>
153 <name>AuthnCacheProvideFor</name>
154 <description>Sp&eacute;cifie le fournisseur pour lequel on veut effectuer une
155 mise en cache</description>
156 <syntax>AuthnCacheProvideFor <var>fournisseur-authn</var> [...]</syntax>
157 <default>None</default>
158 <contextlist><context>directory</context><context>.htaccess</context></contextlist>
159 <override>AuthConfig</override>
160
161 <usage>
162     <p>Cette directive permet de sp&eacute;cifier un ou plusieurs fournisseurs
163     pour le(s)quel(s) on veut effectuer une mise en cache. Les donn&eacute;es
164     d'authentification trouv&eacute;es par un fournisseur non sp&eacute;cifi&eacute; dans une
165     directive AuthnCacheProvideFor ne seront pas mises en cache.</p>
166
167     <p>Par exemple, pour mettre en cache les donn&eacute;es d'authentification
168     trouv&eacute;es par <module>mod_authn_dbd</module> ou par un fournisseur
169     personnalis&eacute; <var>mon-fournisseur</var>, et ne pas mettre en cache
170     celles trouv&eacute;es par les fournisseurs l&eacute;gers comme file ou dbm :</p>
171     <highlight language="config">
172 AuthnCacheProvideFor dbd mon-fournisseur
173     </highlight>
174 </usage>
175 </directivesynopsis>
176
177 <directivesynopsis>
178 <name>AuthnCacheTimeout</name>
179 <description>D&eacute;finit une dur&eacute;e de vie pour les entr&eacute;es du cache</description>
180 <syntax>AuthnCacheTimeout <var>dur&eacute;e-de-vie</var> (secondes)</syntax>
181 <default>300 (5 minutes)</default>
182 <contextlist><context>directory</context><context>.htaccess</context></contextlist>
183 <override>AuthConfig</override>
184
185 <usage>
186     <p>La mise en cache des donn&eacute;es d'authentification peut constituer
187     un trou de s&eacute;curit&eacute;, bien qu'un mise en cache de courte dur&eacute;e ne
188     posera probablement pas de probl&egrave;me. En g&eacute;n&eacute;ral, il est conseill&eacute; de
189     conserver les entr&eacute;es du cache de fa&ccedil;on &agrave; ce que la charge du serveur
190     d'arri&egrave;re-plan reste normale, mais pas plus longtemps ;
191     une dur&eacute;e de vie plus longue peut &ecirc;tre param&eacute;tr&eacute;e si les
192     changements d'utilisateurs et de mots de passe sont peu fr&eacute;quents.
193     La dur&eacute;e de vie par d&eacute;faut de 300 secondes (5 minutes) est &agrave; la fois
194     raisonnable et suffisamment importante pour r&eacute;duire la charge d'un
195     serveur d'arri&egrave;re-plan comme dbd (requ&ecirc;tes SQL).</p>
196     <p>Cette dur&eacute;e de vie ne doit pas &ecirc;tre confondue avec la dur&eacute;e de
197     vie de session qui est un tout autre sujet. Cependant, vous devez
198     utiliser votre logiciel de gestion de session pour v&eacute;rifier si les
199     donn&eacute;es d'authentification mises en cache peuvent allonger
200     accidentellement une session, et en tenir compte lorsque vous
201     d&eacute;finissez la dur&eacute;e de vie.</p>
202 </usage>
203 </directivesynopsis>
204
205 <directivesynopsis>
206 <name>AuthnCacheContext</name>
207 <description>Sp&eacute;cifie une cha&icirc;ne de contexte &agrave; utiliser dans la cl&eacute; du
208 cache</description>
209 <syntax>AuthnCacheContext <var>directory|server|cha&icirc;ne-personnalis&eacute;e</var></syntax>
210 <default>directory</default>
211 <contextlist><context>directory</context></contextlist>
212
213 <usage>
214     <p>Cette directive permet de sp&eacute;cifier une cha&icirc;ne &agrave; utiliser avec le
215     nom d'utilisateur fourni (et le domaine d'authentification - realm -
216     dans le cas d'une authentification &agrave; base de condens&eacute;s) lors de la
217     construction d'une cl&eacute; de cache. Ceci permet de lever l'ambigu&iuml;t&eacute;
218     entre plusieurs noms d'utilisateurs identiques servant diff&eacute;rentes
219     zones d'authentification sur le serveur.</p>
220     <p>Il y a deux valeurs sp&eacute;ciales pour le param&egrave;tre : <var>directory</var>,
221     qui utilise le contexte de r&eacute;pertoire de la requ&ecirc;te comme cha&icirc;ne, et
222     <var>server</var>, qui utilise le nom du serveur virtuel.</p>
223     <p>La valeur par d&eacute;faut est <var>directory</var>, qui est aussi la
224     d&eacute;finition la plus courante. Ceci est cependant loin d'&ecirc;tre optimal,
225     car par exemple, <var>$app-base</var>, <var>$app-base/images</var>,
226     <var>$app-base/scripts</var> et <var>$app-base/media</var>
227     poss&egrave;deront chacun leur propre cl&eacute; de cache. Il est pr&eacute;f&eacute;rable
228     d'utiliser le fournisseur de mot de passe : par exemple un fichier
229     <var>htpasswd</var> ou une table de base de donn&eacute;es.</p>
230     <p>Les contextes peuvent &ecirc;tre partag&eacute;s entre diff&eacute;rentes zones du
231     serveur, o&ugrave; les donn&eacute;es d'authentification sont partag&eacute;es. Ceci est
232     cependant susceptible de cr&eacute;er des trous de s&eacute;curit&eacute; de type
233     cross-site ou cross-application, et cette directive n'est donc pas
234     disponible dans les contextes <var>.htaccess</var>.</p>
235 </usage>
236 </directivesynopsis>
237
238 </modulesynopsis>
239