Оператор GRANT
используется для предоставления привилегий и назначения ролей, пользователям и другим объектам базы данных.
Оператор GRANT
используется для предоставления привилегий и назначения ролей, пользователям и другим объектам базы данных.
GRANT
Предоставление привилегий или назначение ролей.
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
Параметр | Описание |
---|---|
table_name |
Имя таблицы, к которой должно быть предоставлена привилегия. |
view_name |
Имя представления, к которому должно быть предоставлена привилегия, или которому будут предоставлены привилегии. |
col |
Столбец таблицы, к которому должна быть применена привилегия. |
proc_name |
Имя хранимой процедуры, для которой должна быть выдана привилегия EXECUTE или которой будут предоставлены привилегии. |
func_name |
Имя хранимой функции (или UDF), для которой должна быть выдана привилегия EXECUTE или которой будут даны привилегии. |
package_name |
Имя пакета, для которого должна быть выдана привилегия EXECUTE или которому будут даны привилегии. |
exception_name |
Имя исключения, для которого должна быть выдана привилегия USAGE. |
generator_name |
Имя генератора (последовательности), для которого должна быть выдана привилегия USAGE. |
object_type |
Тип объекта метаданных. |
object_list |
Список объектов метаданных, которым будут даны привилегии. |
trig_name |
Имя триггера, которому будут даны привилегии. |
user_list |
Список пользователей/ролей, которым будут выданы привилегии. |
username |
Имя пользователя, для которого выдаются привилегии или которому назначается роль. |
rolename |
Имя роли. |
Unix_group |
Имя группы пользователей в операционных системах семейства UNIX.Только в Firebird Embedded. |
Unix_user |
Имя пользователя в операционной системе семейства UNIX.Только в Firebird Embedded. |
sys_privilege |
Системная привилегия. |
role_granted |
Список ролей, которые будут назначены. |
role_grantee_list |
Список пользователей, которым будут назначены роли. |
grantor |
Пользователь от имени, которого предоставляются привилегии. |
Оператор GRANT предоставляет одну или несколько привилегий для объектов базы данных пользователям, ролям, хранимым процедурам, функциям, пакетам, триггерам и представлениям.
Авторизованный пользователь не имеет никаких привилегий до тех пор, пока какие-либо права не будут предоставлены ему явно.При создании объекта только его создатель и SYSDBA имеет привилегии на него и может назначать привилегии другим пользователям, ролям или объектам.
Для различных типов объектов метаданных существует различный набор привилегий.Эти привилегии будут описаны далее отдельно для каждого из типов объектов метаданных.