Aller au contenu
quest'n'click

Clever CloudGuidePour adminsS'applique de 4.2.3

Récupérer l'accès administrateur

This page in EnglishCette page sur le wiki GitHub

Que faire quand plus personne ne peut agir en owner du Studio, ou quand l’administration du fournisseur elle-même est perdue. Le Studio ne laisse jamais de lui-même un projet sans owner ; la perte d’accès vient d’ailleurs (un compte perdu chez le fournisseur, une personne partie).

Ce que vous obtenez

Un owner qui peut de nouveau se connecter, créé du côté de l’opérateur par clever ssh, et l’ancien owner rétrogradé ou retiré s’il le faut ; ou, pour Keycloak, son administration retrouvée.

Contexte et versions

  • Un Studio hébergé sur Clever Cloud, à partir de la 4.2.3. Vous avez accès à l’organisation Clever Cloud (c’est le chemin de reprise de l’opérateur : qui peut faire clever ssh sur l’application studio peut créer un owner).
  • Vérifié sur : non vérifié sur une installation réelle. La commande d’invitation elle-même a tourné sur le déploiement de référence (19 octobre 2026) pour créer le premier owner ; cette reprise n’a pas été exercée.

Retirer le dernier owner passe par la même vérification dans le code (409 « the last owner stays an owner ») : un projet garde donc un owner du côté du Studio.

Prérequis

  • clever-tools connecté à l’organisation qui porte les applications.
  • Une adresse e-mail que le fournisseur dit vérifiée, pour la personne qui deviendra owner, et un compte chez le fournisseur avec elle.

Où lancer les commandes

Dans un shell sur l’application studio : clever ssh --alias my-game-studio, depuis votre machine, dans le dépôt du moteur où l’application est liée. Ce shell a la configuration et les identifiants de la base : la commande n’a pas besoin de --config.

Étapes

  1. Si un autre owner peut encore se connecter, demandez-lui : il change les rôles dans l’écran des membres du Studio (Gérer les membres). Arrêtez-vous là.
  1. Si le problème est le compte de l’owner chez le fournisseur (mot de passe perdu, compte désactivé), réglez-le d’abord là-bas : dans la console d’administration de Keycloak, réinitialisez le mot de passe de l’utilisateur ou réactivez-le. Son identité dans le Studio est le (iss, sub) du fournisseur : le même compte retrouve le même rôle. Arrêtez-vous là si cela suffit.
  1. Sinon, créez un nouvel owner du côté de l’opérateur :

    # dans un shell sur l'application studio (clever ssh --alias my-game-studio)
    cd "$APP_HOME" && npm run studio-server -- invite --email new-owner@example.fr --role owner

    Elle affiche un lien à usage unique, valable 7 jours, et note invited dans le journal d’audit avec studio-server invite pour auteur. La personne l’ouvre et se connecte avec cet e-mail vérifié : elle devient owner (le rôle d’un membre existant est remplacé).

  1. Connecté comme le nouvel owner, rétrogradez ou retirez le compte perdu dans l’écran des membres, maintenant qu’il n’est plus le dernier owner. Un retrait termine ses sessions et refuse ses jetons à la requête suivante.

L’administrateur de Keycloak est perdu

Le premier mot de passe administrateur du Keycloak managé est temporaire ; une fois changé, la console de Clever et CC_KEYCLOAK_ADMIN_DEFAULT_PASSWORD continuent d’afficher l’ancien (Keycloak, étape 2). Si le nouveau est perdu :

  • ce projet ne documente aucune façon de le réinitialiser, et n’en a essayé aucune ; demandez d’abord au support de Clever Cloud ;
  • le repli, c’est un nouvel add-on Keycloak avec le realm recréé : chaque membre y reçoit une nouvelle identité (un nouveau sub) et doit être réinvité. C’est Changer de domaine ou de fournisseur OIDC.

Résultat attendu, et comment le vérifier

Le GET /auth/me du nouvel owner dit role: owner ; GET /api/members le liste comme owner ; GET /api/audit montre invited puis invitation-accepted.

Erreurs fréquentes

SymptômeCauseCorrection
Connecté, mais « not a member of this project »L’e-mail n’est pas vérifié chez le fournisseur, ou un autre a été invitéVérifiez l’e-mail chez le fournisseur ; invitez exactement celui-là
« this login has expired or was already used: start again »La page de connexion laissée plus de 10 min, ou rechargéeRouvrez le lien d’invitation
Le lien d’invitation ne fait rien après 7 joursIl a expiréRefaites l’étape 3
usage: studio-server invite --email <email> --role …Un drapeau manquant ou mal écrit, ou un rôle autre que owner, dev ou reviewer--email et --role tous deux

Fichiers ou données modifiés

Une ligne d’invitation (stockée par son hash), puis une ligne de membre ; des entrées d’audit. Rien d’autre.

Reprise ou retour arrière

Une invitation non utilisée expire en 7 jours. Un mauvais owner est rétrogradé ou retiré par un autre owner.

Références