Top.Mail.Ru
box.schema.role.grant() | Tarantool
Tarantool
Узнайте содержание релиза 2.8

box.schema.role.grant()

box.schema.role.grant()

box.schema.role.grant(role-name, privilege, object-type, object-name[, option])
box.schema.role.grant(role-name, privilege, 'universe'[, nil, option])
box.schema.role.grant(role-name, role-name[, nil, nil, option])

Выдача прав роли.

Параметры:
  • role-name (string) – имя роли.
  • privilege (string) – „read“ или „write“ или „execute“ или „create“ или „alter“ или „drop“ или их комбинация.
  • object-type (string) – „space“ или „function“ или „sequence“ или „role“.
  • object-name (string) – имя функции, спейса, последовательности или роли.
  • option (table) – if_not_exists (если отсутствует) = true|false (правда/ложь, по умолчанию ложь) - логическое значение boolean; true (правда) означает, что ошибка не выпадет, если у роли уже есть права.

Должна существовать роль, должен существовать объект.

Вариант: вместо тип-объекта, имя-объекта введите „universe“, что означает „все типы объектов и все объекты“. В этом случае имя объекта будет опущено.

Вариант: вместо privilege, object-type, object-name введите role-name, чтобы назначить роль для роли.

Пример:

box.schema.role.grant('Accountant', 'read', 'space', 'tester')
box.schema.role.grant('Accountant', 'execute', 'function', 'f')
box.schema.role.grant('Accountant', 'read,write', 'universe')
box.schema.role.grant('public', 'Accountant')
box.schema.role.grant('role1', 'role2', nil, nil, {if_not_exists=false})