5.1.2. Utilisateurs, dossiers & droits¶
5.1.2.1. Utilisateurs et groupes d’exécution¶
La segmentation des droits utilisateurs doit permettre de respecter les contraintes suivantes :
- Assurer une séparation des utilisateurs humains du système et des utilisateurs système sous lesquels tournent les process système VITAM ;
- Séparer les droits des rôles d’exploitation différents suivants :
- Les administrateurs système (OS) ;
- Les administrateurs techniques des logiciels VITAM ;
- Les administrateurs des bases de données VITAM.
Les utilisateurs et groupes décrits dans les paragraphes suivants doivent être ajoutés par les scripts d’installation de la solution VITAM.
En outre, les règles de sudoer associées aux groupes vitam*-admin
doivent également être mis en place par les scripts d’installation.
Les sudoers sont paramétrés en mode NOPASSWD, c’est à dire qu’aucun mot de passe n’est demandé à l’utilisateur faisant partie du groupe vitam*-admin
pour lancer les commandes d’arrêt relance des applicatifs Vitam.
Note
Les fichiers de règles sudoers des groupes vitam-admin
et vitamdb-admin
seront systématiquement écrasés à chaque installation des paquets (rpm / deb) déclarant les utilisateurs VITAM. (Un backup de l’ancien fichier sera tout de même effectué).
5.1.2.1.1. Groupes¶
vitam
(GID : 2000) : il s’agit du groupe primaire des utilisateurs de servicevitam-admin
(GID : 3000) : il s’agit du groupe d’utilisateurs ayant les droits « sudo » permettant le le lancement des services VITAMvitamdb-admin
(GID : 3001) : il s’agit du groupe d’utilisateurs ayant les droits « sudo » permettant le lancement des services VITAM stockant de la donnée.
5.1.2.1.2. Utilisateurs¶
utilisateur de service ; les processus VITAM tournent sous cet utilisateur. Leur login est désactivé.
vitam
(UID : 2000) : pour les services ne stockant pas les donnéesvitamdb
(UID : 2001) : pour les services stockant des données (Ex : MongoDB et ElasticSearch)
5.1.2.2. Arborescence de fichiers¶
5.1.2.2.1. Services VITAM¶
Pour un service d’id <service_id>
, les fichiers et dossiers impactés par VITAM sont les suivants.
5.1.2.2.1.1. Arborescence VITAM¶
L’arborescence /vitam
héberge les fichiers propres aux différents services ; son arborescence interne est normalisée selon le pattern suivant : /vitam/<folder_type>/<service_id>
où :
<service_id>
est l’id du service auquel appartient les fichiers ;<folder-type>
est le type de fichiers contenu par le dossier :app
: fichiers de ressources (non-jar) requis pour l’application (ex: .war)bin
: binaires (le cas échéant)script
: Répertoire des scripts d’exploitation du module (start/stop/status/backup)conf
: Fichiers de configurationlib
: Fichiers binaires (ex: jar)log
: Logs du composantdata
: Données du composanttmp
: Données temporaires produites par l’application
Les dossiers /vitam
et /vitam/<folder_type>
ont les droits suivants :
- Owner :
root
- Group owner :
root
- Droits : 0555
A l’intérieur de ces dossiers, les droits par défaut sont les suivants :
Fichiers standards :
- Owner :
vitam
(ouvitamdb
) - Group owner :
vitam
- Droits : 0640
- Owner :
Fichiers exécutables et répertoires :
- Owner :
vitam
(ouvitamdb
) - Group owner :
vitam
- Droits : 0750
- Owner :
Prudence
Cette arborescence ne peut contenir de caractère spécial ; les éléments du chemin (notamment le service_id
) doivent respecter l’expression régulière suivante : [0-9A-Za-z-_]+
Le système de déploiement et de gestion de configuration de la solution est responsable de la bonne définition de cette arborescence (tant dans sa structure que dans les droits utilisateurs associés).
5.1.2.2.1.2. Intégration au système¶
/usr/lib/systemd/system/
: répertoire racine des définitions de units systemd de type « service » sur les distributions Linux type RedHat/lib/systemd/system/
: répertoire racine des définitions de units systemd de type « service » sur les distributions Linux type Debian<service_id>.service
: fichier de définition du service systemd associé au service VITAM