Nella società per cui lavoro, gli ingegneri di Devops (attualmente solo 2 membri, che sono io e un altro collega) sono le uniche persone che hanno accesso al database di produzione.
Quindi, quando qualsiasi altro sviluppatore deve eseguire una query MySQL sul database di produzione. Avrebbero inviato la query ai 2 ingegneri per consentire loro di eseguirla.
Ecco le situazioni in cui è necessario eseguire comandi nel database di produzione:
Il database contiene dati danneggiati, che producono bug. Eseguono comandi per correggere i bug.
È stato segnalato un bug. E vogliono vedere i valori correnti all'interno del database.
Uno dei nostri clienti desidera modificare i propri dati. Ma la nostra applicazione web non ha la possibilità di effettuare la modifica. Quindi dobbiamo inviare i comandi MySQL direttamente al database per completare i requisiti del cliente.
Il team addetto al controllo qualità ha creato account di prova nell'ambiente di produzione. E vogliono cambiare lo stato dell'account in modo da poter fare altri test.
Questo crea molte interruzioni per me l'altro collega. Quando sviluppiamo programmi durante il giorno, spesso dobbiamo cambiare contesto solo per eseguire alcune query.
Non penso che questa sia una buona architettura per l'azienda. Come controlli le autorizzazioni per l'ambiente di produzione nella tua azienda?
Il nostro database di produzione è costituito da informazioni sensibili dei clienti. Se i dati venissero divulgati, la nostra azienda potrebbe essere multata per milioni di dollari.
how do I get devs to stop bugging me to run arbitrary SQL commands
. Penso di poter usare ProxySQL per mascherare i dati sensibili dei clienti in modo che altri sviluppatori possano leggere il database di produzione.