Разграничение доступа пользователей в Nutanix Prism Central

Если говорить о разграничении прав доступа в Prism Element – базовом инструменте доступа и управления кластером Nutanix и его содержимым, то оно представлено всего тремя доступными ролями:

  1. Viewer – пользователь имеет право просматривать содержимое всего кластера, но не может его изменять;
  2. Cluster Admin – пользователь имеет право управлять всеми элементами кластера, но не может управлять пользователями;
  3. User Admin – максимальные привилегии. Пользователь может управлять всеми элементами кластера, а также пользователями.

Данная схема работает хорошо, когда у кластера один администратор и не требуется каких-либо разграничений в доступе.

Но что делать, если, например, необходимо разграничить доступ более жестко и предоставить одной группе пользователей доступ к управлению одной частью виртуальных машин, а другой группе – ко второй?

К сожалению, малогибкие возможности Prism Element не позволяют осуществлять подобные разграничения и тут в дело вступает мощный инструмент по централизованному управлению и мониторингу кластеров Nutanix – Prism Central.

Начать стоит с того, что, как и Prism Element, Prism Central поддерживает аналогичные роли Viewer, Cluster Admin и User Admin и возможности Role Mapping из привычного меню «шестеренки», но, если бы все этим ограничивалось, этой статьи бы не было.

Итак, у меня имеется инсталляция Prism Central, к которой добавлен кластер, на котором расположен ряд виртуальных машин. Необходимо организовать доступ пользователя к консоли управления требуемыми виртуальными машинами, а также дать возможность включать и выключать указанные VM.

В качестве аутентификации я буду использовать группу пользователей из Active Directory, поэтому заранее выполнил подключение в разделе User and Roles – Authentication – Directories.

Шаг первый – создание роли.

Роль (она и во всех системах роль) – группа возможностей, которые может выполнять пользователь, которому данная роль назначена.

Для просмотра существующих ролей необходимо перейти в меню так называемого «Гамбургера» (в правом верхнем углу, и выбрать раздел Administration – Roles, либо в строке поиска ввести Roles.

Здесь можно увидеть список заранее созданных Prism Central ролей с разным набором возможностей. Роли, созданные по умолчанию отмечены тегом SYSTEM и их нельзя удалить, либо изменить, но можно склонировать и изменить:

Изменять роли мы не будем, а создадим свою с помощью кнопки «Create Role».

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

Для управления виртуальной машиной нас интересует секция VM, в которой описаны все действия, которые пользователь может выполнять с виртуальными машинами, например, включение, изменение ресурсов, создание, удаление.

Поскольку нас интересует только базовое взаимодействие с виртуальной машиной, выбираем «Basic Access»:

Если кликнуть «Change», можно увидеть список возможностей, которые предоставляет базовый доступ – Access Console VM, View VM, Update VM Power State. Это именно то, что нам требуется.

Если необходимо добавить дополнительные возможности по взаимодействию с виртуальной машиной, сделать это можно отметив соответствующие пункты:

После сохранения, роль появится в списке и будет готова к назначению:

Переходим к следующему шагу – назначение роли пользователю.

Шаг второй – назначение роли.

Для того, чтобы связать объект, к которому необходимо предоставить доступ, пользователя, которому нужно предоставить доступ и необходимые права, необходимо кликнуть на нужную роль, затем на «Manage Assignment» в правой верхней части экрана:

В появившемся окне мы связываем существующую роль, пользователя или группу и объекты.

Поле Role указывает роль. В нашем случае это VM User.
Поле User and groups указывает группу, которая получит доступ к объекту с указанными в роли правами.
После Entities указывает объект, к которому будет предоставлен доступ:

Как можно заметить, мы можем предоставить доступ к виртуальным машинам, сетям, кластерам, образам и т.д.

Выбираем AHV VM и по умолчанию система предлагает применить роль ко всем машинам (All AHV VMs), что нас, конечно же не устраивает. Поэтому, просто вводим в поиске необходимые названия машин и добавляем по одной:

Нажимаем «Save» в нижней части экрана.  Вот и все, с помощью данной операции мы предоставили права на просмотр трех виртуальных машин test-linux группе пользователей Active Directory.

Теперь, если зайти пользователем указанной ранее группы в Prism Central, можно увидеть следующую картину:

Пользователь видит только назначенные ему машины, как и требовалось изначально.

Если посмотреть меню Actions для виртуальной машины, можно увидеть, что прав у пользователя не так и много:

Интересный момент. Если сейчас же изменить роль и запретить пользователю управлять питанием VM, изменения применятся автоматически, не требуя выхода и входа в систему.

Как можно заметить – требуемая задача выполнена, но вот любопытный читатель поинтересуется: а что делать, если доступ необходимо предоставить не к трем машинам, а к сотне. На этот вопрос тоже имеется ответ и это Categories.

Шаг третий – группируем виртуальные машины с помощью Categories.

Categories в Prism Central, это логическая группировка виртуальных машин, на основании которых к ним можно применять какие-либо политики. Например, категории используются при настройке микросегментации.

В некоторых системах аналогичная вещь называется tag.

Настройка категорий выполняется из того же меню «Гамбургера» – Virtual Infrastructure – Categories.

По аналогии с ролями, имеется ряд системных категорий, удалить которые нельзя. Создадим свою категорию нажатием кнопки «New Category»:

Здесь ничего необычного. Я создал новую категорию с названием test-vms и подкатегориями (или же метками) linux и windows:

Следующим шагом необходимо связать метки категорий и виртуальные машины. Для этого переходим в список виртуальных машин – Virtual Infrastructure – VMs. В списке выбираем нужные виртуальные машины. В моем случае все машины test-linux, отмечаем их и в меню Actions выбираем «Manage Categories»:

В появившемся списке выбираем требуемую категорию и метку. В моем случае это test-vms: linux и нажимаем «Save»:

Примечание: к машине можно добавить не одну метку, а несколько.

На этом шаге мы связали виртуальные машины с метками, тем самым сгруппировав их. Теперь обновим ранее созданные права доступа.

Переходим в Administration Roles, выбираем ранее созданную роль VM User, и переходим в пункт Manage Assignment.

На текущий момент поле Entities у нас заполнено названием виртуальных машин. Очищаем его, удалив связь роли и с данными VM:

На этот раз в разделе Entities выбираем Category:

И в поиске выбираем ранее созданную категорию test-vms с меткой linux:

Сохраняем роль, проверяем, что видит пользователь:

Все, как и раньше. Пользователь видит все виртуальные машины, на которые была назначена метка.

В случае, если администратор снимет метку с виртуальной машины, доступ пользователя к этой виртуальной машине прекратится, и она исчезнет из обзора:

Вот теперь задача точно решена.

В качестве заключения:

Настройка RBAC в Nutanix Prism Central – достаточно простое занятие и, по сути, не отличается от настройки подобных моментов в других системах.

Стоит помнить, что базовая версия Prism Central бесплатна, но вносит при этом значительное расширение функционала в части централизованного управления кластерами, доступом пользователей и мониторингом.

Leave a Reply

Your email address will not be published. Required fields are marked *