Облачная платформаAdvanced

Разрешения

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Управление разрешениями CCE позволяет назначать разрешения пользователям IAM и группам пользователей в рамках ваших Тенант-аккаунтов. CCE сочетает преимущества IAM и RBAC, предоставляя различные методы авторизации, включая IAM fine-grained/token authorization и cluster-/namespace-scoped authorization.

Разрешения CCE описаны следующим образом:

  • Cluster-level permissions: Управление разрешениями уровня кластера возникло из функции системных политик авторизации IAM. Пользователи IAM в одной группе пользователей имеют одинаковые разрешения. Группа пользователей — это просто набор пользователей. Предоставляя разрешения уровня кластера определённым группам пользователей, вы можете позволить пользователям этих групп выполнять различные операции с кластерами, включая создание или удаление кластеров, узлов, пулов узлов, charts и add-ons. Вы также можете ограничить другие группы пользователей только просмотром кластеров.

    Разрешения уровня кластера включают нестандартные API, не являющиеся частью Kubernetes, и поддерживают детальные политики IAM и возможности управления корпоративными проектами.

  • Namespace-level permissions: Вы можете регулировать доступ пользователей или групп пользователей к Kubernetes resources, таким как workloads, jobs и Services, в отдельном пространстве имён на основе их ролей Kubernetes RBAC. CCE также был улучшен за счёт возможностей с открытым исходным кодом. Он поддерживает RBAC‑авторизацию на основе пользователя IAM или группы пользователей и RBAC‑аутентификацию при доступе к API с использованием IAM‑токенов.

    Разрешения уровня пространства имён включают API CCE Kubernetes и улучшены на основе возможностей Kubernetes RBAC. Разрешения уровня пространства имён могут быть предоставлены пользователям IAM или группам пользователей для аутентификации и авторизации, но они независимы от детальных политик IAM. Для получения подробной информации см. Using RBAC Authorization.

Caution
  • Cluster-level permissions настраиваются только для ресурсов, связанных с кластером (например, кластеры и узлы). Вам также необходимо настроить namespace permissions для работы с ресурсами Kubernetes (например, workloads, jobs и Services).
  • После создания кластера CCE автоматически назначает вам разрешение cluster-admin, что означает полный контроль над всеми ресурсами во всех пространствах имён кластера.
  • При просмотре ресурсов CCE в консоли отображаемые ресурсы зависят от разрешений пространства имён. Если разрешения пространства имён не предоставлены, консоль не покажет вам ресурсы.

Разрешения уровня кластера (назначаются с помощью Системно-определённых политик IAM)

Новые пользователи IAM по умолчанию не имеют назначенных разрешений. Сначала необходимо добавить их в одну или несколько групп, а затем прикрепить к этим группам политики или роли. Они наследуют разрешения от групп и могут выполнять указанные операции над облачными сервисами в соответствии с полученными разрешениями.

CCE — это сервис уровня проекта, развернутый в определённых регионах. Когда вы задаёте Scope как Region-specific projects и выбираете указанные проекты в выбранных регионах, пользователи получают разрешения для CCE только в выбранных проектах. Если выбрать All projects, пользователи получат разрешения для CCE во всех проектах, специфичных для региона. При доступе к CCE пользователи должны переключиться на уполномоченный регион.

Вы можете предоставлять пользователям разрешения с помощью ролей и политик.

  • Roles: тип механизма грубой авторизации, определяющего разрешения, связанные с обязанностями пользователя. Этот механизм предоставляет лишь ограниченное количество ролей уровня сервиса для авторизации. Облачные сервисы часто зависят друг от друга. При предоставлении разрешений с помощью ролей необходимо также прикреплять любые существующие зависимости ролей. Однако роли не являются оптимальным выбором для детальной авторизации и безопасного контроля доступа.
  • Политики: тип тонко гранулированного механизма авторизации, который определяет разрешения, необходимые для выполнения операций над конкретными облачными ресурсами при определённых условиях. Этот механизм обеспечивает более гибкую авторизацию на основе политик, удовлетворяя требования безопасного контроля доступа. Например, вы можете назначить пользователям только разрешения для управления определённым типом кластеров и узлов.

Table 1 перечисляет все системно-определённые разрешения для CCE.

Table 1 Системно-определённые разрешения для CCE

Role/Policy Name

Description

Type

Dependencies

CCE Administrator

Разрешения на чтение и запись для кластеров CCE и всех ресурсов (включая workloads, nodes, jobs и Services) в кластерах

Системно-определённые роли

Пользователям, получившим разрешения этой политики, также должны быть предоставлены разрешения следующих политик:

Global service project: OBS Buckets Viewer и OBS Administrator

Region-specific projects: Tenant Guest, Server Administrator, ELB Administrator, SFS Administrator, SWR Admin и APM FullAccess

ПРИМЕЧАНИЕ:
  • Если вам назначены как CCE Administrator, так и NAT Gateway Administrator, вы можете использовать функции NAT Gateway для кластеров.
  • Если пользователю IAM необходимо предоставлять разрешения namespace кластера другим пользователям или группам пользователей, у пользователя должно быть разрешение IAM только для чтения.

CCE FullAccess

Общие разрешения на операции с ресурсами кластера CCE, за исключением разрешений уровня namespace для кластеров (с включённым Kubernetes RBAC) и привилегированных операций администратора, таких как agency configuration и cluster certificate generation

Policy

None

CCE ReadOnlyAccess

Разрешения на просмотр ресурсов кластера CCE, за исключением разрешений уровня namespace кластеров (с включённым Kubernetes RBAC)

Policy

None

Table 2 Общие операции, поддерживаемые системно-определёнными разрешениями

Operation

CCE ReadOnlyAccess

CCE FullAccess

CCE Administrator

Creating a cluster

Не поддерживается

Поддерживается

Поддерживается

Удаление кластера

Не поддерживается

Поддерживается

Поддерживается

Обновление кластера, например, обновление параметров планирования узлов кластера и включение поддержки RBAC

Не поддерживается

Поддерживается

Поддерживается

Обновление кластера

Не поддерживается

Поддерживается

Поддерживается

Пробуждение кластера

Не поддерживается

Поддерживается

Поддерживается

Гибернация кластера

Не поддерживается

Поддерживается

Поддерживается

Список всех кластеров

Поддерживается

Поддерживается

Поддерживается

Запрос деталей кластера

Поддерживается

Поддерживается

Поддерживается

Добавление узла

Не поддерживается

Поддерживается

Поддерживается

Удаление одного или нескольких узлов

Не поддерживается

Поддерживается

Поддерживается

Обновление узла. Например, изменение имени узла.

Не поддерживается

Поддерживается

Поддерживается

Запрос сведений об узле

Поддерживается

Поддерживается

Поддерживается

Список всех узлов

Поддерживается

Поддерживается

Поддерживается

Список всех задач

Поддерживается

Поддерживается

Поддерживается

Удаление одной или нескольких задач кластера

Не поддерживается

Поддерживается

Поддерживается

Запрос деталей задачи

Поддерживается

Поддерживается

Поддерживается

Создание тома хранения

Не поддерживается

Поддерживается

Поддерживается

Удаление тома хранения

Не поддерживается

Поддерживается

Поддерживается

Выполнение операций со всеми ресурсами Kubernetes

Поддерживается (требуется Kubernetes RBAC)

Поддерживается (требуется Kubernetes RBAC)

Поддерживается

Выполнение всех операций над ECS

Не поддерживается

Поддерживается

Поддерживается

Выполнение всех операций над дисками EVS

Диски EVS могут быть присоединены к облачным серверам и масштабированы до более высокой емкости по мере необходимости.

Не поддерживается

Поддерживается

Поддерживается

Выполнение всех операций над VPC

Кластер должен работать в VPC. При создании namespace создайте или свяжите VPC с namespace, чтобы все контейнеры в namespace работали в VPC.

Не поддерживается

Поддерживается

Поддерживается

Просмотр деталей всех ресурсов на ECS

В CCE узел — это ECS с несколькими EVS дисками.

Supported

Supported

Supported

Listing all resources on an ECS

Supported

Supported

Supported

Просмотр сведений обо всех ресурсах дисков EVS EVS диски могут быть присоединены к облачным серверам и масштабированы до более высокой ёмкости по мере необходимости.

Supported

Supported

Supported

Listing all EVS resources

Supported

Supported

Поддерживается

Просмотр сведений обо всех ресурсах VPC

Кластер должен работать в VPC. При создании пространства имён создайте или свяжите VPC для пространства имён, чтобы все контейнеры в пространстве имён работали в VPC.

Поддерживается

Поддерживается

Поддерживается

Список всех ресурсов VPC

Поддерживается

Поддерживается

Поддерживается

Просмотр сведений обо всех ресурсах ELB

Не поддерживается

Не поддерживается

Поддерживается

Список всех ресурсов ELB

Не поддерживается

Не поддерживается

Поддерживается

Просмотр сведений обо всех ресурсах SFS

Поддерживается

Поддерживается

Поддерживается

Список всех ресурсов SFS

Поддерживается

Поддерживается

Поддерживается

Просмотр сведений обо всех ресурсах AOM

Поддерживается

Поддерживается

Поддерживается

Список всех ресурсов AOM

Поддерживается

Поддерживается

Поддерживается

Выполнение всех операций с правилами авто масштабирования AOM

Поддерживается

Поддерживается

Поддерживается

Разрешения уровня Namespace (назначаются с помощью Kubernetes RBAC)

Вы можете регулировать доступ пользователей или групп пользователей к ресурсам Kubernetes в отдельном namespace на основе их ролей Kubernetes RBAC. API RBAC объявляет четыре типа объектов Kubernetes: Role, ClusterRole, RoleBinding и ClusterRoleBinding, которые описаны ниже:

  • Roles: определяют набор правил доступа к ресурсам Kubernetes в namespace.
  • RoleBindings: определяют связь между пользователями и ролями.
  • ClusterRoles: определяют набор правил доступа к ресурсам Kubernetes в кластере (включая все namespace).
  • ClusterRoleBindings: определяют связь между пользователями и ролями кластера.

Roles и ClusterRoles определяют действия, которые могут быть выполнены над конкретными ресурсами. RoleBindings и ClusterRoleBindings связывают Roles с конкретными пользователями, группами пользователей или учетными записями сервисов.

Рисунок 1 Role binding


В консоли CCE вы можете назначать разрешения пользователю или группе пользователей для доступа к ресурсам в одном или нескольких пространствах имён. По умолчанию консоль CCE предоставляет следующие ClusterRoles:

  • view (read-only): разрешения только на чтение для большинства ресурсов во всех или выбранных пространствах имён.
  • edit (development): разрешения на чтение и запись для большинства ресурсов во всех или выбранных пространствах имён. Если этот ClusterRole настроен для всех пространств имён, его возможности совпадают с разрешением O&M.
  • admin (O&M): разрешения на чтение и запись для большинства ресурсов во всех пространствах имён, а также разрешения только на чтение для nodes, storage volumes, namespaces и quota management.
  • cluster-admin (administrator): разрешения на чтение и запись для всех ресурсов во всех пространствах имён.
  • drainage-editor: дренировать узел.
  • drainage-viewer: просматривать статус дренирования узла, но не может дренировать узел.

В дополнение к перечисленным типичным ClusterRoles вы можете определить Role и RoleBinding, чтобы предоставить разрешения на добавление, удаление, изменение и получение ресурсов (например, nodes, PVs и CustomResourceDefinitions) и различных ресурсов (например, pods, Deployments и Services) в конкретных пространствах имён. Это позволяет более точно управлять разрешениями.