Il mio team crea un prodotto (software di gestione aziendale) che i nostri clienti installano sui propri server. Il prodotto utilizza un database SQL per l'archiviazione dei dati e la configurazione delle app.
Ci sono stati parecchi casi in cui qualcosa di strano è accaduto nel database del cliente (causato da bug nella nostra app e talvolta anche da amministratori che hanno problemi con il database). Per capire cosa c'è di sbagliato con i dati, dobbiamo inviare script SQL al cliente e dire loro come eseguirli sul server del database. Quindi, una volta che sappiamo come risolverlo, dobbiamo inviare un altro script per riparare i dati.
C'è un modo sicuro per aggiungere una pagina nella nostra applicazione che permetta a un amministratore dell'applicazione di inserire script SQL che leggono e scrivono direttamente nel database? Il nostro team di supporto potrebbe utilizzarlo per aiutare i clienti a eseguire questi script, senza richiedere l'accesso diretto al server SQL.
La mia grande preoccupazione è che qualcuno possa abusare di questo potere per ottenere dati che non dovrebbero avere e forse per cancellare o modificare i dati che non dovrebbero essere in grado di modificare. Non sono preoccupato per gli amministratori di sistema, perché potrebbero trovare un altro modo per fare la stessa cosa. Ma cosa succede se qualcun altro ha avuto accesso al modulo? C'è un modo per fare questo genere di cose in sicurezza?