GRANT
Accorder des privilèges ou assigner des rôles.
DSQL
GRANT <privileges> TO <grantee_list> [WITH GRANT OPTION] [{GRANTED BY | AS} [USER] grantor] <privileges> ::= <table_privileges> | <execute_privilege> | <usage_privilege> | <ddl_privileges> | <db_ddl_privilege> <table_privileges> ::= {ALL [PRIVILEGES] | <table_privilege_list> } ON [TABLE] {table_name | view_name} <table_privilege_list> ::= <table_privilege> [, <tableprivilege> ...] <table_privilege> ::= SELECT | DELETE | INSERT | UPDATE [(col [, col ...])] | REFERENCES [(col [, col ...])] <execute_privilege> ::= EXECUTE ON { PROCEDURE proc_name | FUNCTION func_name | PACKAGE package_name } <usage_privilege> ::= USAGE ON { EXCEPTION exception_name | {GENERATOR | SEQUENCE} sequence_name } <ddl_privileges> ::= {ALL [PRIVILEGES] | <ddl_privilege_list>} <object_type> <ddl_privilege_list> ::= <ddl_privilege> [, <ddl_privilege> ...] <ddl_privilege> ::= CREATE | ALTER ANY | DROP ANY <object_type> ::= CHARACTER SET | COLLATION | DOMAIN | EXCEPTION | FILTER | FUNCTION | GENERATOR | PACKAGE | PROCEDURE | ROLE | SEQUENCE | TABLE | VIEW <db_ddl_privileges> ::= {ALL [PRIVILEGES] | <db_ddl_privilege_list>} {DATABASE | SCHEMA} <db_ddl_privilege_list> ::= <db_ddl_privilege> [, <db_ddl_privilege> ...] <db_ddl_privilege> ::= CREATE | ALTER | DROP <grantee_list> ::= <grantee> [, <grantee> ...] <grantee> ::= PROCEDURE proc_name | FUNCTION func_name | PACKAGE package_name | TRIGGER trig_name | VIEW view_name | ROLE role_name | [USER] username | GROUP Unix_group | PUBLIC | <sys_privileges> <sys_privileges> ::= SYSTEM PRIVILEGE <sys_privileges_list> <sys_privileges_list> ::= <sys_privilege> [, <sys_privilege> [, <sys_privilege> ...]]
GRANT <role_granted> TO <role_grantee_list> [WITH ADMIN OPTION] [{GRANTED BY | AS} [USER] grantor] <role_granted> ::= [DEFAULT] role_name [, [DEFAULT] role_name ...] <role_grantee_list> ::= <role_grantee> [, <role_grantee> ...] <role_grantee> ::= [USER] username | [ROLE] grantee_role_name
Paramètre | Description |
---|---|
table_name |
Le nom de la table à laquelle le privilège doit être accordé. |
view_name |
Le nom de la soumission à laquelle le privilège doit être accordé, ou à laquelle le privilège sera accordé. |
col |
La colonne de la table à laquelle le privilège doit être appliqué. |
proc_name |
Nom de la procédure stockée pour laquelle le privilège EXECUTE doit être délivré ou à laquelle le privilège sera accordé. |
func_name |
Nom de la fonction stockée (ou UDF) qui doit recevoir le privilège EXECUTE ou qui recevra des privilèges. |
package_name |
Le nom du paquet auquel sera attribué le privilège EXECUTE ou auquel le privilège sera attribué. |
exception_name |
Le nom de l’exception pour laquelle le privilège USAGE doit être délivré. |
generator_name |
Le nom du générateur (séquence) pour lequel le privilège USAGE doit être émis. |
object_type |
Le type d’objet de métadonnées. |
object_list |
Une liste d’objets de métadonnées qui recevront des privilèges. |
trig_name |
Le nom du déclencheur auquel le privilège doit être accordé. |
user_list |
Une liste d’utilisateurs/rôles auxquels des privilèges doivent être accordés. |
username |
Le nom de l’utilisateur pour lequel des privilèges sont accordés ou auquel un rôle est attribué. |
rolename |
Nom du rôle. |
Unix_group |
Nom du groupe d’utilisateurs dans les systèmes d’exploitation de la famille UNIX. Seulement dans Firebird Embedded. |
Unix_user |
Nom d’utilisateur dans un système d’exploitation de la famille UNIX. Seulement dans Firebird Embedded. |
sys_privilege |
Privilège du système. |
role_granted |
Une liste des rôles à attribuer. |
role_grantee_list |
Une liste d’utilisateurs qui se verront attribuer des rôles. |
grantor |
Un utilisateur au nom duquel des privilèges sont accordés. |
L’instruction GRANT
accorde un ou plusieurs privilèges pour des objets de base de données à des utilisateurs, des rôles, des procédures stockées, des fonctions, des packages, des déclencheurs et des vues.
Un utilisateur autorisé ne dispose d’aucun privilège tant que des droits ne lui sont pas explicitement accordés. Lorsqu’un objet est créé, seuls son créateur et SYSDBA disposent de privilèges sur celui-ci et peuvent attribuer des privilèges à d’autres utilisateurs, rôles ou objets.
Il existe un ensemble différent de privilèges pour les différents types d’objets de métadonnées. Ces privilèges seront décrits ci-dessous séparément pour chaque type d’objet de métadonnées.