box.schema.user.grant()
-
box.schema.user.
grant
(user-name, privileges, object-type, object-name[, {options}])¶ -
box.schema.user.
grant
(user-name, privileges, 'universe'[, nil, {options}]) -
box.schema.user.
grant
(user-name, role-name[, nil, nil, {options}]) Выдача прав пользователю или другой роли.
Параметры: - user-name (
string
) – имя пользователя - privileges (
string
) – „read“ или „write“ или „execute“ или „create“ или „alter“ или „drop“ или их комбинация. - object-type (
string
) – „space“ (спейс) или „function“ (функция), или „sequence“ (последовательность), или „role“ (роль). - object-name (
string
) – имя объекта, для которого выдаются права. - role-name (
string
) – имя роли, которая выдается пользователю. - options (
table
) –grantor
,if_not_exists
.
Если указана
'function','object-name'
, то должен существовать кортеж _func с этим именем объекта.Вариант: вместо
object-type, object-name
введите „universe“, что означает „все типы объектов и все объекты“. В этом случае имя объекта будет опущено.Вариант: вместо
privilege, object-type, object-name
введитеrole-name
(см. Roles)Вариант: вместо
box.schema.user.grant('user-name','usage,session','universe',nil,
{if_not_exists=true})
введитеbox.schema.user.enable('user-name')
.Возможны следующие опции:
grantor
= grantor_name_or_id – строка или число, для пользователя, который выдает права,if_not_exists
=true|false
(default =false
) - boolean;true
означает, что ошибки не должно быть, если пользователь уже имеет права.
Пример:
box.schema.user.grant('Lena', 'read', 'space', 'tester') box.schema.user.grant('Lena', 'execute', 'function', 'f') box.schema.user.grant('Lena', 'read,write', 'universe') box.schema.user.grant('Lena', 'Accountant') box.schema.user.grant('Lena', 'read,write,execute', 'universe') box.schema.user.grant('X', 'read', 'universe', nil, {if_not_exists=true})
- user-name (