Как настроить роли и привилегии
Семь фиксированных ролей закрывают типовые случаи, но не все. Когда нужен доступ вроде «смотреть весь ВЦОД и перезапускать машины, но ничего не создавать», собирают кастомную роль: берут привилегии из реестра, задают область видимости по ВЦОД и назначают роль пользователю в конкретном ВЦОД (виртуальном центре обработки данных).
Порядок работы всегда один: сначала выяснить, какие привилегии нужны, потом собрать роль, потом назначить. Обратный порядок — сначала создать роль, потом искать привилегии — приводит к роли с лишними правами, а сузить её задним числом дороже, чем собрать точно.
Что нужно заранее
- Роль
Cluster master: и создание, и изменение, и удаление роли, и назначение роли пользователю доступны только администратору кластера. - Список операций, которые роль должна открывать, — из него выводятся привилегии.
- ВЦОД, которым роль ограничивается, если у неё есть область видимости.
- Учётная запись, которой роль достанется. Как её создать — в инструкции «Как управлять пользователями».
Шаг 1. Посмотрите реестр привилегий
-
Откройте
Provider Data Center→Users & Rolesи перейдите на табRoles. В таблице стоят колонкиName,scope,Creator,CreatedиModified. Колонкаscopeпоказывает область видимости роли,Creator— кто её создал; у фиксированных ролей создатель не указан. -
Откройте роль, ближайшую к тому, что вам нужно. На её карточке привилегии разложены по разделам:
vDC,VM,Network,Edge,Storage,Node,Cluster,User,Misc,Auth,Security,User Interface. Разделы — это разбиение реестра для человека, на проверку прав они не влияют. -
Пройдите по разделам и отметьте для себя нужные привилегии. Готовый набор фиксированной роли — удобная отправная точка: возьмите его и вычтите лишнее.
Область видимости бывает двух видов, и разница между ними принципиальна.
| Область видимости | Годится кастомной роли | Смысл |
|---|---|---|
ВЦОД (vdc_id) | да | роль действует в тех ВЦОД, где назначена |
создатель объекта (creator) | нет | право действует на объекты, созданные самим пользователем |
Ограничение «только своё» кастомной роли задают не областью видимости, а готовыми
привилегиями вида Own — например Edit Own Network.
Шаг 2. Создайте кастомную роль
-
На табе
RolesнажмитеActionsи выберитеCreate role.
-
Укажите имя роли: оно уникально в кластере и не длиннее 64 символов.
-
Отметьте привилегии по разделам. Пустой набор не принимается — нужна хотя бы одна привилегия. Привилегии управления ролями кастомной роли не достанутся: иначе роль смогла бы расширить сама себя.
-
Задайте область видимости по ВЦОД, если роль должна действовать не на весь кластер.
-
Подтвердите создание и убедитесь, что роль появилась в таблице
Roles.
Кастомные роли нумеруются с 10000, и по этому диапазону платформа отличает их от фиксированных.
Шаг 3. Проверьте состав роли
-
Откройте роль на табе
Roles. Заголовок карточки — имя роли, рядом стоит её идентификатор. -
Пройдите по разделам привилегий и сверьте отмеченное с тем, что задавали.

-
Вернитесь на таб
Rolesи проверьте колонкиscopeиCreator: в области видимости стоит то, что вы задали, в создателе — ваша учётная запись.
У роли, собранной только из привилегий вида Own, колонка scope пуста. Такое
право ограничено создателем объекта, поэтому области по ВЦОД у него нет.
Шаг 4. Назначьте роль пользователю
Роль выдаётся не «вообще», а в границах ВЦОД: если у роли есть область видимости по ВЦОД, указать ВЦОД обязательно.
-
Откройте учётную запись в разделе
Users & Roles. -
Добавьте роль и укажите ВЦОД, в котором она действует.
-
Убедитесь, что новое назначение стоит в списке ролей записи вместе со своим ВЦОД.
Снятие роли выполняется там же и адресуется полной тройкой «пользователь, ВЦОД,
роль»: снимая роль, укажите тот же ВЦОД, в котором она была назначена. Назначать и
снимать роли вправе только Cluster master, и на встроенные учётные записи с
идентификаторами меньше 10 это не распространяется.
Как изменить кастомную роль
-
Откройте роль на табе
Roles. -
Отметьте новые привилегии и снимите лишние. Имя роли меняется здесь же.
-
Нажмите
Save changes. КнопкаResetрядом отменяет несохранённые правки.
Область видимости заменяется целиком: заданный набор становится новым, прежний не дополняется.
Фиксированную роль изменить нельзя: на её карточке кнопки Actions, Reset и
Save changes заблокированы, а попытка сохранить правки в обход интерфейса
отвечает отказом «Cannot modify a fixed role».
Как удалить кастомную роль
-
Проверьте, у кого роль назначена: пользователи потеряют права, которые она давала.
-
Откройте роль на табе
Roles, нажмитеActionsи выберите удаление. -
Подтвердите удаление и убедитесь, что роль исчезла из таблицы
Roles.
Удаление каскадное: вместе с ролью исчезают её привилегии, область видимости и все назначения этой роли пользователям. Сами пользователи остаются. Фиксированную роль удалить нельзя.
Как посмотреть, какие роли у пользователя
Свои роли видит любой пользователь, чужие — только Cluster master. Назначения
смотрят с двух сторон: в учётной записи перечислены её роли вместе с ВЦОД, а на
табе Roles видно, из чего каждая роль собрана и чем ограничена.
Читать назначение нужно парой «роль — ВЦОД». Одна и та же роль в разных ВЦОД — это
разные назначения, и снимается каждое по отдельности. Роль без области видимости
ограничений по объектам не имеет и действует на весь кластер — так устроен
Cluster master.
Если операция отклонена
| Код | Причина | Что делать |
|---|---|---|
-22500 «Access denied: only Cluster Master can create roles», -22510, -22520 | у роли нет прав на управление ролями | выполните операцию от имени Cluster master |
-22501 «Privileges list must not be empty» | роль создаётся с пустым набором привилегий | отметьте хотя бы одну привилегию |
-22502, -22513 «Role management privileges cannot be assigned to custom roles» | в наборе есть привилегия управления ролями | снимите её; управление ролями остаётся за Cluster master |
-22503, -22514 «Privilege ID not found» | такой привилегии в реестре кластера нет | выбирайте привилегии из разделов на карточке роли |
-22504, -22515 «Scope ID not found» | такой области видимости в кластере нет | задайте область видимости по ВЦОД |
-22505, -22517 «Self-referencing scope cannot be assigned to custom role» | в область видимости попал признак создателя объекта | оставьте только ВЦОД; ограничение «только своё» берите привилегиями вида Own |
-22506, -22516 «Role with name already exists» | имя роли занято | выберите другое имя, длиной до 64 символов |
-22511 «Cannot modify a fixed role», -22521 «Cannot delete a fixed role» | фиксированную роль нельзя изменить или удалить | создайте кастомную роль с нужным набором |
-22512, -22522, -22530, -22540 «Role not found» | роли больше нет — её могли удалить из другой сессии | обновите таб Roles |
-403 «Access denied» | назначение или снятие роли выполняет не администратор кластера | выполните операцию от имени Cluster master |
-22320 | назначение роли встроенной записи с идентификатором меньше 10 либо роль уже назначена | возьмите обычную учётную запись; текущие назначения посмотрите в самой записи |
-22421 | снятие роли у встроенной записи | встроенные записи не переназначаются |
-22420 «Specified user has no specified role assignment» | пара «роль — ВЦОД» не совпала с существующим назначением | сверьтесь со списком ролей учётной записи и укажите тот же ВЦОД |
-22204, -22205 | учётная запись не опознана: обращение ушло без идентификатора | вернитесь на таб Users и откройте запись заново |
См. также
- Как устроены привилегии и области видимости — «Модель доступа vStack Center».
- Создание учётной записи и пароль — «Как управлять пользователями».
- Полные наборы полей и сводка кодов — «Поля и коды ошибок методов доступа».
Методы API
Операции этой страницы в API: privilege-categories, privilege-list,
privilege-scopes, role-privilege-list, role-create, role-get,
role-scopes, role-list, role-set, role-delete, user-role-assign,
user-role-deassign, user-role, user-roles, user-roles-v2,
user-roles-map — см. Справочник API.