Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

box.schema.user.grant()

box.schema.user.grant(username, permissions, object-type, object-name[, {options}])

box.schema.user.grant(username, permissions, 'universe'[, nil, {options}])

box.schema.user.grant(username, role-name[, nil, nil, {options}])

Выдача прав пользователю или роли.

Параметры:

  • username (string) — имя пользователя, которому предоставляются права
  • permissions (string) — одно или несколько прав, предоставляемых пользователю (например, read или read,write)
  • object-type (string) — тип объекта базы данных, которому предоставляются права (например, space, role или function)
  • object-name (string) — имя объекта базы данных, которому предоставляются права
  • role-name (string) — имя роли, предоставляемой пользователю
  • options (table) — grantor, if_not_exists

Пользователь и объект должны существовать.

Вариант: вместо object-type, object-name укажите universe, что означает «все типы объектов и все объекты». В этом случае имя объекта опускается.

Вариант: вместо permissions, object-type, object-name укажите role-name (см. раздел Роли).

Вариант: вместо box.schema.user.grant('{username}','usage,session','universe',nil, {if_not_exists=true}) используйте box.schema.user.enable('{username}') (см. раздел box.schema.user.enable).

Возможные опции:

  • grantor = grantor_name_or_id — строка или число, для явного указания предоставляющего права
  • if_not_exists = true|false (по умолчанию = false) — логическое значение; true означает, что ошибка не возникает, если у пользователя уже есть это право.
box.schema.user.grant('alice', 'read,write', 'space', 'books')

См. также: access_control_users.