Управление доступом
Чтобы разграничить права для приглашенных участников проекта или сервисных учетных записей, в Managed Containers используется единый сервис управления идентификацией и доступом — IAM. Управлять доступами можно централизованно из личного кабинета VK Cloud.
Список доступных участнику проекта действий в сервисе Managed Containers определяет:
- Базовая роль — определяет права пользователя на уровне всех сервисов VK Cloud.
- Специализированная роль — определяет права пользователя на уровне отдельных сервисов VK Cloud.
Настройка отдельных разрешений для Managed Containers не поддерживается.
Роли могут назначать только участники проекта с ролями Владелец проекта, Суперадминистратор и Администратор пользователей (IAM). Выбирая роли, придерживайтесь принципа минимальных привилегий: пользователь должен иметь только те права, без которых невозможно выполнить его задачи.
Базовые роли Владелец проекта, Суперадминистратор и Администратор проекта получают полный доступ ко всем операциям Managed Containers, настраивать отдельные роли не нужно.
Название в личном кабинете: Владелец проекта.
Роль с максимальным набором прав на проекте. Роль автоматически назначается пользователю, который сам создал проект, либо для которого проект был автоматически создан при регистрации аккаунта.
В проекте может быть только один владелец. Эту роль нельзя назначить вручную или пригласить на нее.
Название в личном кабинете: Суперадминистратор.
Роль, которая предоставляет разрешения на управление всеми ресурсами проекта. Эта роль может быть назначена пользователю только владельцем проекта.
Название в личном кабинете: Администратор проекта.
Роль, которая предоставляет разрешения на управление всеми ресурсами проекта, кроме групп пользователей и баланса.
Название в личном кабинете: Администратор пользователей (IAM).
Роль, предназначенная для управления участниками проекта на странице управления доступами. Администратор пользователей может приглашать участников в проект и удалять их из него, редактировать назначенные участникам роли. Сервисы и информация о балансе проекта для этой роли недоступны.
В сервисе Cloud Logging роль позволяет просматривать логи.
В сервисе Cloud Monitoring роль позволяет просматривать дашборды.
В сервисе Cloud Audit роль позволяет просматривать события сервиса IAM и собственные действия пользователя.
Название в личном кабинете: Наблюдатель.
Роль, которая предоставляет разрешения на просмотр большей части информации о проекте и ресурсах, но не имеет разрешений для их создания и изменения.
В сервисе Cloud Logging роль позволяет просматривать логи.
В сервисе Cloud Monitoring роль позволяет просматривать дашборды.
В сервисе Cloud Audit роль позволяет просматривать все события проекта и выгружать эти данные.
В сервисе Managed Containers роль позволяет просматривать информацию о кластере и группах узлов и получать секрет для доступа в Headlamp.
Для сервиса Managed Containers доступно несколько специализированных ролей, которые можно использовать вместе с базовой ролью или самостоятельно.
Название в личном кабинете: Аудитор Kubernetes.
Роль с разрешениями на просмотр сервиса Managed Containers.
Пользователь с этой ролью может:
- просматривать информацию о кластере и группах узлов;
- получать файл
kubeconfig; - получать секрет для доступа в Kubernetes Dashboard.
В сервисе Cloud Logging роль позволяет просматривать логи и генерировать учетные данные.
В сервисе Cloud Monitoring роль позволяет просматривать, создавать и редактировать дашборды, а также делать запись в систему мониторинга.
В сервисе Cloud Audit роль позволяет просматривать события сервиса Managed Containers и собственные действия пользователя, а также выгружать эти данные.
Название в личном кабинете: Оператор Kubernetes.
Роль с разрешениями для работы в сервисе Managed Containers. Некоторые действия доступны только в определенном состоянии кластера. Например, установка и удаление аддонов возможны, только если кластер запущен.
Пользователь с этой ролью может:
- запускать и останавливать кластеры;
- отображать информацию о кластере и группах узлов;
- получать файл
kubeconfig; - получать секрет для доступа в Kubernetes Dashboard;
- обновлять версию кластера;
- изменять тип виртуальной машины;
- изменять размер диска Prometheus;
- добавлять или удалять группу узлов;
- изменять настройки масштабирования групп узлов;
- изменять метки (labels) и ограничения (taints);
- устанавливать или удалять аддоны.
В сервисе Cloud Logging роль позволяет просматривать логи и генерировать учетные данные.
В сервисе Cloud Monitoring роль позволяет просматривать, создавать и редактировать дашборды, а также делать запись в систему мониторинга.
В сервисе Cloud Audit роль позволяет просматривать события сервиса Managed Containers и собственные действия пользователя, а также выгружать эти данные.
Название в личном кабинете: Администратор Kubernetes.
Роль с максимально широким набором разрешений для работы с сервисом Managed Containers. Некоторые действия доступны только в определенном состоянии кластера. Например, установка и удаление аддонов возможны, только если кластер запущен.
Пользователь с этой ролью может:
- создавать и удалять кластеры;
- запускать и останавливать кластеры;
- отображать информацию о кластере и группах узлов;
- получать файл
kubeconfig; - получать секрет для доступа в Kubernetes Dashboard;
- обновлять версию кластера;
- изменять тип виртуальной машины;
- изменять размер диска Prometheus;
- добавлять или удалять группу узлов;
- изменять настройки масштабирования групп узлов;
- изменять метки (labels) и ограничения (taints);
- устанавливать или удалять аддоны.
В сервисе Cloud Logging роль позволяет просматривать логи и генерировать учетные данные.
В сервисе Cloud Monitoring роль позволяет просматривать, создавать и редактировать дашборды, а также делать запись в систему мониторинга.
В сервисе Cloud Audit роль позволяет просматривать события сервиса Managed Containers и собственные действия пользователя, а также выгружать эти данные.
Пользователь аутентифицируется в кластере Kubernetes с теми же реквизитами, что и при входе в личный кабинет VK Cloud, с помощью технологии единого входа (Single Sign-On, SSO). Каждая специализированная роль — администратора, оператора или аудитора Kubernetes — также определяет доступную пользователю внутреннюю роль Kubernetes. Роль Kubernetes отвечает за то, какие объекты кластера доступны пользователю, и какие действия разрешено выполнять над этими объектами.
Чтобы просмотреть список доступных ресурсов для роли, подключитесь к кластеру и выполните команду:
kubectl describe clusterrole <РОЛЬ_В_KUBERNETES>
Роль в Kubernetes: view.
Роль предоставляет доступ на чтение к большинству объектов в пространстве имен.
Роль не предоставляет:
-
Доступ на просмотр или изменение ролей и связывания ролей.
-
Доступ к секретам.
Пользователь с доступом к секретам может получить доступ к учетным данным любого сервисного аккаунта в пространстве имен. Это позволит получить доступ к API от имени любого сервисного аккаунта в пространстве имен. Для роли с правами «только чтение» это будет расцениваться как превышение привилегий (privilege escalation).