Менеджер доступов

В платформе “Штурвал” управление правами доступа осуществляется с помощью ресурса “permissions” (набор доступов), который позволяет гибко настроить доступы к разным частям платформы. Создать набор доступов можно в разделе “Управление доступом” платформы. Наборы доступов, созданные в менеджере доступов, доступны для назначения на пользователей и группы во всех клиентских кластерах и неймспейсах в соответствии с уровнем, для которого создан набор доступа.

Вы можете создать наборы доступов, которые назначат права:

  • к платформенным ресурсам (инфраструктура и права доступа);
  • к кластерным ресурсам (в т.ч. неймспейсам);
  • к ArgoCD.

Вы можете компоновать права доступа так, как требуется для реализации задач. Набор доступов позволяет выдавать права доступа в том числи сегментировано, например, только к ArgoCD. Для создания такого набора доступов оставьте незаполненными кластерные и платформенные разрешения.

Обратите внимание!

  • Изменение набора доступов в менеджере доступов приведет к изменению прав доступа всех пользователей и групп, на которых назначен этот набор доступов.
  • Если набор доступов назначен хотя бы одному пользователю или группе, то полное его удаление возможно только после снятия назначений с пользователей и групп.
  • Преднастроенные наборы доступов (например, platform-admin и cluster-admin) недоступны для внесения изменений или удаления. Разрешения в них строго зашиты. При необходимости создайте новые наборы доступов.
Скриншот

permissions

Есть 3 уровня, для которых может быть создан набор доступов:

Уровень набора доступа Описание возможностей уровня
Платформа Позволяет открыть доступ ко всей платформе в целом; к клиентским кластерам без доступа к кластеру управления; только к кластеру управления; к логам кластера управления и клиентских кластеров; к ArgoCD клиентских кластеров и кластера управления
Кластер Позволяет открыть доступ к определенному клиентскому кластеру в целом или только к некоторым его объектам; к логам клиентского кластера; к инфраструктуре клиентского кластера; к проектам ARGO CD определенного кластера
Неймспейс Позволяет открыть доступ к определенному неймспейсу клиентского кластера в целом или только к некоторым его объектам; к проекту ARGO CD этого неймспейса
Скриншот

permissionscreate

На каждом уровне доступа страница набора доступов содержит:

  • имя набора доступов. Задается при создании набора. Обязательное и неизменяемое.
  • описание набора доступов. Необязательное поле, позволяет внести короткое описание для удобства дальнейшего назначения. Рекомендуем поддерживать в актуальном состоянии для удобства использования наборов доступа.
  • роль в Argo CD. Необязательное поле, позволяет назначить роль в интерфейсе ArgoCD.
  • кластерные разрешения. Необязательные, позволяют задать набор правил в формате YAML. Каждое правило должно содержать API-группу, глаголы и ресурсы, к которым назначаются права.
  • платформенные разрешения. Необязательные, позволяют задать права к тем ресурсам, которыми управляет кластер управления. Для уровней “кластер” и “неймспейс” это управление объектами инфраструктуры (узлы, машины), неймспейсами и правами доступа. Для уровня “платформа” это управление ресурсами кластера управления.

Кластерные разрешения

Эти разрешения относятся только к клиентским кластерам. Так, например, кластерные разрешения, прописанные в набор доступов уровня “Платформа”, откроют доступ до указанных ресурсов клиентских кластеров. Ожидается валидный YAML. Первой строкой должна быть API-группа.

Пример
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'

Платформенные разрешения

Т.к. созданием кластеров, объектов инфраструктуры и доступа управляет кластер управления (платформа), разрешения называются платформенными. В зависимости от уровня создаваемого набора доступны следующие платформенные разрешения:

Платформенные разрешения
Название разрешения Полномочия Уровни набора разрешений Комментарий
access-map-get Просмотр назначенных ролей, дерева доступов Платформа -
cluster-create Создание клиентских кластеров Платформа Дополнительно требует как минимум разрешений provider-get, provider-edit и ippool-get. Рекомендуется для создания кластеров использовать только набор доступов platform-admin
permissions-edit Управление правами пользователей и групп в кластере управления Платформа -
permissions-get Получение сведений о правах доступа в кластере управления Платформа -
platform-roles-edit Управление правами доступа Service-accounts Платформа -
platform-roles-get Получение сведений о правах доступа Service-accounts Платформа -
provider-edit Управление провайдерами инфраструктуры Платформа Рекомендуется совместно с разрешениями ippool-get
provider-get Получение доступов о провайдерах инфраструктуры Платформа Рекомендуется совместно с разрешениями ippool-get
ippool-edit Управление пулами IP-адресов в кластере управления Платформа Рекомендуется совместно с разрешениями ippool-get, provider-get, provider-edit
ippool-get Получение пулов IP-адресов в кластере управления Платформа Пулы назначаются в провайдер, поэтому рекомендуется совместно с provider-get, provider-edit
cluster-delete Удаление клиентских кластеров Платформа, Кластер -
cluster-edit Установление аннотаций, приостановка реконсиляции инфраструктуры, создание информационного сообщения в клиентских кластерах Платформа, Кластер Дополнительно требует как минимум разрешений cluster-get и cluster-info
cluster-get Получение клиентского кластера, информационного сообщения Платформа, Кластер, Неймспейс На уровне “Неймспейс” позволяет получить объекты кластера
cluster-info Получение информации о клиентском кластере Платформа, Кластер -
cluster-infra-edit Управление узлами, машинами кластера Платформа, Кластер -
cluster-infra-get Получение сведений об узлах, машинах кластера Платформа, Кластер -
cluster-roles-edit Управление правами доступа пользователей и групп в кластере Платформа, Кластер -
cluster-roles-get Получение сведений о правах доступа в кластере Платформа, Кластер -
namespace-roles-edit Управление правами доступа пользователей и групп в неймспейсах клиентских кластеров Платформа, Кластер, Неймспейс -
namespace-roles-get Получение сведений о правах доступа в неймспейсах клиентских кластеров Платформа, Кластер, Неймспейс -
tenant-get Получение информации о тенанте Платформа, Кластер, Неймспейс В релизе 2.11.0 получить информацию о самом тенанте могут только пользователи с платформенными назначениями
tenant-edit Управление тенантами Платформа, Кластер В релизе 2.11.0 изменить информацию о самом тенанте могут только пользователи с платформенными назначениями

Роли в ArgoCD

Все роли доступны на любом из уровней набора разрешений. При создании на уровне “Платформа” роль будет назначена в каждом клиентском кластере. В кластере управления роль не создается.

Название роли Разрешения в ArgoCD Описание разрешений
admin policyAppCreate, policyAppGet, policyAppUpdate, policyAppSync, policyAppDelete, policyAppSetCreate, policyAppSetGet, policyAppSetUpdate, policyAppSetDelete, policyExecCreate, policyLogsGet Полный доступ на создание проектов, приложений
edit policyAppCreate, policyAppGet, policyAppSync, policyAppSetCreate, policyAppSetGet может создавать приложения, но не может менять репозиторий или удалять приложения
view policyAppGet, policyAppSetGet доступ на чтение информации в проектах ArgoCD
×