База знаний LinxCloud Services

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

Данная статья подходит для кластеров Kubernetes версии 1.23 и выше. Если версия кластера более ранняя, то ее можно обновить, чтобы использовать такие же возможности.

Управлять доступом к кластерам Kubernetes в Linx Cloud можно на уровне отдельных проектов в личном кабинете, т. е. управление зависит от роли, назначенной пользователю в личном кабинете Linx Cloud, и нет необходимости в дополнительных конфигурированиях прав пользователей. Это благодаря технологию единого входа (Single Sign-On, SSO), при которой роли Kubernetes тесно интегрированы с ролями личного кабинета Linx Cloud. Например, отключение учетной записи пользователя или отзыв роли в личном кабинете, приводит к отзыву прав на доступ в кластер Kubernetes.

 

Что нужно знать про Single Sign-On

  • SSO нельзя отключить.
  • Пользователю можно выдать административный доступ только для кластеров Kubernetes в проекте. Чтобы это сделать нужно назначить этому пользователю роль «Администратор Kubernetes» вместо других ролей с более широкими полномочиями.
  • Подробную информациб об обновлении кластера без SSO до версии с SSO можно найти здесь.
  • Пользователи, имеющие роль «Администратор проекта» или «Суперадминистратор», имеют право назначать роли другим пользователям.
  • Любой пользователь, независимо от роли, может получить kubeconfig и подключиться к кластеру, но у него будут ограничены права в кластере в соответствии с ролью. Команда, чтобы узнать все доступные права на ресурсы кластера Kubernetes для определенной роли:
    kubectl describe clusterrole <роль в Kubernetes>

     

 

Описание взаимосвязи ролей

Роли пользователей личного кабинета влияют:

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

 

Роли личного кабинета и их права в кластерах Kubernetes:

  • Владелец проекта
  • Администратор проекта
  • Суперадминистратор
  • Администратор Kubernetes

 

Соответствующая роль Kubernetes: admin.

Роль admin — административный уровень доступа, возможно чтение и запись к большинству объектов в пространстве имен (включая возможность создавать другие роли и связывания ролей), если назначается в пределах пространства имен (namespace) через связывание ролей (RoleBinding).

Нет доступа на запись к ресурсной квоте (resource quota) или к самому пространству имен, а также доступа на запись к эндпойнтам (endpoints) кластеров Kubernetes v1.22+.

 

Соответствующая роль Kubernetes: edit.

С ролью edit у пользователя есть доступ на чтение и запись к большинству объектов в пространстве имен, а также доступ к секретам и запуску подов от имени любого сервисного аккаунта в пространстве имен. Данная роль может быть использована для получения доступа к API от имени любого сервисного аккаунта в пространстве имен.

С этой ролью нет возможности просматривать, изменять, связывать роли. Также нет доступа на запись к эндпойнтам (endpoints) кластеров Kubernetes v1.22+.

Соответствующая роль Kubernetes: view.

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

Просмотр, изменение и связывание ролей недоступны для этой роли, также нет доступа к секретам.

Больше информации о ролях Kubernetes можной найти в статье.

Что вас интересует?
Получить промокод
остались вопросы?

Закажите консультацию специалиста

заказать тест-драйв
Получить демо-доступ

Спасибо за ваш запрос, мы свяжемся с вами в ближайшее время!