Данная статья подходит для кластеров 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
Соответствующая роль Kubernetes: edit
.
С ролью edit
у пользователя есть доступ на чтение и запись к большинству объектов в пространстве имен, а также доступ к секретам и запуску подов от имени любого сервисного аккаунта в пространстве имен. Данная роль может быть использована для получения доступа к API от имени любого сервисного аккаунта в пространстве имен.
С этой ролью нет возможности просматривать, изменять, связывать роли. Также нет доступа на запись к эндпойнтам (endpoints) кластеров Kubernetes v1.22+.
- Аудитор Kubernetes
Соответствующая роль Kubernetes: view
.
С ролью view
у пользователя есть доступ на чтение к большинству объектов в пространстве имен.
Просмотр, изменение и связывание ролей недоступны для этой роли, также нет доступа к секретам.
Больше информации о ролях Kubernetes можной найти в статье.