DB2 - Rôles
introduction
Un rôle est un objet de base de données qui regroupe plusieurs privilèges pouvant être attribués à des utilisateurs, des groupes, PUBLIC ou d'autres rôles à l'aide de l'instruction GRANT.
Restrictions sur les rôles
- Un rôle ne peut pas posséder d'objets de base de données.
- Les autorisations et les rôles accordés aux groupes ne sont pas pris en compte lorsque vous créez les objets de base de données suivants.
- Package contenant du SQL statique
- Views
- Tables de requêtes matérialisées (MQT)
- Triggers
- Routines SQL
Créer et accorder l'appartenance à des rôles
Syntax: [Pour créer un nouveau rôle]
db2 create role <role_name>
Example: [Pour créer un nouveau rôle nommé 'ventes' pour ajouter une table à gérer par un utilisateur ou un groupe]
db2 create role sales
Output:
DB20000I The SQL command completed successfully.
Attribution d'un rôle de DBADM à une table particulière
Syntax: [Pour accorder l'autorisation d'un rôle à une table]
db2 grant select on table <table_name> to role <role_name>
Example: [Pour ajouter l'autorisation de gérer une table 'shope.books' au rôle 'sales']
db2 grant select on table shope.books to role sales
Output:
DB20000I The SQL command completed successfully.
L'administrateur de sécurité accorde le rôle aux utilisateurs requis. (Avant d'utiliser cette commande, vous devez créer les utilisateurs.)
Syntax: [Pour ajouter des utilisateurs à un rôle]
db2 grant role <role_name> to user <username>
Example: [Pour ajouter un utilisateur 'mastanvali' à un rôle 'ventes']
db2 grant sales to user mastanvali
Output:
DB20000I The SQL command completed successfully.
Hiérarchies des rôles
Pour créer une hiérarchie pour les rôles, chaque rôle se voit accorder des autorisations / appartenance à un autre rôle.
Syntax: [avant cette syntaxe, créez un nouveau rôle avec le nom de "production"]
db2 grant role <roll_name> to role <role_name>
Example: [Pour donner l'autorisation d'un rôle "ventes" à un autre rôle "production"]
db2 grant sales to role production