web-dev-qa-db-fra.com

Accès direct aux bases de données

Certains des employés non-DBA comme les développeurs (pour la gestion des crises), les analystes de la fraude (avec autorisations de lecture uniquement) (avec les autorisations de lecture uniquement) et quelques autres qui ont besoin d'un accès direct aux bases de données pour écrire leurs propres requêtes. Je ne peux pas réduire les autorisations et elles sont approuvées par la direction. Chaque fois qu'ils ont besoin d'une requête différente et je ne peux pas les limiter aux méthodes programmatiques pré-construites.

PCI DSS exigence 8.7.b stats "Seuls les administrateurs de bases de données ont la possibilité d'accéder directement aux bases de données ou de les interroger"

Comment puis-je encore remplir cette exigence? Pouvez-vous suggérer leurs contrôles compensatoires pertinents?

22
BokerTov

Certains des employés non DBA (DEV, Fraude, analystes ...) de mon organisation ont besoin d'un accès direct aux bases de données pour écrire leurs propres requêtes.

...

PCI DSS exigence 8.7 stats "Seuls les administrateurs de base de données ont la possibilité d'accéder directement aux bases de données ou de les interroger"

La manière habituelle de gérer cela est de créer une version nettoyée de la base de données, avec PAN et autres données sensibles, supprimées ou remplacées. Cette base de données nettoyée est alors hors de portée PCI, et peut être interrogé directement par les personnes que vous décrivez.

(Les personnes frauduleuses peuvent avoir besoin d'accéder aux données PAN pour leur travail ... mais elles ne peuvent pas utiliser de requêtes de forme libre pour cela, vous écrivez une application qui donne accès aux données dans la vraie base de données dont ils ont besoin via des requêtes pré-formées).

Pour les développeurs et les analystes, la version nettoyée devrait être suffisante pour leurs besoins.

Vous voudrez peut-être également examiner la question des PII. Les analystes de la science des données doivent avoir accès à ce niveau de détail; les développeurs ne le peuvent pas. C'est en dehors des exigences DSS, cependant.

Il y a quelques inconvénients à cette méthode:

  1. Selon la taille de la base de données source, le nettoyage peut être coûteux en temps et en ressources.
  2. Les index de table, qui découlent de la cardinalité des données, seront modifiés lorsque vous supprimez ou remplacez des colonnes indexées (telles que PAN), ce qui signifie que les mesures de performances par rapport à la base de données "nettoyée" ne seront pas 1: 1 équivalentes au "réel" " base de données.
33
gowenfawr

AFAIK, vous ne pouvez pas. Si vous souhaitez être conforme à la norme PCI DSS, ni les développeurs ni les analystes ne doivent accéder directement à la base de données de production.

Une fois cela dit, vous devriez vous demander pourquoi ils ont besoin d'un accès direct à la base de données production. Les développeurs devraient normalement être satisfaits par une base de données de développeurs contenant de fausses données, à condition que la taille soit cohérente pour les tests de performances. Un analyste doit avoir des extraits de la base de données prod dans une base privée pour effectuer ses requêtes. Vous pourriez même vous demander si une solution BI ne serait pas un moyen possible ici: Prod database -> ETL -> BI database

C'est en effet plus complexe que de permettre des accès directs, mais la sécurité (et les certifications ...) n'a de coût que

9
Serge Ballesta