Pregunta

¿Por qué un usuario necesita privilegios sobre su propio esquema para crear paquetes y activadores?

¿Fue útil?

Solución

¿Está preguntando por qué los usuarios necesitan privilegios particulares (es decir, CREAR TABLA, CREAR PROCEDIMIENTO, etc.) para crear tipos particulares de objetos en su propio esquema?

Si es así, la respuesta natural sería que la buena seguridad comienza con el principio de privilegio mínimo, es decir, un usuario solo debe tener esos privilegios que realmente necesitan para hacer su trabajo y no más. Los DBA con frecuencia desean crear cuentas de solo lectura para los usuarios en la base de datos de producción (los analistas de negocios, por ejemplo, a menudo necesitan hacer diferentes tipos de informes ad hoc, los desarrolladores pueden necesitar acceso para solucionar ciertos tipos de problemas, etc.). Si un usuario siempre pudiera crear objetos en su propio esquema, esos usuarios de solo lectura podrían implementar código en la base de datos de producción sin pasar por el control de cambios o incluso probar necesariamente cualquier cosa. Y eso generalmente lleva a una proliferación en el código haciendo básicamente lo mismo (es decir, una docena de analistas tienen cada uno un procedimiento para calcular el impuesto a las ventas en sus propios esquemas) pero cada uno tiene su propia firma, lógica, requisitos, suposiciones, etc. Y no permita que uno de esos analistas sea despedido porque el DBA naturalmente eliminaría su cuenta, solo para descubrir que algún informe crucial dependía del código que solo existía en el esquema de ese analista.

Otros consejos

No puedo darte el " oficial " Responda, pero puedo probar el razonamiento detrás de cómo funciona. En el proyecto en el que trabajo, los Desarrolladores de Oracle son los que implementan los activadores y los paquetes en el esquema de la base de datos. Pero tenemos otros equipos de desarrolladores y probadores de Java, etc. Una vez que el esquema se migre a los entornos de Prueba y luego a los de Producción, no queremos que los probadores o las aplicaciones del usuario final puedan modificar arbitrariamente los activadores y paquetes asociados con ese esquema, ya que podría invalidar la integridad de cualquier prueba que estén realizando (o causar problemas aún peores en el sistema de producción).

Por lo tanto, dentro de los entornos de prueba / producción, desea que los evaluadores, los desarrolladores de Java y la aplicación del usuario final puedan leer y escribir datos en el esquema, pero no modificar los activadores y los paquetes que abarcan el código de referencia. .

  

¿Por qué un usuario necesita privilegios sobre   su propio esquema para crear paquetes y   desencadena   Ellos no.

Su propio esquema implica la propiedad (o espacio de nombres) definido por username.object Todo lo que un usuario necesita para crear un disparador en su propio esquema es: una mesa en su propio esquema el privilegio de creación de disparos

Todo lo que un usuario necesita para crear un paquete en su propio esquema es: el privilegio de crear paquete

Si el usuario desea crear objetos en otro esquema o que haga referencia a otros objetos, o que requiera almacenamiento en un espacio de tablas, necesitará permisos sobre esos objetos extraños.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top