Accesso diretto ai database

22

Alcuni dei dipendenti non DBA come gli sviluppatori (per la gestione delle crisi), gli analisti fraudolenti (con autorizzazioni di sola lettura) (solo con autorizzazioni di lettura) e altri ancora hanno bisogno dell'accesso diretto ai database per scrivere le proprie query. Non posso ridurre i permessi e sono approvati dalla direzione. Ogni volta che hanno bisogno di una query diversa e non posso limitarli a metodi programmatici predefiniti.

Requisiti PCI DSS Statistiche 8.7.b "Solo gli amministratori di database possono accedere o interrogare direttamente i database"

Come posso soddisfare ancora questo requisito? Sono i loro eventuali controlli compensativi rilevanti che puoi suggerire?

    
posta BokerTov 28.09.2016 - 13:36
fonte

3 risposte

33

Some of the non DBA workers (DEV, Fraud, analysts ... ) in my organization need direct access to databases to write their own queries.

...

PCI DSS requirement 8.7 stats "Only database administrators have the ability to directly access or query databases"

Il modo usuale per gestirli è creare una versione del database, con dati PAN e altri dati sensibili, rimossa o sostituita. Questo database sfregato è al di fuori dell'ambito PCI e può essere interrogato direttamente dalle persone che descrivi.

(Le persone fraudolente potrebbero aver bisogno di accedere ai dati PAN per i loro lavori ... ma non riescono a utilizzare le query in forma libera per questo, si scrive un'applicazione che fornisce l'accesso ai dati nel vero database di cui hanno bisogno attraverso query preformate).

Per sviluppatori e analisti, la versione ripulita dovrebbe essere sufficiente per le loro esigenze.

Potresti anche considerare la questione delle PII. Gli analisti della scienza dei dati hanno bisogno di accedere a quel livello di dettaglio; gli sviluppatori non possono. Questo è al di fuori dei requisiti DSS, tuttavia.

Ci sono un paio di inconvenienti a questo metodo:

  1. A seconda delle dimensioni del database di origine, lo scrub può essere costoso in termini di tempo e risorse.
  2. Gli indici delle tabelle, che derivano dalla cardinalità dei dati, verranno modificati quando si rimuovono o si sostituiscono colonne indicizzate (come PAN), il che significa che le misurazioni delle prestazioni rispetto al database "scrubbinato" non saranno 1: 1 equivalente a il database "reale".
risposta data 28.09.2016 - 14:12
fonte
9

AFAIK, non puoi. Se si desidera essere conformi al PCI DSS, né gli sviluppatori né gli analisti devono accedere direttamente al database di produzione.

Una volta che è stato detto, dovresti chiederti perché hanno bisogno di un accesso diretto al database production . Gli sviluppatori normalmente dovrebbero essere soddisfatti da un database di sviluppo contenente dati falsi, a condizione che la dimensione sia coerente per i test delle prestazioni. Un analista dovrebbe avere estratti del database prod in una base privata per eseguire le sue query. Potresti anche chiedertti se una soluzione di BI non sarebbe possibile in questo modo: Database Prod - > ETL - > Database BI

In effetti è più complesso che consentire gli accessi diretti, ma la sicurezza (e le certificazioni ...) ha un costo solo

    
risposta data 28.09.2016 - 15:24
fonte
-1

Ho appena cercato PCI (settore delle carte di pagamento)
OK, hai alcuni dati sensibili

La porta del database (ad es. 1433) non dovrebbe nemmeno essere aperta al mondo esterno

Non penso che dargli accesso in lettura a una vista soddisfi il regolamento

Vorrei provare a dare loro un'applicazione con una strong ricerca sfaccettata in cui si utilizzano solo query parametrizzate.

Potrebbero volere un accesso diretto, ma questo significa che lo otterranno.

Quello che faccio è avere una tabella di visualizzazioni che possono essere eseguite. Creo la vista e inserisco il nome nella tabella con una descrizione. L'app leggerà la tabella in modo che ora sia solo un nuovo rapporto che possono essere eseguiti. Non eseguono direttamente View: l'app esegue la vista e riporta i risultati. Ma in un certo senso stai rilasciando direttamente in Dev, il che è piuttosto pericoloso.

    
risposta data 28.09.2016 - 19:43
fonte

Leggi altre domande sui tag