Come dovrei gestire i servizi di test che non si connettono al DB di produzione?

3

Voglio verificare che i miei servizi (utilizzati per raccogliere dati dal database e gestirli in base alla logica) non si colleghino al database di produzione che può causare la perdita di dati. la mia prima idea era quella di contrassegnare il servizio con il suo file di configurazione con la proprietà Enviroment e verificarlo rispetto ai dati di DB, ma il nostro database di ambiente QA sta replicando i suoi dati dal DB di produzione, quindi non posso fare affidamento sui dati del database.

    
posta user437631 28.06.2015 - 16:39
fonte

2 risposte

1

Un numero di opzioni:

  1. Usando il firewall, blocca qualsiasi cosa dall'accesso al database di produzione tranne alcuni server consentiti. Questo dovrebbe essere fatto sempre in produzione.
  2. Definire la configurazione di produzione sul server di produzione e non controllarlo nel controllo del codice sorgente. Il controllo del codice sorgente deve conservare solo il file di configurazione dello sviluppo con le stringhe di connessione di sviluppo.
  3. Utilizzare ruoli diversi nel database per ambienti diversi. Dì service-dev e service-prod. Con service-dev non hai accesso alla produzione.
risposta data 30.06.2015 - 00:00
fonte
0

Dipenderà dalla lingua che stai usando, ma dovresti avere una configurazione per il debug e una per la produzione.

Puoi concentrarti sull'assicurare che la configurazione errata non sia mai stata distribuita con il tuo progetto, non puoi mai eseguire il progetto sullo stesso server in cui si trova il database (supponendo che tu abbia disabilitato le connessioni DB remote), oppure puoi assicurarti che la configurazione errata non può connettersi al tuo sito di produzione.

Suggerirei semplicemente di avere una password diversa sul sito di produzione nel sito di debug, quindi se l'applicazione di test tenta accidentalmente di connettersi al server di produzione, otterrà un errore di accesso negato.

In genere puoi farlo svolgendo un ruolo diverso. Per la nostra configurazione, utilizziamo l'autenticazione di Windows sui server di debug / test, ma live richiede un utente di database specifico con una password e l'autenticazione di Windows non funziona. Ciò significa che non esiste alcun modo in cui altro che il codice di produzione possa colpire il server / database di produzione.

    
risposta data 30.06.2015 - 00:05
fonte

Leggi altre domande sui tag