VK Cloud logo

Управление доступом

Чтобы разграничить права для приглашенных участников проекта или сервисных учетных записей, в Cloud Containers используется единый сервис управления идентификацией и доступом — IAM. Управлять доступами можно централизованно из личного кабинета VK Cloud.

Список доступных участнику проекта действий в сервисе Cloud Containers определяет:

  • Присвоенная базовая роль — задает набор действий, доступных по умолчанию.

    Базовые роли Владелец проекта, Суперадминистратор и Администратор проекта получают полный доступ ко всем операциям во всех сервисах.

  • Отдельная специализированная рольназначается дополнительно, если прав, входящих в базовую роль, недостаточно. Настройка отдельных разрешений для Cloud Containers не поддерживается.

При выдаче ролей придерживайтесь принципа минимальных привилегий: пользователь должен иметь только те права, без которых невозможно выполнить его задачи.

Специализированные роли

Для сервиса Cloud Containers доступно несколько специализированных ролей, которые можно использовать дополнительно к базовым ролям Администратор пользователей (IAM) или Наблюдатель. По умолчанию доступ к Cloud Containers у этих базовых ролей ограничен:

  • Администратор пользователей (IAM): нет доступа.
  • Наблюдатель: просмотр информации о кластере и группах узлов, получение секрета для доступа в Kubernetes Dashboard.

mcs_k8s_viewer

Название в личном кабинете: Аудитор Kubernetes.

Роль с разрешениями на просмотр сервиса Cloud Containers.

Пользователь с этой ролью может:

  • просматривать информацию о кластере и группах узлов;
  • получать файл kubeconfig;
  • получать секрет для доступа в Kubernetes Dashboard.

mcs_k8s_editor

Название в личном кабинете: Оператор Kubernetes.

Роль с разрешениями для работы в сервисе Cloud Containers. Некоторые действия доступны только в определенном состоянии кластера. Например, установка и удаление аддонов возможны, только если кластер запущен.

Пользователь с этой ролью может:

  • запускать и останавливать кластеры;
  • отображать информацию о кластере и группах узлов;
  • получать файл kubeconfig;
  • получать секрет для доступа в Kubernetes Dashboard;
  • обновлять версию кластера;
  • изменять тип виртуальной машины;
  • изменять размер диска Prometheus;
  • добавлять или удалять группу узлов;
  • изменять настройки масштабирования групп узлов;
  • изменять метки (labels) и ограничения (taints);
  • устанавливать или удалять аддоны.

mcs_k8s_admin

Название в личном кабинете: Администратор Kubernetes.

Роль с максимально широким набором разрешений для работы с сервисом Cloud Containers. Некоторые действия доступны только в определенном состоянии кластера. Например, установка и удаление аддонов возможны, только если кластер запущен.

Пользователь с этой ролью может:

  • создавать и удалять кластеры;

  • запускать и останавливать кластеры;

  • отображать информацию о кластере и группах узлов;

  • получать файл kubeconfig;

  • получать секрет для доступа в Kubernetes Dashboard;

  • обновлять версию кластера;

  • изменять тип виртуальной машины;

  • изменять размер диска Prometheus;

  • добавлять или удалять группу узлов;

  • изменять настройки масштабирования групп узлов;

  • изменять метки (labels) и ограничения (taints);

  • устанавливать или удалять аддоны.

Взаимосвязь ролей личного кабинета и Kubernetes

Пользователь аутентифицируется в кластере Kubernetes с теми же реквизитами, что и при входе в личный кабинет VK Cloud, с помощью технологии единого входа (Single Sign-On, SSO). Каждая специализированная роль — администратора, оператора или аудитора Kubernetes — также определяет доступную пользователю внутреннюю роль Kubernetes. Роль Kubernetes отвечает за то, какие объекты кластера доступны пользователю, и какие действия разрешено выполнять над этими объектами.

Чтобы просмотреть список доступных ресурсов для роли, подключитесь к кластеру и выполните команду:

kubectl describe clusterrole <РОЛЬ_В_KUBERNETES>

Роль в Kubernetes: view.

Роль предоставляет доступ на чтение к большинству объектов в пространстве имен.

Роль не предоставляет:

  • Доступ на просмотр или изменение ролей и связывания ролей.

  • Доступ к секретам.

    Пользователь с доступом к секретам может получить доступ к учетным данным любого сервисного аккаунта в пространстве имен. Это позволит получить доступ к API от имени любого сервисного аккаунта в пространстве имен. Для роли с правами «только чтение» это будет расцениваться как превышение привилегий (privilege escalation).