Dans l'entreprise pour laquelle je travaille, les ingénieurs devops (actuellement seulement 2 membres, qui sont moi et un autre collègue) sont les seules personnes qui ont accès à la base de données de production.
Ainsi, lorsque d'autres développeurs doivent exécuter une requête MySQL sur la base de données de production. Ils enverraient la requête aux 2 ingénieurs pour les laisser l'exécuter.
Voici les situations où nous devons exécuter des commandes dans la base de données de production:
La base de données contient des données corrompues, qui produisent des bogues. Ils exécutent des commandes pour corriger les bugs.
Un bug est signalé. Et ils veulent voir les valeurs actuelles dans la base de données.
Un de nos clients souhaite modifier ses données. Mais notre application Web n'a pas la possibilité de faire la modification. Nous devons donc envoyer des commandes MySQL directement à la base de données pour répondre aux exigences du client.
L'équipe QA a créé des comptes de test sur l'environnement de production. Et ils veulent changer le statut du compte pour pouvoir faire d'autres tests.
Cela crée beaucoup d'interruptions pour moi l'autre collègue. Lorsque nous développons des programmes pendant la journée, nous devons souvent changer de contexte juste pour exécuter certaines requêtes.
Je ne pense pas que ce soit une bonne architecture pour l'entreprise. Comment contrôlez-vous les autorisations d'accès à l'environnement de production dans votre entreprise?
Notre base de données de production se compose d'informations sensibles sur les clients. Si les données étaient divulguées, notre entreprise pourrait être condamnée à une amende de plusieurs millions de dollars.
how do I get devs to stop bugging me to run arbitrary SQL commands
. Je pense que je peux utiliser ProxySQL pour masquer les données clients sensibles afin que d'autres développeurs puissent lire la base de données de production.