Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Roles de usuario en MySQL con Stored Procedures

Estas en el tema de Roles de usuario en MySQL con Stored Procedures en el foro de Mysql en Foros del Web. Buenas de nuevo! Queria saber si por ejemplo, en este Stored Procedure de ejemplo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código sql: Ver original CREATE PROCEDURE getLastPosts ( ) ...
  #1 (permalink)  
Antiguo 06/09/2009, 17:40
Avatar de thesixhalcon  
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid (España)
Mensajes: 55
Antigüedad: 16 años, 5 meses
Puntos: 1
Roles de usuario en MySQL con Stored Procedures

Buenas de nuevo!
Queria saber si por ejemplo, en este Stored Procedure de ejemplo:
Código sql:
Ver original
  1. CREATE PROCEDURE getLastPosts()
  2. SELECT *
  3. FROM posts
  4. ORDER BY creado
  5. LIMIT 0, 5;
¿El usuario de la base de datos tendría que tener permisos para hacer un SELECT? Es decir, si un Stored Procedure sirve para añadir (INSERT) una serie de datos, ¿el usuario requiere los permisos para hacer lo que se está haciendo dentro del Stored Procedure, es este caso INSERT's? o solo requiere los permisos para llamar (CALL) a ese Stored Procedure? En este último caso, cual sería los roles necesarios para el usuario?
Resumiendo, no se si el Stored Procedure, se ejecuta como un alias a una sentencia de comandos SQL por parte del usuario o si se ejecuta como un alias a una serie de comandos SQL que se ejecutan en el propio servidor.

Gracias y un saludo.
__________________
Respondo a MP, si de verdad es necesario. No pidas que te den el código hecho, pide el método y aprende de él.
lowsession.com - ¡La noche es tuya!
  #2 (permalink)  
Antiguo 06/09/2009, 19:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Roles de usuario en MySQL con Stored Procedures

Un SP es una forma de realizar operaciones DML de forma segura con usuarios de bajo nivel de privilegios. No requiere de parte del usuario permisos de INSERT, DELETE o DROP, pero si requiere permisos de EXECUTE y acceso a las rutinas.
Se consideran más seguros que darle a un usuario esos permisos por la simple razón de que tener permisos de EXECUTE sólo permite que el usuario introduzca y reciba parámetros, pero no le da permisos de modificar la rutina del SP, por lo que en realidad su nivel de privilegios es muy limitado.
Por otra parte, hay que recordar que el permiso de uso de SP no se otorga dentro del GRANT ALL PRIVILEGES, sino que debe realizarse específicamente, con lo que el sólo acto de otorgar los privilegios de acceso a rutinas almacenadas está restringido sólo a los usuarios de alto nivel.
Por ello son muy recomendables para mantener las bases seguras, además de no ser susceptibles al SQL injection.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/09/2009, 07:32
Avatar de thesixhalcon  
Fecha de Ingreso: noviembre-2007
Ubicación: Madrid (España)
Mensajes: 55
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Roles de usuario en MySQL con Stored Procedures

Buenísima explicación gnzsoloyo, tenia una pequeña idea, pero no tan específica.
Duda resuelta.

Muchas gracias.
__________________
Respondo a MP, si de verdad es necesario. No pidas que te den el código hecho, pide el método y aprende de él.
lowsession.com - ¡La noche es tuya!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:59.