M2 - Bases de dades / Exercicis RA2: Gestió d'usuaris

De wikiserver
Dreceres ràpides: navegació, cerca

MOLT IMPORTANT ABANS DE FER ELS EXERCICIS ORACLE 21.c alter session set "_ORACLE_SCRIPT"=true;

Llenguatge de control de dades

Activitat 1: Creació d'usuaris

1. Crea els usuaris user1, user2, i user3 amb contrasenyes password1, password2 i password3, respectivament.

Activitat 2: Creació de rols

2. Crea els rols role_admin i role_readonly.

3. Explica breument la diferència entre rols i privilegis d'objecte i com s'utilitzen en la seguretat de la base de dades.

Activitat 3: Assignació de Privilegis de Sistema

4. Assigna el privilegi CREATE SESSION a user1, user2, i user3 per permetre'ls connectar-se a la base de dades.

5. Assigna els privilegis CREATE TABLE, CREATE VIEW i CREATE SEQUENCE al rol role_admin.

Activitat 4: Atorgar privilegis de sistema amb capacitat de propagació

6. Atorga el privilegi CREATE SESSION a user2 amb l'opció de propagar-lo a altres usuaris.

7. Inicia sessió com user2 i concedeix el privilegi CREATE SESSION a user3.

8. Comprova els privilegis de sistema concedits a user3 utilitzant la vista DBA_SYS_PRIVS.

9. Revoca el privilegi CREATE SESSION de user2 i observa què passa amb user3.

10. Comprova si user3 encara té el privilegi CREATE SESSION.

11. Explica per què user3 perd el privilegi CREATE SESSION quan aquest es revoca de user2.

Activitat 5: Assignació de privilegis d'objecte

12. Crea una taula employee a l'esquema de user1 i concedeix el privilegi SELECT a user2 i user3 (Connecta't com a user1 i crea la taula, desprès connecta't com system i concedeix el privilegi).

CREATE TABLE employee (
    emp_id NUMBER PRIMARY KEY,
    emp_name VARCHAR2(50),
    address VARCHAR2(25),
    salary NUMBER);

13. Assigna el privilegi INSERT a la taula employee al rol role_admin i concedeix aquest rol a user3.

14. Atorga a user2 el privilegi SELECT només sobre la columna salary de la taula employee.

15. Atorga a user3 el privilegi UPDATE només sobre la columna address de la taula employee.

16. Comprova els privilegis concedits sobre la taula employee, incloent columnes específiques, utilitzant la vista DBA_TAB_PRIVS.

Activitat 6: Atorgar el privilegi de donar un privilegi

17. Atorga a user2 el privilegi SELECT sobre la taula employee amb l’opció de concedir aquest privilegi a altres usuaris.

18. Inicia sessió com user2 i concedeix el privilegi SELECT sobre la taula employee a user3.

19. Comprova els privilegis de user3 sobre la taula employee utilitzant el diccionari de dades.

Activitat 7: Revocació d'un privilegi amb efectes propagats

20. Revoca el privilegi SELECT de user2 sobre la taula employee i observa què passa amb user3.

21. Comprova si user3 encara pot accedir a la taula employee.

22. Explica per què user3 perd el privilegi SELECT quan aquest es revoca de user2.

Activitat 8: Assignació de privilegis a rols i usuaris

23. Concedeix el rol role_readonly a user2 i assigna-li els privilegis SELECT i UPDATE en la taula employee.

24. Crea una vista view_employee_salary per user1 que mostri només l’emp_id i salary de la taula employee. Concedeix el privilegi SELECT en aquesta vista a user3.

Activitat 9: Modificació d'usuaris i rols

25. Canvia la contrasenya de user1 a newpassword1 i afegeix el privilegi DROP TABLE al rol role_admin.

Activitat 10: Revocació de privilegis a usuaris i rols

26. Revoca el privilegi UPDATE de la taula employee del rol role_readonly.

27. Revoca el rol role_admin de user3.

Activitat 11: Consultes sobre privilegis al diccionari de dades

28. Consulta el diccionari de dades per llistar tots els privilegis de sistema assignats a user2.

29. Llista tots els privilegis d'objecte assignats al rol role_admin.

30. Llista tots els usuaris i rols que tenen el privilegi SELECT sobre la taula employee.

Activitat 12: Bloqueig i desbloqueig d'usuaris

31. Bloqueja l'usuari user1 per evitar que es pugui connectar a la base de dades.

32. Comprova l’estat de l’usuari user1 utilitzant la vista DBA_USERS.

33. Desbloqueja l'usuari user1 per permetre-li connectar-se novament.

34. Fes una consulta que llisti tots els usuaris bloquejats en la base de dades.

Activitat 13: Eliminació d'usuaris i rols

35. Elimina el rol role_readonly i els usuaris user2 i user3.

36. Elimina la taula employee i la vista view_employee_salary de l'esquema user1 (connecta't com user1).