Contrôle d'accès

Dispositifs de sécurité

Vous pouvez gérer l'accès aux pages Web de Drupal de différentes manières:

  1. En utilisant les mesures de sécurité prévues dans Apache. Pour ce faire, nous vous renvoyons à la documentation des fichiers .htaccess d' Apache.

  2. En utilisant le module Drupal intégré, « utilisateurs », grâce auquel vous pouvez établir des rôles par catégorie d'utilisateurs pour lesquels vous déterminez qui peut exécuter quelles actions sur le site.

  3. En utilisant le module Drupal « contrôle d'accès » qui vous permet de définir à base de noms d'utilisateurs, d'adresses E-mail ou de noms d'hôtes qui a ou n'a pas accès au site.

  4. En utilisant le module intégré de Drupal « catégories » (en Anglais: « taxonomy » ), grâce auquel vos pages peuvent être classifiées et leur accès limité par des mots-clés prédéfinis.

Utilisateurs et rôles

Utilisateurs authentifiés vs. Anonymes

Dans tous les cas, vous pouvez vous-même sans configuration spéciale régler différemment les droits des utilisateurs authentifiés de ceux accordés aux utilisateurs anonymes. Pour effectuer ces ajustements, vous utilisez:

  • Drupal 5.x: AdministrerGestion des utilisateursContrôle d'accès

  • Anciennes versions: Administrercontrôle d'accèsdroits d'accès

Pour chaque version, vous disposez d'un aperçu semblable:

Figure 3.1. Droits d'accès par catégorie d'utilisateurs

3 colonnes: module fonctionnalités, utilisateurs anonymes, utilisateurs authentifiés; 2 dernières colonnes contenant des cases à cocher.

Par ce biais, vous pouvez activer ou bloquer des fonctionnalités, par module, utilisateur anonyme et/ou authentifié. Vous voulez, par exemple, qu'un utilisateur anonyme puisse poster des commentaires après qu'un gestionnaire l'ait accepté, cochez la case « soumettre des commentaires » de la colonne « anonymous user ».

[Astuce]Nouveaux modules

Contrôlez cette section à chaque fois que vous installez un nouveau module, car il se peut que par défaut la configuration d'accès à ce module ne soit pas celle que vous souhaitez.

Rôles

Etablir un rôle

A l'aide des rôles, vous pouvez répartir vos utilisateurs en groupes. Chaque rôle (groupe d'utilisateurs) s'ajoute sous forme de colonne dans l'aperçu des droits d'accès (dans l'exemple ci-avant: la rubrique « testrol »). De cette manière, vous pouvez obtenir une précision plus fine dans la gestion des droits d'accès. Un exemple: supposez que vous êtes un gestionnaire de réseau (webmaster) qui réalise des sites pour des tiers. Vous voudrez naturellement déléguer certaines tâches. Dans ce cas, vous pouvez par exemple créer un groupe d'intermédiaires qui aura comme mission d'accepter ou refuser des commentaires sur les pages du site, la gestion complète des commentaires et peut-être même l'exclusion d'utilisateurs indésirables. Pour ce faire, créez un rôle:

  • Drupal 5.0: AdministrerGestion des utilisateursRôles: complétez le nom du nouveau rôle et confirmez en cliquant sur le bouton Ajouter un rôle. Vous pouvez cliquer sur « éditer les droits d'accès » ou retourner dans AdministrerGestion des utilisateursContrôle d'accès pour activer les droits d'accès nécessaires.

  • Anciennes versions: Administrercontrôle d'accèsrôles: complétez le nom de la nouvelle liste et confirmez en cliquant sur le bouton Ajouter un rôle. Cliquez maintenant sur « éditer » à côté du nouveau rôle ou retournez dans Administrercontrôle d'accèsdroits d'accès pour attribuer les droits souhaités à ce groupe d'utilisateurs.

Attribuer un rôle à un utilisateur

Il vous reste maintenant à affecter des utilisateurs aux groupes. Ceci se passe comme suit:

  • Drupal 5.0: AdministrerGestion des utilisateursUtilisateurs: cherchez l'utilisateur à qui vous souhaitez attribuer un rôle déterminé, soit en effectuant une recherche sur un critère déterminé, soit en localisant les utilisateurs dans la liste. Cliquez sur « éditer » pour définir les propriétés de ces utilisateurs. Dans la première case sous la rubrique « Informations du compte » vous trouvez dans la section « Rôles » un aperçu des rôles existants. Cochez la case à côté de chaque rôle que vous souhaitez attribuer à cet utilisateur.

  • Anciennes versions: Administrerutilisateurs et cliquez sur « éditer » à côté du nom de l'utilisateur à qui vous souhaitez attribuer un rôle. Cochez la case du rôle que vous voulez affecter de la section « Rôle » de la rubrique « Informations du compte » et cliquez Soumettre.

[Attention]Combinaison de rôles

Les utilisateurs reçoivent la totalités des droits accordés aux rôles individuels et pas seulement les droits communs aux rôles.

[Astuce]Classer en groupes

Dans de plus grosses organisations, il peut s'avérer nécessaire de calquer le classement de vos utilisateurs sur des groupes déjà existants comme ceux que vous pouvez trouver dans un directory management system tel que LDAP ou Active Directory.

Règles d'accès

Une installation standard de Drupal vous permet de définir des règles d'accès basées sur les critères suivants:

  • Nom d'utilisateur: les utilisateurs à qui vous refusez l'accès ne peuvent plus se connecter. Naturellement, ils le peuvent encore en tant qu'utilisateur anonyme et ils auront tous les droits attribués à cette catégorie d'utilisateurs.

  • Adresse E-mail: idem mais sur base de l'adresse E-mail.

  • Nom d'hôte, cette méthode est un atout si les utilisateurs anonymes vous embêtent.

[Avertissement]Sessions existantes

Les sessions en cours ne seront pas interrompues lorsque vous apportez des changements à la configuration en utilisant l'interface d'administration. Il existe une fonction sess_destroy_uid, mais nous réservons son utilisation aux experts en PHP.

Pour définir une nouvelle règle d'accès, procédez comme suit:

  • Drupal 5.0: AdministrerGestion des utilisateursRègles d'accès et cliquez « Ajouter une règle ».

  • Anciennes versions: Administrercontrôle d'accèsrègles d'accès et cliquez l'onglet « ajouter une règle ».

Ensuite, vous indiquez:

  • S'il s'agit d'une autorisation ou d'un refus;

  • Si cela concerne le nom d'utilisateur, l'adresse E-mail ou le nom d'hôte;

  • Un masque: (partie) du nom d'utilisateur, l'adresse E-mail, le nom de machine ou son adresse IP que vous voulez accepter ou bloquer.

Cliquez Ajouter une règle.

Catégories

Qu'est-ce que les catégories?

Le module « catégories » (En anglais: « taxonomy » ) vous permet de classer les pages de votre site web selon leur contenu. Vous pouvez créer plusieurs catégories de contenu et même par catégorie effectuer des classements plus précis. Ceci facilite la recherche de page par mots clé, même pour des moteurs de recherche externes tels que Google. En plus, chaque page peut être liée à plusieurs mots clés.

Les termes spécifiques qui sont utilisés à cette fin:

  • vocabulaire ou vocabulary: le plus haut niveau de classement, par exemple: « clients » et « collaborateurs ».

  • termes: une subdivision d'un vocabulaire, par exemple dans le groupe « collaborateurs » se trouvent « collaborateurs internes » et « collaborateurs externes ». Vous pouvez, à votre convenance, créer différents niveaux de termes et ainsi obtenir tout un classement hiérarchisé de vos pages web.

[Astuce]D'abord le classement, puis le contenu

Si cela est possible, réfléchissez préalablement à la manière de classer le contenu de votre site web. Il est plus facile de classer une page au moment de la création dans une ou plusieurs « catégories », que de le faire après-coup.

Pour constituer un vocabulaire avec les termes connexes, suivez les instructions suivantes:

  • Drupal 5.x: allez à AdministrerGestion du contenuCatégories et cliquez l'onglet « Ajouter un vocabulaire ».

  • Anciennes versions: allez à Administrercatégoriesajouter un vocabulaire.

Contrôle d'accès basé sur le contenu

Une fois que vous avez organisé votre hiérarchie de vocabulaire et ajouté les termes dans chaque catégorie vous pouvez activer un module complémentaire pour accorder les permissions d'accès sur base de la classification des utilisateurs de votre page. Deux modules peuvent être utilisés:

L'utilisation des modules vous est expliquée dans le fichier joint README.

[Note]Des contrôles d'accès encore plus fins

Si vous voulez réellement définir par page qui dispose d'un accès, faites appel au module nodeaccess.

[Attention]Plusieurs systèmes

Si vous voulez combiner plusieurs systèmes de contrôle d'accès, testez toujours préalablement et de façon approfondie s'ils sont compatibles. Ce qui n'est pas toujours garanti.