Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
    • Все инструкции
    • Подключение к узлу по SSH
    • Подключение к узлу через OS Login
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение Terraform-провайдера Kubernetes
      • Получение информации о кластере Kubernetes
      • Посмотреть операции с кластером Kubernetes
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Управление доступом к кластеру Kubernetes
      • Мониторинг состояния кластера Kubernetes
      • Удаление кластера Kubernetes
    • Подключение внешних узлов к кластеру
    • Настройка WireGuard-шлюзов для подключения внешних узлов к кластеру
    • Настройка IPSec-шлюзов для подключения внешних узлов к кластеру
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Обучающие курсы

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

  • Получить список ролей, назначенных на кластер
  • Назначить роль
  • Назначить несколько ролей
  • Отозвать роль
  1. Пошаговые инструкции
  2. Управление кластером Kubernetes
  3. Управление доступом к кластеру Kubernetes

Управление доступом к кластеру Managed Service for Kubernetes

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 13 августа 2025 г.
  • Получить список ролей, назначенных на кластер
  • Назначить роль
  • Назначить несколько ролей
  • Отозвать роль

Чтобы предоставить субъекту доступ к кластеру, назначьте ему роль на кластер.

Получить список ролей, назначенных на кластерПолучить список ролей, назначенных на кластер

CLI

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Получите список кластеров в каталоге по умолчанию, выполнив команду:

    yc managed-kubernetes cluster list
    
  2. Получите список ролей, назначенных на кластер, выполнив команду:

    yc managed-kubernetes cluster list-access-bindings <имя_или_идентификатор_кластера>
    

Назначить рольНазначить роль

CLI
Terraform

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для назначения роли на кластер:

    yc managed-kubernetes cluster add-access-binding --help
    
  2. Назначьте роль, выполнив команду:

    yc managed-kubernetes cluster add-access-binding <имя_или_идентификатор_кластера> \
      --role <идентификатор_роли> \
      --subject <тип_субъекта>:<идентификатор_субъекта>
    

    Где:

    • --role — идентификатор назначаемой роли.

    • --subject — тип и идентификатор субъекта, которому назначается роль, в формате: <тип_субъекта>:<идентификатор_субъекта>.

      Например:

      • serviceAccount:aje6p030************,
      • userAccount:aje8tj79************,
      • system:allAuthenticatedUsers.

      Допустимые типы субъектов:

      • userAccount — аккаунт на Яндексе, добавленный в Yandex Cloud, или аккаунт из пула пользователей.

      • serviceAccount — сервисный аккаунт, созданный в Yandex Cloud.

      • federatedUser — аккаунт пользователя федерации удостоверений.

      • group — группа пользователей Yandex Identity Hub.

      • system — публичная группа пользователей.

        Допустимые значения идентификатора субъекта:

        • allAuthenticatedUsers — все пользователи, прошедшие аутентификацию.
        • allUsers — любой пользователь, прохождение аутентификации не требуется.

      Подробнее о типах субъектов см. в разделе Субъект, которому назначается роль.

  3. Проверьте список ролей, назначенных на кластер, выполнив команду:

    yc managed-kubernetes cluster list-access-bindings <имя_или_идентификатор_кластера>
    

Важно

Не используйте ресурс yandex_kubernetes_cluster_iam_member для назначения ролей, которые управляются ресурсом yandex_kubernetes_cluster_iam_binding.

  1. Откройте актуальный конфигурационный файл с описанием кластера Managed Service for Kubernetes.

    О том, как создать такой файл, см. в разделе Создание кластера Managed Service for Kubernetes.

  2. Добавьте описание ресурса:

    resource "yandex_kubernetes_cluster_iam_member" "<локальное_имя_ресурса>" {
      cluster_id = "<идентификатор_кластера>"
      role       = "<идентификатор_роли>"
      member     = "<тип_субъекта>:<идентификатор_субъекта>"
    }
    

    Где:

    • cluster_id — идентификатор кластера.

    • role — идентификатор назначаемой роли.

    • member — тип и идентификатор субъекта, которому назначается роль, в формате: <тип_субъекта>:<идентификатор_субъекта>.

      Например:

      • serviceAccount:${yandex_iam_service_account.k8s_sa.id},
      • userAccount:ajerq94v************,
      • system:allAuthenticatedUsers.

      Допустимые типы субъектов:

      • userAccount — аккаунт на Яндексе, добавленный в Yandex Cloud, или аккаунт из пула пользователей.

      • serviceAccount — сервисный аккаунт, созданный в Yandex Cloud.

      • federatedUser — аккаунт пользователя федерации удостоверений.

      • group — группа пользователей Yandex Identity Hub.

      • system — публичная группа пользователей.

        Допустимые значения идентификатора субъекта:

        • allAuthenticatedUsers — все пользователи, прошедшие аутентификацию.
        • allUsers — любой пользователь, прохождение аутентификации не требуется.

      Подробнее о типах субъектов см. в разделе Субъект, которому назначается роль.

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Подробнее см. в документации провайдера Terraform.

  5. Проверьте список ролей, назначенных на кластер, выполнив команду CLI:

    yc managed-kubernetes cluster list-access-bindings <имя_или_идентификатор_кластера>
    

Назначить несколько ролейНазначить несколько ролей

CLI
Terraform

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Внимание

Команда set-access-bindings удаляет все назначенные на кластер роли и задает новые.

  1. Посмотрите список ролей, назначенных на кластер, выполнив команду:

    yc managed-kubernetes cluster list-access-bindings <имя_или_идентификатор_кластера>
    
  2. Посмотрите описание команды CLI для назначения ролей на кластер:

    yc managed-kubernetes cluster set-access-bindings --help
    
  3. Назначьте роли, выполнив команду:

    yc managed-kubernetes cluster set-access-bindings <имя_или_идентификатор_кластера> \
      --access-binding role=<идентификатор_роли_1>,subject=<тип_субъекта>:<идентификатор_субъекта_1> \
      --access-binding role=<идентификатор_роли_2>,subject=<тип_субъекта>:<идентификатор_субъекта_2>
    

    Где --access-binding — назначает роль субъекту. Вы можете назначить несколько ролей одновременно, описав каждую в отдельном параметре --access-binding.

    • role — идентификатор назначаемой роли.

    • subject — тип и идентификатор субъекта, которому назначается роль, в формате: <тип_субъекта>:<идентификатор_субъекта>.

      Например:

      • serviceAccount:aje6p030************,
      • userAccount:aje8tj79************,
      • system:allAuthenticatedUsers.

      Допустимые типы субъектов:

      • userAccount — аккаунт на Яндексе, добавленный в Yandex Cloud, или аккаунт из пула пользователей.

      • serviceAccount — сервисный аккаунт, созданный в Yandex Cloud.

      • federatedUser — аккаунт пользователя федерации удостоверений.

      • group — группа пользователей Yandex Identity Hub.

      • system — публичная группа пользователей.

        Допустимые значения идентификатора субъекта:

        • allAuthenticatedUsers — все пользователи, прошедшие аутентификацию.
        • allUsers — любой пользователь, прохождение аутентификации не требуется.

      Подробнее о типах субъектов см. в разделе Субъект, которому назначается роль.

Важно

Не используйте ресурс yandex_kubernetes_cluster_iam_member для назначения ролей, которые управляются ресурсом yandex_kubernetes_cluster_iam_binding.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Добавьте описание ресурсов:

    resource "yandex_kubernetes_cluster_iam_member" "<локальное_имя_ресурса_1>" {
      cluster_id = "<идентификатор_кластера>"
      role       = "<идентификатор_роли_1>"
      member     = "<тип_субъекта>:<идентификатор_субъекта>"
    }
    
    resource "yandex_kubernetes_cluster_iam_member" "<локальное_имя_ресурса_2>" {
      cluster_id = "<идентификатор_кластера>"
      role       = "<идентификатор_роли_2>"
      member     = "<тип_субъекта>:<идентификатор_субъекта>"
    }
    

    Где:

    • cluster_id — идентификатор кластера.

    • role — идентификатор назначаемой роли.

    • member — тип и идентификатор субъекта, которому назначается роль, в формате: <тип_субъекта>:<идентификатор_субъекта>.

      Например:

      • serviceAccount:${yandex_iam_service_account.k8s_sa.id},
      • userAccount:ajerq94v************,
      • system:allAuthenticatedUsers.

      Допустимые типы субъектов:

      • userAccount — аккаунт на Яндексе, добавленный в Yandex Cloud, или аккаунт из пула пользователей.

      • serviceAccount — сервисный аккаунт, созданный в Yandex Cloud.

      • federatedUser — аккаунт пользователя федерации удостоверений.

      • group — группа пользователей Yandex Identity Hub.

      • system — публичная группа пользователей.

        Допустимые значения идентификатора субъекта:

        • allAuthenticatedUsers — все пользователи, прошедшие аутентификацию.
        • allUsers — любой пользователь, прохождение аутентификации не требуется.

      Подробнее о типах субъектов см. в разделе Субъект, которому назначается роль.

  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Подробнее см. в документации провайдера Terraform.

  5. Проверьте список ролей, назначенных на кластер, выполнив команду CLI:

    yc managed-kubernetes cluster list-access-bindings <имя_или_идентификатор_кластера>
    

Отозвать рольОтозвать роль

CLI
Terraform

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите список ролей, назначенных на кластер, выполнив команду:

    yc managed-kubernetes cluster list-access-bindings <имя_или_идентификатор_кластера>
    
  2. Посмотрите описание команды CLI для отзыва роли на кластер:

    yc managed-kubernetes cluster remove-access-binding --help
    
  3. Отзовите роль, выполнив команду:

    yc managed-kubernetes cluster remove-access-binding <имя_или_идентификатор_кластера> \
      --role <идентификатор_роли> \
      --subject <тип_субъекта>:<идентификатор_субъекта>
    

    Где:

    • --role — идентификатор отзываемой роли.

    • --subject — тип и идентификатор субъекта, которому назначена роль, в формате: <тип_субъекта>:<идентификатор_субъекта>.

      Например:

      • serviceAccount:aje6p030************,
      • userAccount:aje8tj79************,
      • system:allAuthenticatedUsers.

      Допустимые типы субъектов:

      • userAccount — аккаунт на Яндексе, добавленный в Yandex Cloud, или аккаунт из пула пользователей.

      • serviceAccount — сервисный аккаунт, созданный в Yandex Cloud.

      • federatedUser — аккаунт пользователя федерации удостоверений.

      • group — группа пользователей Yandex Identity Hub.

      • system — публичная группа пользователей.

        Допустимые значения идентификатора субъекта:

        • allAuthenticatedUsers — все пользователи, прошедшие аутентификацию.
        • allUsers — любой пользователь, прохождение аутентификации не требуется.

      Подробнее о типах субъектов см. в разделе Субъект, которому назначается роль.

Важно

Не используйте ресурс yandex_kubernetes_cluster_iam_member для назначения ролей, которые управляются ресурсом yandex_kubernetes_cluster_iam_binding.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    О том, как создать такой файл, см. в разделе Создание кластера.

  2. Найдите описание ресурса с ролью, которую вы хотите отозвать, и удалите его:

    resource "yandex_kubernetes_cluster_iam_member" "<локальное_имя_ресурса>" {
      cluster_id = "<идентификатор_кластера>"
      role       = "<идентификатор_роли>"
      member     = "<тип_субъекта>:<идентификатор_субъекта>"
    }
    
  3. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Подробнее см. в документации провайдера Terraform.

  5. Проверьте список ролей, назначенных на кластер, выполнив команду CLI:

    yc managed-kubernetes cluster list-access-bindings <имя_или_идентификатор_кластера>
    

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

Предыдущая
Создание пространства имен в кластере Kubernetes
Следующая
Мониторинг состояния кластера Kubernetes
Проект Яндекса
© 2025 ООО «Яндекс.Облако»