.. _role-model: Ролевая модель KeyStack ======================= Ролевая модель платформы KeyStack определяет доступ ко всем компонентам платформы. Контроль доступа к сервисам основан на модели RBAC (role-based access control). Пользователи получают доступ к различным программным интерфейсам в зависимости от их роли в проекте, домене или контексте системы. Эти роли могут назначаться любому субъекту (пользователю или группе) для любых сущностей (контекст системы, домен, проект). .. _role-model-principles: Принципы организации ролевой модели ----------------------------------- Ролевая модель построена по принципу наименьших привилегий. При применении ролевой модели: - любой доступ, включая доступ к обрабатываемым на платформе данным, осуществляется на основании перечисленных ролей; - доступ предоставляется только в рамках роли, получаемой из централизованного сервиса управления доступом к информационным ресурсам по результатам аутентификации пользователя, локальные роли не используются; - использование локальных технологических учетных записей для исполнения задач пользователей и администраторов запрещено; - исключена возможность доступа администратора к паролям и другим конфиденциальным данным пользователей системы. .. _role-model-description: Описание ролевой модели ----------------------- Ролевая модель платформы KeyStack состоит из пяти базовый ролей: - *admin* - администратор платформы. Эта роль дает максимальные привилегии доступа во всей платформе: развертывает и конфигурирует регионы, может проводить все day-2 операции через LCM, обладает всеми правами для работы с виртуальными элементами платформы. - *operator* - сотрудник эксплуатации региона. Эта роль дает права, необходимые для осуществления процесса эксплуатации региона. - *security_auditor* - специалист информационной безопасности. Обладает правами просмотра конфигураций компонентов, а также просмотра событий на SIEM. - *reader* - непривилегированный оператор платформы. Роль предоставляет доступ только на чтение для контекста системы, домена или проекта. Дает возможность просмотра конфигурации региона, компонентов региона, виртуальных элементов. - *member* - учетная запись пользователя платформы. Дает пользователю ограниченные права на использование ресурсов в рамках проекта (тенанта). Эта роль используется для доступа к ресурсам, принадлежащим проекту, с возможностью взаимодействия с ними, но без административных привилегий. Например, пользователи с ролью *member* в проекте могут просматривать, создавать и удалять ВМ. Ролевая модель KeyStack реализуется в интеграции платформы с централизованным сервисом идентификации и аутентификации заказчика, например, Active Directory/LDAP. При этом возможно назначить роли KeyStack группам пользователей из централизованного каталога организации. Каждой роли KeyStack могут быть сопоставлены несколько групп LDAP. Роли KeyStack получают различные привилегии в компонентах платформы. Например, роль *operator* KeyStack соответствует роли *Developer* в GitLab. .. figure:: media/RBAC-role-matching.png :alt: Сопоставление ролей KeyStack .. _admin-role-description: Роль *admin* ------------ Администратор платформы, который может: - устанавливать и развертывать регионы, - менять конфигурацию регионов и компонентов платформы в регионах, - проводить все day2-операции через LCM, - управлять виртуальными элементами платформы. Обладает следующими привилегиями доступа к компонентам платформы: - **AdminUI** - CRUD виртуальных элементов платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **OpenStack** - CRUD виртуальных элементов платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **GitLab** - CRUD IaC компонентов региона, CRUD процессов ПНР. - **NetBox** - CRUD инфраструктурных элементов платформы (гипервизоры, интерфейсы, IP адреса, и прочее). - **Мониторинг** - Просмотр и чтение информации мониторинга, протоколов и событий алертинга. - **Серверы контроллеров и вычислительных узлов** - Полный доступ через ``sudo``. .. _operator-role-description: Роль *operator* --------------- Оператор эксплуатации региона, который может: - проводить все day2-операции через LCM, - управлять виртуальными элементами платформы. Обладает следующими привилегиями доступа к компонентам платформы: - **AdminUI** - CRUD виртуальных элементов платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **OpenStack** - CRUD виртуальных элементов платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **GitLab** - Запуск пайплайнов эксплуатации. - **NetBox** - Просмотр информации об инфраструктурных элементах платформы. - **Мониторинг** - Просмотр информации мониторинга, протоколов и событий алертинга. - **Серверы контроллеров и вычислительных узлов** - Доступ через ``sudo``, профиль *operator*. .. _security_auditor-role-description: Роль *security_auditor* ----------------------- Специалист информационной безопасности, который может: - просматривать конфигурацию регионов и компонентов платформы в регионах, - просматривать результаты day2-операций, - просматривать информацию о виртуальных элементах платформы, - просматривать события аудита. Обладает следующими привилегиями доступа к компонентам платформы: - **AdminUI** - Просмотр информации о виртуальных элементах платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **OpenStack** - Просмотр информации о виртуальных элементах платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **GitLab** - Просмотр информации о IaC компонентов региона, кода пайплайнов. - **NetBox** - Просмотр информации об инфраструктурных элементах платформы. - **Мониторинг** - Просмотр информации мониторинга, чтение протоколов и событий алертинга. - **Серверы контроллеров и вычислительных узлов** - Доступ через ``sudo``, профиль *security_auditor*. .. _reader-role-description: Роль *reader* ------------- Специалист с этой ролью может: - просматривать конфигурацию регионов и компонентов платформы в регионах, - просматривать результаты day2-операций, - просматривать информацию о виртуальных элементах платформы, - отслеживать статус здоровья облака. Обладает следующими привилегиями доступа к компонентам платформы: - **AdminUI** - Просмотр информации о виртуальных элементах платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **OpenStack** - Просмотр информации о виртуальных элементах платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **GitLab** - Просмотр информации о IaC компонентов региона, кода автоматизированных процедур эксплуатации. - **NetBox** - Просмотр информации об инфраструктурных элементах платформы. - **Мониторинг** - Просмотр и чтение информации мониторинга, протоколов и событий алертинга. - **Серверы контроллеров и вычислительных узлов** - Доступ через ``sudo``, профиль *reader*. .. _member-role-description: Роль *member* ------------- Пользователь получает доступ к платформе виртуализации с возможностью создавать/редактировать/удалять экземпляры виртуальных машин, тома дисков, снимки ВМ. Обладает следующими привилегиями доступа к компонентам платформы: - **AdminUI** - Нет привилегий. - **OpenStack** - CRUD в рамках организационной единицы "проект" (тенант) виртуальных элементов платформы (виртуальные машины, диски, образы, сетевые элементы и прочее). - **GitLab** - Нет привилегий. - **NetBox** - Нет привилегий. - **Мониторинг** - Нет привилегий. - **Серверы контроллеров и вычислительных узлов** - Нет привилегий.