Перейти к основному содержимому

Как настроить роли и привилегии

Семь фиксированных ролей закрывают типовые случаи, но не все. Когда нужен доступ вроде «смотреть весь ВЦОД и перезапускать машины, но ничего не создавать», собирают кастомную роль: берут привилегии из реестра, задают область видимости по ВЦОД и назначают роль пользователю в конкретном ВЦОД (виртуальном центре обработки данных).

Порядок работы всегда один: сначала выяснить, какие привилегии нужны, потом собрать роль, потом назначить. Обратный порядок — сначала создать роль, потом искать привилегии — приводит к роли с лишними правами, а сузить её задним числом дороже, чем собрать точно.

Что нужно заранее​

  • Роль Cluster master: и создание, и изменение, и удаление роли, и назначение роли пользователю доступны только администратору кластера.
  • Список операций, которые роль должна открывать, — из него выводятся привилегии.
  • ВЦОД, которым роль ограничивается, если у неё есть область видимости.
  • Учётная запись, которой роль достанется. Как её создать — в инструкции «Как управлять пользователями».

Шаг 1. Посмотрите реестр привилегий​

  1. Откройте Provider Data Center → Users & Roles и перейдите на таб Roles. В таблице стоят колонки Name, scope, Creator, Created и Modified. Колонка scope показывает область видимости роли, Creator — кто её создал; у фиксированных ролей создатель не указан.

  2. Откройте роль, ближайшую к тому, что вам нужно. На её карточке привилегии разложены по разделам: vDC, VM, Network, Edge, Storage, Node, Cluster, User, Misc, Auth, Security, User Interface. Разделы — это разбиение реестра для человека, на проверку прав они не влияют.

  3. Пройдите по разделам и отметьте для себя нужные привилегии. Готовый набор фиксированной роли — удобная отправная точка: возьмите его и вычтите лишнее.

Область видимости бывает двух видов, и разница между ними принципиальна.

Область видимостиГодится кастомной ролиСмысл
ВЦОД (vdc_id)дароль действует в тех ВЦОД, где назначена
создатель объекта (creator)нетправо действует на объекты, созданные самим пользователем

Ограничение «только своё» кастомной роли задают не областью видимости, а готовыми привилегиями вида Own — например Edit Own Network.

Шаг 2. Создайте кастомную роль​

  1. На табе Roles нажмите Actions и выберите Create role.

    Раздел Users & Roles: список ролей на табе Roles с колонками scope и Creator

  2. Укажите имя роли: оно уникально в кластере и не длиннее 64 символов.

  3. Отметьте привилегии по разделам. Пустой набор не принимается — нужна хотя бы одна привилегия. Привилегии управления ролями кастомной роли не достанутся: иначе роль смогла бы расширить сама себя.

  4. Задайте область видимости по ВЦОД, если роль должна действовать не на весь кластер.

  5. Подтвердите создание и убедитесь, что роль появилась в таблице Roles.

Кастомные роли нумеруются с 10000, и по этому диапазону платформа отличает их от фиксированных.

Шаг 3. Проверьте состав роли​

  1. Откройте роль на табе Roles. Заголовок карточки — имя роли, рядом стоит её идентификатор.

  2. Пройдите по разделам привилегий и сверьте отмеченное с тем, что задавали.

    Карточка роли: категории привилегий слева и выбранный состав справа

  3. Вернитесь на таб Roles и проверьте колонки scope и Creator: в области видимости стоит то, что вы задали, в создателе — ваша учётная запись.

У роли, собранной только из привилегий вида Own, колонка scope пуста. Такое право ограничено создателем объекта, поэтому области по ВЦОД у него нет.

Шаг 4. Назначьте роль пользователю​

Роль выдаётся не «вообще», а в границах ВЦОД: если у роли есть область видимости по ВЦОД, указать ВЦОД обязательно.

  1. Откройте учётную запись в разделе Users & Roles.

  2. Добавьте роль и укажите ВЦОД, в котором она действует.

  3. Убедитесь, что новое назначение стоит в списке ролей записи вместе со своим ВЦОД.

Снятие роли выполняется там же и адресуется полной тройкой «пользователь, ВЦОД, роль»: снимая роль, укажите тот же ВЦОД, в котором она была назначена. Назначать и снимать роли вправе только Cluster master, и на встроенные учётные записи с идентификаторами меньше 10 это не распространяется.

Как изменить кастомную роль​

  1. Откройте роль на табе Roles.

  2. Отметьте новые привилегии и снимите лишние. Имя роли меняется здесь же.

  3. Нажмите Save changes. Кнопка Reset рядом отменяет несохранённые правки.

Область видимости заменяется целиком: заданный набор становится новым, прежний не дополняется.

Фиксированную роль изменить нельзя: на её карточке кнопки Actions, Reset и Save changes заблокированы, а попытка сохранить правки в обход интерфейса отвечает отказом «Cannot modify a fixed role».

Как удалить кастомную роль​

  1. Проверьте, у кого роль назначена: пользователи потеряют права, которые она давала.

  2. Откройте роль на табе Roles, нажмите Actions и выберите удаление.

  3. Подтвердите удаление и убедитесь, что роль исчезла из таблицы 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 и откройте запись заново

См. также​

Методы 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.