Seguridad - Ejercicios Miguel Rodríguez Penabad Laboratorio de Bases de Datos Universidade da Coruña (Nota: Este documento es una traducción del original en gallego del mismo autor. Puede no estar completamente actualizado. Fecha traducción: 17/03/2010.) Seguridad - Ejercicios 1 / 4 Exercicio 1 Considera la siguiente secuencia de sentencias. Para cada una se antepone el usuario que la ejecuta. (U1 es el creador de la tabla T) 1 2 3 4 (U1) (U2) (U1) (U3) grant select on T to U2 with grant option; grant select on T to U3 with grant option; revoke select on T from U3; select * from T; 1. La sentencia 2 falla. 2. La sentencia 3 falla. 3. La sentencia 4 falla. Seguridad - Ejercicios 2 / 4 Exercicio 2 Sean r1 y r2 dos roles. Considera la siguiente secuencia de sentencias: grant r1 to r2 grant r1 to usuario grant r2 to usuario revoke r1 from usuario 1. El usuario mantiene los permisos del rol r1. 2. El usuario pierde los permisos del rol r1. 3. La primera sentencia falla, ya que no se puede hacer grant de un role a otro role. Seguridad - Ejercicios 3 / 4 Exercicio 3 Examina la siguiente secuencia de sentencias. 1. 2. 3. 4. 5. 6. 7. 8. 9. (DBA) CREATE USER usuario IDENTIFIED BY "clave"; (DBA) GRANT CONNECT TO usuario; (DBA) GRANT SELECT ON tabla TO usuario; (usuario) CONNECT usuario/clave; (DBA) REVOKE CONNECT FROM usuario; (usuario) SELECT * FROM DBA.taboa; (DBA) REVOKE SELECT ON tabla FROM usuario; (usuario) SELECT * FROM DBA.tabla; (usuario) CONNECT usuario/clave; 1. Falla la sentencia 6 porque el usuario se desconecta al perder el permiso de conexión. 2. Falla la sentencia 8 porque el usuario ya no puede acceder a la tabla. 3. Falla la sentencia 9 porque el usuario perdió el permiso de conexión. Seguridad - Ejercicios 4 / 4