Концепция тенантов
Объединение кластеров и неймспейсов для разграничения доступа.
Суть реализации
Тенанты в платформе «Штурвал» — это дополнительный уровень абстракции между платформой и кластерами. Они позволяют объединять ресурсы для единого управления доступом:
- несколько кластеров целиком;
- несколько неймспейсов одного кластера;
- несколько неймспейсов нескольких кластеров.
Иерархия доступа: Платформа → Тенанты → Кластеры → Неймспейсы. Права, назначенные на тенант, применяются ко всем вложенным объектам (кластерам и неймспейсам в нём).
По умолчанию создаются системные тенанты:
- platform — включает все кластеры и неймспейсы платформы;
- тенант на кластер — для каждого созданного кластера создаётся тенант, включающий все неймспейсы этого кластера.
Системные тенанты нельзя изменить, удалить или продублировать.
С точки зрения реализации тенанты представлены кастомными ресурсами API‑группы permissions.shturval.tech. Общий обзор этих и других кастомных ресурсов доступен на странице «Кастомные ресурсы в платформе».
Способы использования
По системе
Если на платформе несколько систем (например, CRM, ERP, аналитика), кластеры и неймспейсы каждой системы можно объединить в отдельный тенант и выдать единый доступ команде, отвечающей за систему.
По окружению
Если в одном или нескольких кластерах есть разделение по окружениям (dev, stage, prod), все неймспейсы одного окружения можно объединить в тенант и выдать доступ к окружению.
По типу неймспейсов
Можно объединить системные или кастомные неймспейсы разных кластеров в тенант для упрощения назначения прав.
Назначение прав в тенанте
- Если тенант объединяет кластеры целиком (в неймспейсах указана
*), доступны наборы доступов кластерного уровня. - Если тенант объединяет конкретные неймспейсы, доступны наборы доступов неймспейсного уровня.
Назначение прав выполняется в разделе Управление доступом → вкладка Тенант. Подробнее — Назначение прав доступа.
Необходимые права доступа
Управление тенантами и назначение прав в них доступно только платформенным пользователям — тем, у кого есть права на уровне платформы.
| Разрешение | Описание | Уровень |
|---|---|---|
| tenant-get | Получение информации о тенанте | Платформа, Кластер, Неймспейс |
| tenant-edit | Управление тенантами (создание, изменение, удаление) | Платформа, Кластер |
| tenant-role-binder | Управление доступами в тенантах, просмотр тенантов, раздел «Управление доступом» | Платформа |
| tenant-role-viewer | Просмотр доступов в тенантах, менеджера и дерева доступов | Платформа |
Подробнее — Настройка разрешений.
Релиз 2.15.0
Важно: Основной функционал тенантов будет реализован в релизе 2.15.0. В 2.14 доступны базовые возможности назначения прав в тенантах и просмотр структуры доступов.