Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Установка Stackland на Yandex BareMetal через PXE
    • Установка Stackland на виртуальные машины в Yandex Cloud
    • Настройка внешнего доступа к поду в кластере
    • Проверка подписи собственных образов
    • Все инструкции
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
    • Лицензирование
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок
    • Все рецепты
      • Проектирование модели доступов
      • Подготовка проекта и пространств имен команды
      • Настройка прав в IAM
      • Настройка квот

В этой статье:

  • Авторизация в Stackland
  • Kubernetes RBAC
  • IAM AccessBinding
  • Типы субъектов
  • Иерархия ресурсов
  • Примеры использования
  • Модель доступов для команды
  • Матрица доступов
  • Итоги
  1. Сборник рецептов администратора Stackland
  2. Запуск команды разработки в инсталляцию
  3. Проектирование модели доступов

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

Статья создана
Yandex Cloud
Открыть в Markdown
  • Авторизация в Stackland
    • Kubernetes RBAC
    • IAM AccessBinding
  • Типы субъектов
  • Иерархия ресурсов
  • Примеры использования
  • Модель доступов для команды
    • Матрица доступов
  • Итоги

В этом рецепте вы разберетесь, как устроен IAM платформы, как он связан с Kubernetes RBAC, и составите матрицу доступов для команды разработки.

Примечание

Спроектированная модель будет реализована в следующих рецептах.

Авторизация в StacklandАвторизация в Stackland

В Stackland за авторизацию действий отвечают две системы, которые работают параллельно: Kubernetes RBAC и IAM AccessBinding.

  • Kubernetes RBAC авторизует операции над ресурсами Kubernetes.

  • IAM AccessBinding отвечает за пользователей и группы, а также за обращения к API сервисов: S3, SpeechSense, DataLens и т. д.

Kubernetes RBACKubernetes RBAC

Kubernetes RBAC авторизует все операции над любыми ресурсами Kubernetes — и над встроенными, и над Custom Resources (CR), через которые управляют сервисами Stackland. Права выдаются как через стандартные Role, RoleBinding и ClusterRole, ClusterRoleBinding, так и через дополнительные ресурсы Stackland для управления доступом на уровне проекта — ProjectRole, ProjectRoleBinding.

Когда использовать Kubernetes RBACКогда использовать Kubernetes RBAC

Kubernetes RBAC — основной инструмент для управления инфраструктурой и конфигурацией. Через него настраивают доступ к таким ресурсам:

  • Встроенные ресурсы Kubernetes: Pod, Deployment, Service, Ingress, Secret, ConfigMap, PersistentVolumeClaim и другие.

  • Ресурсы управляемых (платформенных) сервисов. Через RBAC создают, изменяют и удаляют и сами сервисы, и относящиеся к ним ресурсы:

    • PostgreSQLCluster, ClickHouseCluster, KafkaCluster.

    • KafkaTopic, KafkaUser.

    Примечание

    За доступ к data-plane сервисов — подключение к БД, чтение и запись данных — отвечает сам движок сервиса.

  • CR Bucket для Object Storage. Управление самим бакетом: создание, удаление, настройка CORS.

    Примечание

    Доступ к объектам внутри бакета контролирует IAM. Подробнее — в разделе «IAM AccessBinding».

  • CR самого IAM. Объекты, которые управляют доступом к платформе:

    • ApiKey, AccessKey, OAuthClient, SAMLFederation.

    • AccessBinding, ClusterAccessBinding — то есть IAM настраивают через ресурсы, доступ к которым контролирует Kubernetes RBAC.

Ресурсы и роли Kubernetes RBACРесурсы и роли Kubernetes RBAC

Ресурс

Уровень

Область действия

ClusterRoleBinding

Весь кластер

Ресурсы во всех пространствах имен кластера

ProjectRoleBinding

Проект

Ресурсы во всех пространствах имен проекта

RoleBinding

Пространство имен

Ресурсы только в указанном пространстве имен

Примитивные роли StacklandПримитивные роли Stackland

В Stackland есть набор примитивных ролей. Их назначают пользователям и группам через RoleBinding или ClusterRoleBinding — в зависимости от нужной области доступа.

  • stackland:admin — полные права на все ресурсы ('*') во всех API-группах.

  • stackland:editor — то же, что stackland:admin, кроме IAM-объектов и проектов.

    Важно

    В отличие от admin, эта роль не позволяет управлять объектами самого IAM: AccessBinding, ClusterAccessBinding, OAuthClient и другими. То есть настроить права доступа для других пользователей с ней не получится. Еще эта роль не дает создавать проекты и управлять пространствами имен.

  • stackland:viewer — только чтение (get, list, watch) основных ресурсов: подов, деплойментов, конфигураций, ресурсов управляемых сервисов, сертификатов и других.

  • stackland:auditor — все права stackland:viewer плюс расширенный просмотр: видны метаданные секретов, сетевые политики и политики безопасности, сертификаты и RBAC-объекты, то есть роли и привязки.

Пример. Назначение прав редактора для пользователя в пространстве имен team-alpha-dev:

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: developer-edit
  namespace: team-alpha-dev
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: stackland:editor # Использование предопределенной роли Stackland
subjects:
- kind: User
  name: alice@stackland  # Субъект из IAM

IAM AccessBindingIAM AccessBinding

IAM AccessBinding — механизм Identity and Access Management. Он назначает права субъектам на разных уровнях: кластера, проекта, пространства имен и так далее.

Когда использовать IAM AccessBindingКогда использовать IAM AccessBinding

Механизм решает несколько задач:

  • Управление пользователями и группами — создание и редактирование локальных пользователей и групп.

    Внимание

    Пока управлять пользователями и группами можно только из консоли управления.

  • Data-plane операции с Object Storage (S3) — чтение, запись и удаление объектов внутри бакета через S3 API. За выдачу прав отвечают роли storage.*.

  • Доступ к платформенным сервисам — авторизация всех действий в SpeechSense и Yandex AI Studio on-premises.

Ресурсы и роли IAM AccessBindingРесурсы и роли IAM AccessBinding

Ресурс

Уровень

Область действия

ClusterAccessBinding

Весь кластер

Все проекты и ресурсы кластера

ProjectAccessBinding

Проект

Все проекты и ресурсы проекта

AccessBinding

Пространство имен

Только указанное пространство имен

IAM-ролиIAM-роли

Примитивные роли:

  • admin — администратор. Все права editor плюс управление пользователями и группами в консоли.

  • editor — редактор. Создает и изменяет ресурсы.

  • viewer — наблюдатель. Только чтение.

Специализированные роли:

  • storage.admin — полное управление объектами в бакете через S3 API.

  • storage.editor — чтение и запись объектов в бакете через S3 API.

  • datalens.admin — полный доступ к DataLens: управление пользователями, коллекциями, воркбуками и источниками данных.

  • datalens.creator — создание и редактирование объектов: дашбордов, чартов, датасетов, подключений.

Для различных компонентов существуют и другие специализированные роли.

Пример. Назначение роли на чтение и запись объектов в бакетах S3 конкретного проекта:

apiVersion: iam.stackland.yandex.cloud/v1alpha1
kind: ProjectAccessBinding
metadata:
  name: bob-storage-editor
  namespace: team-alpha
spec:
  roleID: storage.editor # Роль IAM для data-plane
  subject:
    kind: User
    name: bob@stackland

Ограничения IAMОграничения IAM

  • Кастомные роли создать нельзя. Доступны только предопределенные: admin, editor, storage.editor и другие.

  • Создание пользователей и групп возможно только через консоль управления.

  • Поддерживаются только федерации SAML.

Типы субъектовТипы субъектов

Kubernetes RBAC и IAM AccessBinding поддерживают в привязках ролей следующие типы субъектов:

Тип

Описание

User

Локальный пользователь IAM

Group

Группа пользователей IAM

ServiceAccount

Сервисный аккаунт Kubernetes®

FederatedUser

Пользователь из внешнего провайдера идентификации

Иерархия ресурсовИерархия ресурсов

Права наследуются сверху вниз по трехуровневой модели:

Уровень

RBAC-ресурс

IAM-ресурс

Кластер

ClusterRoleBinding

ClusterAccessBinding

Проект

ProjectRoleBinding

ProjectAccessBinding

Пространство имен

RoleBinding

AccessBinding

Примеры использованияПримеры использования

Таблица показывает, какой механизм выбрать под конкретную задачу:

Задача

Механизм авторизации

Ресурс для настройки

Деплой приложений, управление подами

Kubernetes® RBAC

RoleBinding, ProjectRoleBinding, ClusterRoleBinding

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

Kubernetes® RBAC

RoleBinding, ProjectRoleBinding, ClusterRoleBinding

Создание бакета S3

Kubernetes® RBAC

RoleBinding, ProjectRoleBinding, ClusterRoleBinding

Чтение или запись объектов внутри бакета

IAM AccessBinding

RoleBinding, ProjectRoleBinding, ClusterRoleBinding

Выдача прав на создание бакетов

Kubernetes® RBAC

RoleBinding, ProjectRoleBinding, ClusterRoleBinding

Создание нового пользователя в консоли

IAM AccessBinding

ClusterAccessBinding

Управление проектами (создание, удаление)

Kubernetes® RBAC

ClusterRoleBinding

Модель доступов для командыМодель доступов для команды

Типовая команда — администратор кластера, администратор проекта и разработчик.

  • Администратор кластера

    Наивысшие права во всем кластере. Управляет проектами, пользователями и группами, назначает любые роли на любых уровнях, работает со всеми ресурсами Kubernetes в кластере.

  • Администратор проекта

    Управляет ресурсами одного проекта: создает управляемые базы данных и бакеты S3, назначает IAM-роли другим пользователям в пределах проекта. Работает со всеми пространствами имен проекта. За пределы проекта права не выходят, кластером в целом он не управляет.

  • Разработчик

    Минимально необходимые права для работы. Через IAM (роль stackland:project-member) просматривает список доступных проектов и сервисов платформы. Через RBAC (роль edit в конкретном пространстве имен) деплоит приложения, смотрит логи, читает и меняет секреты в своем пространстве имен. Конфигурацией проекта и платформой не управляет.

Матрица доступовМатрица доступов

Действие

Администратор кластера

Администратор проекта

Разработчик

Роль RBAC

stackland:admin (ClusterRoleBinding)

stackland:admin (ProjectRoleBinding)

stackland:project-member (ProjectRoleBinding)

stackland:editor (RoleBinding в team-alpha-dev)

Роль IAM

admin (ClusterAccessBinding)

admin (ProjectAccessBinding)

—

Управление платформой (уровень кластера)

Создание проектов

Да (RBAC)

Нет

Нет

Управление пользователями и группами

Да (IAM)

Нет

Нет

Назначение IAM-ролей

Да (RBAC)

Нет

Нет

Управление проектом (уровень проекта)

Настройка квот проекта

Да (RBAC)

Нет

Нет

Создание и удаление пространства имен в проекте

Да (RBAC)

Да (RBAC)

Нет

Назначение IAM-ролей

Да (RBAC)

Да (RBAC)

Нет

Создание и настройка кластеров PostgreSQL, ClickHouse® и Apache Kafka®

Да (RBAC)

Да (RBAC)

Нет

Создание и настройка бакетов S3

Да (RBAC)

Да (RBAC)

Нет

Управление пространством имен (уровень пространства имен)

Создание и настройка кластеров PostgreSQL, ClickHouse® и Apache Kafka®

Да (RBAC)

Да (RBAC)

Да (RBAC)

Создание и настройка бакетов S3

Да (RBAC)

Да (RBAC)

Да (RBAC)

Деплой приложений

Да (RBAC)

Да (RBAC)

Да (RBAC)

Просмотр логов и метрик

Да (RBAC)

Да (RBAC)

Да (RBAC)

Просмотр и изменение секретов

Да (RBAC)

Да (RBAC)

Да (RBAC)

Просмотр RBAC-ресурсов

Да (RBAC)

Да (RBAC)

Нет

Создание и изменение RBAC-ресурсов

Да (RBAC)

Да (RBAC)

Нет

ИтогиИтоги

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

  • Kubernetes RBAC — основной инструмент для доступа ко всем ресурсам, включая CR. Через него управляют инфраструктурой и конфигурацией.

  • IAM AccessBinding отвечает за доступ к данным S3 через S3 API, за пользователей и группы, а также за действия в некоторых платформенных сервисах: SpeechSense и Yandex AI Studio on-premises.

  • Права наследуются сверху вниз по иерархии: кластер, проект, пространство имен.

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

Была ли статья полезна?

Предыдущая
Первичная настройка
Следующая
Подготовка проекта и пространств имен команды
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»