Парадигма и основные понятия
Разрешение для пользователя или группы пользователей на использование ресурсов системы AirCloud настраивается для каждого ресурса в отдельности.
С точки зрения системы, в момент обращения пользователя к одному из ее ресурсов для совершения какого-либо действия с ним, выполняется определенный API-метод. Система проверяет разрешения для этого метода, чтобы узнать, авторизован ли пользователь для выполнения запрашиваемой операции.
Например, когда пользователь пытается добавить в кластер виртуальную машину (ВМ), вызывается метод create_VM
. Этот метод требует, чтобы роль пользователя имела привилегию создания ВМ в кластере. Если в результате проверки данная привилегия не найдена, пользователю будет отказано в создании ВМ.
Важно определить следующие понятия:
Ресурс системы – элемент инвентори системы, вычислительные мощности которого могут быть выделены пользователю для обработки его данных во время сеанса работы в AirCloud.
Список доступа – каждый ресурс в системе имеет список доступа, содержащий список пользователей и соответствующие им роли. Список доступа может быть локальным (влияет на доступ к конкретному ресурсу системы) и глобальным (влияет на доступ ко всем ресурсам системы). Список доступа может распространяться на дочерние объекты. Подробнее о работе списков доступа – см. Списки доступа к ресурсам.
Привилегия – атомарное действие, которое пользователю разрешено выполнять в системе по отношению к ее ресурсу. Некоторые привилегии в системе обладают зависимостями друг от друга (например, привилегия “Изменять название кластера” связана с привилегией “Просматривать название кластера” и выдача для роли первой привилегии повлечет за собой и добавление второй. Однако обратная зависимость для данного примера не работает).
Роль – набор привилегий, которые определяют правила доступа и перечень возможных действий для каждого типа ресурса в системе. Роли позволяют назначать разрешения для доступа к ресурсам системы на основе набора типичных задач, выполняемых пользователями. В AirCloud существуют системные роли, такие как администратор, изменение которых запрещено. Пользовательские роли можно создавать либо с нуля, либо путем клонирования и изменения уже существующих ролей. Подробнее об операциях с ролями – см. Роли и привилегии.
Пользователь – аутентифицированный пользователь системы, учетная запись которого создается в БД системы. Подробнее об управлении пользователями – см. Управление пользователями.
Группа пользователей – множество пользователей, объединенное общим названием. Группа создается для удобства администрирования доступа, когда администратору необходимо выполнить одни и те же действия для ряда пользователей.
Доступ – право совершать какие либо действия в системе. Доступ в контексте системы может быть административный (например, право пользователя на создание виртуальных машин) и пользовательский (ограничения, задаваемые администратором, на объем используемых пользователем ресурсов системы).
Таким образом, администрирование доступа в AirCloud основано на следующих принципах:
Каждый ресурс в системе имеет свой список доступа. Со списком доступа может работать администратор ресурса – он может редактировать список доступа, добавляя или удаляя оттуда пользователей или их группы.
Для каждого пользователя или их групп в списке доступа ресурса определяется их роль, которую они будут выполнять по отношению к ресурсу.
Пользователь и роль напрямую не связаны – они связаны только в рамках списка доступа конкретного ресурса, что позволяет добиться такой тонкой настройки политики доступа в системе, при которой один и тот же пользователь будет обладать разным списком привилегий по отношению к каждому ресурсу системы.