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

Разрешения

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

Управление разрешениями CCE позволяет назначать разрешения пользователям IAM и группам пользователей в рамках ваших учетных записей тенанта. CCE сочетает преимущества IAM и RBAC, предоставляя различные методы авторизации, включая детализированную/токен‑авторизацию IAM и авторизацию, ограниченную уровнем кластера/пространства имён.

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

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

    Разрешения уровня кластера включают нестандартные 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 пользователи должны переключиться на уполномоченный регион.

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

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

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 требуется предоставить разрешения на пространство имён кластера другим пользователям или группам пользователей, у пользователя должно быть IAM read-only permission.

CCE FullAccess

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

Policy

None

CCE ReadOnlyAccess

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

Policy

None

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

Operation

CCE ReadOnlyAccess

CCE FullAccess

CCE Administrator

Создание кластера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запрос сведений о задаче

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

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

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

Создание storage volume

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

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

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

Удаление storage volume

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Список всех ресурсов на ECS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

API RBAC объявляет четыре типа объектов Kubernetes: Role, ClusterRole, RoleBinding и ClusterRoleBinding, которые описаны ниже:

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

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

Рисунок 1 Привязка роли


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

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

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