Heroku - 6 Permission Heroku
Bienvenue dans ce cours d'introduction à Heroku. Cette vidéo traite des permissions : ce qu'un utilisateur peut faire sur une application, comment changer ses droits et s'assurer que les bonnes personnes accèdent au bon contenu. Si vous avez des responsabilités d'administration au sein d'une équipe, ce sujet est essentiel. Heroku propose deux modèles de permissions : le set gratuit, disponible avec un compte Heroku basique par défaut, et le set Teams Enterprise, bien plus complet.
Set gratuit vs équipes Heroku
Dans le set gratuit, il y a un propriétaire (celui qui crée l'application) qui peut ajouter des collaborateurs. Les collaborateurs peuvent faire presque tout : changer le code, gérer les add-ons gratuits, ajuster les variables de configuration, etc. Ils possèdent quasiment les mêmes permissions que le propriétaire, à deux exceptions près : ils ne peuvent pas supprimer l'application ni toucher aux add-ons payants. Vous avez donc très peu de contrôle granulaire sur ce que les collaborateurs peuvent faire. Pour une utilisation à échelle d'entreprise, il est recommandé de créer une équipe (Team) Heroku.
Dans une équipe, appartenir à celle-ci ne donne pas automatiquement le contrôle complet sur toutes les applications. Heroku distingue les personnes des applications : par exemple, une application front-end et une back-end sont séparées. Un ingénieur front-end invité sur l'app front-end ne pourra ni voir ni modifier l'app back-end. Les rôles prédéfinis dans une équipe sont :
- Admin : comme le propriétaire, accès complet. Peut supprimer l'application et changer les add-ons. Plusieurs admins sont possibles.
- Membre : peut voir toutes les applications et les autres membres, créer de nouvelles applications pour l'équipe. Par défaut, ne peut pas modifier le code des applications déjà créées.
- Spectateur (Viewer) : peut uniquement voir les applications. Pas d'accès aux autres utilisateurs ni aux informations générales de l'équipe.
Heroku définit également quatre types de permissions par application : view, deploy, operate et manage. View permet à l'utilisateur de voir les informations de l'application, les autres utilisateurs et l'activité (changements de code, erreurs). Deploy ajoute l'accès au code, sa modification, les variables de configuration et les add-ons gratuits. Operate ajoute aux droits de deploy l'accès aux add-ons payants, le redémarrage de l'application et la gestion des dynos. Manage permet de gérer tout ce qui concerne les utilisateurs : ajouter, supprimer, changer leurs permissions, modifier le nom de l'application, le propriétaire ou supprimer l'application : c'est essentiellement un admin. En résumé : la version gratuite a beaucoup de limitations sur le contrôle des permissions, tandis qu'une équipe permet de gérer finement chaque application individuellement avec les rôles admin, membre ou spectateur. À bientôt pour la prochaine vidéo !
En résumé
Cette leçon couvre le système de permissions dans Heroku, disponible en deux versions : gratuite et entreprise. La version gratuite propose un modèle simple propriétaire-collaborateurs avec peu de contrôle granulaire, tandis que les Teams Heroku (version entreprise) permettent de gérer finement les accès par application et par rôle (admin, membre, spectateur). Les permissions spécifiques à chaque application incluent quatre niveaux : view (consultation), deploy (déploiement), operate (opérations avancées) et manage (gestion complète).
Points clés
- La version gratuite de Heroku : un propriétaire et des collaborateurs avec droits quasi-complets sauf suppression d'app et add-ons payants
- Les Teams Heroku permettent une gestion granulaire : les utilisateurs accèdent uniquement aux applications auxquelles ils sont invités (ex : un développeur front ne voit que l'app front)
- Trois rôles d'équipe : admin (accès total), member (création d'apps, accès limité), spectator (consultation uniquement)
- Quatre niveaux de permissions par application : view (lecture), deploy (changements de code), operate (gestion complète des apps et add-ons payants), manage (gestion des utilisateurs et suppression)
- L'admin est le seul rôle qui peut supprimer l'app et gérer les add-ons payants ; manage est le niveau d'app le plus complet
Questions fréquentes
Quelle est la différence entre un propriétaire Heroku gratuit et un admin dans une Team ?
Le propriétaire en version gratuite crée l'application et peut ajouter des collaborateurs qui ont presque tous les droits. L'admin d'une Team Heroku a le même accès à tout, mais l'avantage de la Team est qu'on peut assigner des permissions différentes par application et par personne (view, deploy, operate, manage).
Qu'est-ce qu'un développeur avec la permission 'deploy' peut faire exactement ?
Un utilisateur avec la permission deploy peut : voir les informations de l'application, récupérer et changer le code, accéder aux variables de configuration, et gérer les add-ons gratuits. Il ne peut pas gérer les add-ons payants ni redémarrer l'application.
Si une personne est membre d'une Team Heroku, peut-elle voir toutes les applications de l'équipe ?
Non. Un membre de l'équipe avec le rôle 'member' peut créer de nouvelles applications et voir l'équipe, mais n'aura accès à une application spécifique que si elle y est explicitement invitée. Chaque application gère ses propres permissions indépendamment.