Retour au blog

Comment retrouver l'accès administrateur à Confluence via la base de données - Guide d'urgence

2025-04-245 min de lecture

Considérez ce scénario : C'est lundi matin, et une équipe a besoin d'ajouter un nouveau membre à un espace Confluence crucial. Le problème ? Le seul administrateur vient de commencer des vacances de deux semaines complètement hors réseau. Pour quiconque dans cette situation, la panique pourrait s'installer... jusqu'à ce qu'il se souvienne d'avoir accès au serveur sur lequel Confluence s'exécute. Ce scénario hypothétique illustre quand la solution technique suivante pourrait être nécessaire.

Avertissement important : Cet article est fourni à titre éducatif uniquement. Les techniques décrites ici ne doivent être utilisées que dans des situations d'urgence légitimes où vous avez l'autorisation appropriée d'accéder à la base de données et de modifier les permissions administratives. L'accès ou la modification non autorisés de la base de données peuvent violer :

  • Les politiques de sécurité de votre organisation et les conditions d'emploi
  • Les accords de licence logicielle avec Atlassian
  • Les lois applicables sur l'accès aux ordinateurs dans votre juridiction

Consultez toujours votre service informatique, votre équipe juridique et examinez les politiques de votre organisation avant de tenter toute modification directe de la base de données. L'auteur et ce site Web n'assument aucune responsabilité pour toute mauvaise utilisation de ces informations ou ses conséquences.

Ce dont vous avez besoin d'abord

Avant de commencer, assurez-vous d'avoir :

  • L'accès au serveur où s'exécute la base de données Confluence.
  • Le nom d'utilisateur et le mot de passe pour vous connecter à la base de données Confluence. (Indice : Vérifiez le fichier confluence.cfg.xml !)
  • Le nom d'utilisateur Confluence que vous souhaitez rendre administrateur.

Étape 1 : Trouver les détails de votre base de données Confluence

Confluence stocke ses informations de connexion à la base de données dans un fichier appelé confluence.cfg.xml. Ce fichier se trouve généralement dans le répertoire 'home' de Confluence sur votre serveur (souvent quelque chose comme /var/atlassian/application-data/confluence).

Trouver le fichier :

Si vous connaissez le chemin du répertoire 'home' de Confluence, vous pouvez utiliser une commande comme celle-ci (remplacez /path/to/confluence/home par le chemin réel) :

find /path/to/confluence/home -name \"confluence.cfg.xml\"

Si vous n'êtes pas sûr de l'emplacement du répertoire 'home' de Confluence, essayez de rechercher à partir du répertoire racine (cela peut prendre un certain temps) ou naviguez vers un répertoire parent probable (comme /var/atlassian ou /opt) et recherchez à partir de là :

# Naviguez d'abord vers un répertoire parent potentiel, puis exécutez :
find . -name \"confluence.cfg.xml\"

Cette commande recherche dans le répertoire actuel (.) et tous ses sous-répertoires le fichier.

Lire le fichier :

Une fois que vous l'avez trouvé, ouvrez confluence.cfg.xml. Recherchez des lignes comme celles-ci :

<property name=\"hibernate.connection.url\">jdbc:postgresql://your-db-host:5432/confluence</property>
<property name=\"hibernate.connection.username\">confluenceuser</property>
<property name=\"hibernate.connection.password\">yourpassword</property>

Ces lignes vous indiquent le type de base de données (comme PostgreSQL ou MySQL), l'adresse du serveur (your-db-host), le nom de la base de données, le nom d'utilisateur et le mot de passe dont vous avez besoin pour vous connecter.

Étape 2 : Se connecter à la base de données

Maintenant, utilisez les détails que vous avez trouvés pour vous connecter à la base de données.

Si c'est PostgreSQL :

psql -h your-db-host -U confluenceuser -d confluence

Si c'est MySQL :

mysql -h your-db-host -u confluenceuser -p confluence

Entrez le mot de passe lorsqu'il est demandé.

Étape 3 : Obtenir l'ID utilisateur et l'ID du groupe d'administrateurs

Vous avez besoin de deux informations de la base de données : l'ID de l'utilisateur et l'ID du groupe d'administrateurs.

Trouver l'ID de l'utilisateur (user_key) :

Exécutez cette commande SQL. Remplacez 'your-username' par le nom d'utilisateur Confluence réel que vous souhaitez rendre administrateur :

SELECT user_key FROM cwd_user WHERE user_name = 'your-username';

Notez le user_key qu'elle vous donne (ce sera un nombre).

Trouver l'ID du groupe d'administrateurs :

Exécutez cette commande SQL :

SELECT id FROM cwd_group WHERE group_name = 'confluence-administrators';

Notez l'id qu'elle vous donne (c'est l'ID du groupe d'administrateurs).

Étape 4 : Ajouter l'utilisateur au groupe d'administrateurs

C'est l'étape cruciale où vous liez l'utilisateur au groupe d'administrateurs.

Trouver le prochain ID disponible pour le lien :

Exécutez ceci pour voir le plus grand ID actuel dans la table des membres :

SELECT MAX(id) FROM cwd_membership;

Prenez le nombre qu'elle vous donne et ajoutez 1. Par exemple, si elle affiche 1000, vous utiliserez 1001. Ce sera l'ID unique du nouveau lien.

Créer le lien :

Exécutez la commande `INSERT` suivante. **Remplacez soigneusement** `NEXT_MEMBERSHIP_ID` par l'ID que vous venez de calculer (par exemple, `1001`), `ADMIN_GROUP_ID` par l'ID du groupe d'administrateurs que vous avez trouvé, et `USER_KEY` par l'ID de l'utilisateur que vous avez trouvé. Remplacez également `'your-username'` par le nom d'utilisateur réel à nouveau.

INSERT INTO cwd_membership (id, parent_id, child_user_id, membership_type, group_type, parent_name, lower_parent_name, child_name, lower_child_name) 
VALUES (NEXT_MEMBERSHIP_ID, ADMIN_GROUP_ID, USER_KEY, 'GROUP_USER', 'GROUP', 'confluence-administrators', 'confluence-administrators', 'your-username', 'your-username');

Exemple :

-- Assurez-vous d'utiliser les ID réels que vous avez trouvés !
INSERT INTO cwd_membership (id, parent_id, child_user_id, membership_type, group_type, parent_name, lower_parent_name, child_name, lower_child_name) 
VALUES (1001, 4587522, 241106945, 'GROUP_USER', 'GROUP', 'confluence-administrators', 'confluence-administrators', 'jane.doe', 'jane.doe');

(Note : Si vous obtenez une erreur concernant des colonnes manquantes, votre version de Confluence pourrait être différente. Vous pourriez seulement avoir besoin de `id`, `parent_id` et `child_user_id` dans l'instruction `INSERT`. Vérifiez la structure de votre table si nécessaire.)

Étape 5 : Redémarrer Confluence

La modification ne fonctionnera pas tant que vous n'aurez pas redémarré Confluence.

Option 1 : Utilisation de systemd (courant sous Linux)

sudo systemctl restart confluence

Option 2 : Utilisation des scripts de Confluence

cd /path/to/confluence/bin  # Aller dans le répertoire bin de Confluence
./shutdown.sh
./startup.sh             # Attendre un peu après l'arrêt avant de démarrer

Une fois que Confluence sera de nouveau opérationnel, l'utilisateur que vous avez sélectionné devrait pouvoir se connecter avec les droits d'administrateur complets !

Conseils rapides et avertissements

  • Sauvegardez d'abord ! Sérieusement, sauvegardez toujours votre base de données avant de modifier quoi que ce soit directement.
  • La base de données compte : Les commandes SQL pourraient nécessiter de légères modifications si vous utilisez Oracle ou SQL Server au lieu de PostgreSQL/MySQL.
  • Vérifiez les noms : Si les commandes échouent, vérifiez à nouveau les noms des tables (cwd_user, cwd_group, cwd_membership) car ils pourraient varier légèrement entre les versions de Confluence.
  • Soyez prudent : Vous contournez les vérifications de sécurité normales. Assurez-vous absolument que vous accordez les droits d'administrateur au bon compte utilisateur.
  • Vérifiez vos politiques : Cette technique ne doit être utilisée que dans des situations d'urgence lorsque vous avez l'autorisation appropriée. De nombreuses organisations ont des politiques concernant l'accès à la base de données et les droits d'administrateur. Assurez-vous toujours de respecter les règles de gouvernance informatique de votre entreprise et d'avoir l'approbation appropriée avant d'effectuer ces modifications.
  • Documentez vos actions : Si vous utilisez cette méthode, documentez ce que vous avez fait, quand et pourquoi. La transparence est essentielle lors de modifications au niveau du système comme celle-ci.

Conclusion

Perdre l'accès administrateur à votre instance Confluence peut être une situation stressante, surtout lorsque des travaux critiques en dépendent. Bien que la méthode décrite dans ce guide doive être considérée comme un dernier recours, elle offre aux administrateurs informatiques une solution d'urgence viable lorsqu'une autorisation appropriée existe. N'oubliez pas que la prévention est toujours préférable à la guérison ; la mise en œuvre d'une gestion appropriée des accès administrateur et d'une documentation peut aider à éviter ces situations entièrement.

Questions fréquemment posées

Est-il sûr de modifier directement la base de données Confluence ?

Les modifications directes de la base de données comportent toujours des risques et ne doivent être effectuées que par des administrateurs de bases de données qualifiés et autorisés, après avoir créé une sauvegarde complète. Cette approche ne doit être utilisée que dans des situations d'urgence lorsqu'il n'y a pas d'autres options.

Cette méthode fonctionnera-t-elle pour Confluence hébergé dans le cloud ?

Non, cette méthode ne fonctionne que pour les instances Confluence auto-hébergées où vous avez un accès direct à la base de données sous-jacente. Pour Confluence hébergé dans le cloud, contactez le support Atlassian pour les options de récupération d'accès administrateur.

Existe-t-il d'autres moyens de retrouver l'accès administrateur à Confluence ?

Oui, les alternatives incluent : 1) Contacter les administrateurs existants, 2) Utiliser le mode de récupération de Confluence s'il est activé, 3) Restaurer à partir d'une sauvegarde où vous aviez un accès administrateur, ou 4) Contacter le support Atlassian pour obtenir des conseils spécifiques à votre situation.