Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿

From: Gunnar Wolf <gwolf(at)gwolf(dot)org>
To: juanramirez <juanramirez(at)cajazacate(dot)com(dot)sv>
Cc: Jaime Casanova <jaime(at)2ndquadrant(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿
Date: 2011-01-21 00:23:26
Message-ID: 20110121002326.GC12512@gwolf.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

juanramirez dijo [Thu, Jan 20, 2011 at 08:17:58AM -0600]:
> En mi ejemplo no llegue a ser explícito porque no era necesario, con la
> idea que expuse es fácil decir que resulta muy trivial esa necesidad.
>
> Hay momentos en que la Auditoría informática, se vuelve muy agresiva. La
> idea que yo expuse es un caso verídico de un banco nacional acá en mi
> país. Las cuentas de los empleados son monitoreadas bajo esa filosofía.
> Si X o Y ejecutiva de cuentas consultaba los saldos de "mis" cuentas de
> ahorro(bajo el concepto que se tratan de cuentas de empleados de la
> empresa), en mi escritorio de trabajo(hablando del sistema informático)
> se mostraba quién había estado consultando mis cuentas.
>
> Imagínate la necesidad de un gerente de una agencia a 100 km de
> distancia de donde se están consultando las cuentas?
>
> Ese es el caso real. Ahora mi intención es competir contra un sistema ya
> creado y mejorar las opciones que ya posee. Del sistema que hablo esta
> esa validación en el aplicativo (tal como lo sugirió alguién por acá).
> Yo quiero llegar mas allá, habilitándole la opción en una RULE de la
> vista.

Ugh... si bien tu necesidad está indudablemente basada en la
realidad... Por ese camino puedes llegar a la locura. Si a toda
consulta le agregas una segunda consulta, el rendimiento se te puede
ir muuuuuy al suelo. Y también, cuando abusas de las reglas puedes
caer sin demasiada dificultad en una situación de dos reglas que
compitan por hacer lo mismo, o que se disparen mutuamente.

Desconozco las sutilezas de las reglas, pero... ¿Qué pasa si..

• Abro una transacción
• Hago un select
• Hago rollback

..?

¿Se registra o no?

Ahora, dejando eso de lado... Yo te recomiendo solucionarlo de otra
manera. No solo por el golpe que esto daría al rendimiento, sino para
tener una separación completa que asegure que un usuario de sistema no
tenga acceso a las bitácoras de auditoría. Yo te sugiero -si puedes
implementarlo, porque es algo no-trivial que hay que hacer en el
momento justo- que la interfaz a "vigilar" no sea directamente la BD,
sino un API de acceso. Aunque tengas muchas aplicaciones, si puedes
estandarizar que todas se conecten a la BD a través de determinada
biblioteca/facilidad/blá, puedes incrustar en ésta la inteligencia de
seguimiento de bitácoras.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gunnar Wolf 2011-01-21 00:30:48 Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿
Previous Message Edwin Quijada 2011-01-20 22:33:39 RE: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿