Vous pouvez regrouper les privilèges système et objet à l'aide de rôles, puis attribuer ces rôles aux utilisateurs et à d'autres rôles. De cette façon, vous pouvez accorder les privilèges que les rôles contiennent aux utilisateurs en masse, ce qui simplifie l'administration de la sécurité (Voir "Autorisation de privilège et de rôle" dans Concepts de base de données).
L'utilisateur SCOTT
peut accorder le privilège objet, le privilège système ou un rôle à un autre utilisateur ou rôle s'il a reçu ce privilège ou ce rôle WITH ADMIN OPTION
ou WITH GRANT OPTION
. Par exemple, le rôle select_hr
a des privilèges pour interroger certaines tables appartenant à l'utilisateur HR
:
create role select_hr;
grant select on hr.employees to select_hr;
grant select on hr.departments to select_hr;
Vous pouvez maintenant attribuer ce rôle à SCOTT
de cette façon :
grant select_hr to scott with admin option;
SCOTT
est désormais capable d'attribuer ce rôle à d'autres utilisateurs de la base de données avec ou sans option d'administration :
grant select_hr to bob;