Параметры доступа и удостоверения для Azure Kubernetes Service (AKS)

AKS использует идентификацию в пяти отдельных сценариях. Каждый сценарий отвечает на другой вопрос и имеет собственную модель конфигурации. В этой статье представляются краткое введение для каждой из них и ссылки на углубленную документацию.

Пять сценариев идентификации в AKS

Scenario Вопрос, на который дается ответ Документация по глубокому погружению
А. Проверка подлинности на уровне управления Kubernetes Кто вызывает API Kubernetes? Основные понятия проверки подлинности кластера, внешние поставщики идентификационных данных
B. Авторизация уровня управления Kubernetes Что разрешено делать вызывающему после аутентификации в API Kubernetes? Основные понятия авторизации кластера
В. Авторизация ресурсов AKS (Azure Resource Manager) Кто может выполнять операции на уровне Azure с ресурсом AKS, например пуллинг kubeconfig? Ограничение доступа к файлу конфигурации кластера, встроенным ролям Azure
D. Идентификация кластера (кластер → Azure) Как кластер AKS действует в Azure для управления ресурсами от вашего имени? Управляемые удостоверения в AKS
Е. Удостоверение рабочей нагрузки (pod → Azure) Как pod`ы проходят аутентификацию в службах Azure, таких как Key Vault или Azure Storage? Обзор идентификатора рабочей нагрузки Microsoft Entra

Остальная часть этой статьи содержит краткую ориентацию на каждый сценарий.

А. Проверка подлинности на уровне управления Kubernetes

Проверка подлинности на уровне управления Kubernetes устанавливает удостоверение пользователя или субъекта-службы, вызывающего сервер API Kubernetes. AKS поддерживает:

Подробные сведения о том, как AKS выполняет проверку подлинности запросов API Kubernetes, см. в основных понятиях проверки подлинности кластера.

B. Авторизация уровня управления Kubernetes

После проверки подлинности вызывающего объекта в API Kubernetes AKS авторизует запрос с помощью одной (или обоих) моделей:

  • Kubernetes RBAC. Собственная модель KubernetesRole / ClusterRole / RoleBinding, вычисляемая сервером API. Разрешения существуют в кластере в виде объектов Kubernetes.
  • Авторизация идентификатора Microsoft Entra. Веб-перехватчик авторизации AKS делегирует решения о авторизации идентификатору Microsoft Entra с помощью назначений ролей Azure. Назначения dataActions ролей Azure RBAC поддерживаются для всех стандартных ресурсов API Kubernetes, а назначения ролей с условиями Azure ABAC поддерживаются для пользовательских ресурсов. Разрешения управляются централизованно в Microsoft Entra ID и могут управлять многими кластерами с помощью одного назначения роли в подписке, группе управления или группе ресурсов.

Параллельное сравнение и рекомендации по использованию каждой модели см. в концепциях авторизации кластера.

В. Авторизация ресурсов AKS (Azure Resource Manager)

Помимо авторизации вызовов API Kubernetes, необходимо также авторизовать операции уровня Azure в самом ресурсе AKS. Наиболее распространенным примером является управление тем, кто может получить доступ к кластеру kubeconfig, что представляет собой самостоятельную операцию Azure Resource Manager, которую можно тонко регулировать с помощью Azure RBAC. Это использование стандартного механизма RBAC в Azure для Microsoft.ContainerService поставщика ресурсов, который отделён от авторизации API Kubernetes. См. раздел "Ограничение доступа к файлу конфигурации кластера " и встроенным ролям в встроенных ролях Azure.

D. Идентификация кластера (кластер → Azure)

Кластеры AKS используют управляемые удостоверения Azure для действий с ресурсами Azure от вашего имени, например для создания подсистем балансировки нагрузки, подключения дисков или извлечения образов из реестра контейнеров Azure. Основные идентичности:

  • Идентификатор управляющей плоскости. Используется плоскостем управления кластером для управления ресурсами Azure для кластера.
  • Удостоверение Kubelet. Используется kubelet на каждом узле для аутентификации к таким службам, как Реестр контейнеров Azure.
  • Идентификация надстроек и расширений. Некоторые надстройки и расширения AKS используют собственные управляемые удостоверения.

Дополнительные сведения о каждом типе удостоверения и использовании назначаемых системой удостоверений и удостоверений, назначенных пользователем, см. в разделе "Управляемые удостоверения" в AKS.

Е. Удостоверение рабочей нагрузки (pod → Azure)

Удостоверение рабочей нагрузки позволяет контейнерам, работающим в вашем кластере AKS, выполнять проверку подлинности в Azure-службах, защищенных с помощью Microsoft Entra (таких как Key Vault, Storage или Cosmos DB), без хранения секретов в кластере. AKS использует идентификатор рабочей нагрузки Microsoft Entra, который предоставляет маркер учетной записи службы Kubernetes, федеративно привязанный к приложению Microsoft Entra или управляемому удостоверению, назначенному пользователем.

Не используйте устаревшее управляемое пользователем удостоверение Microsoft Entra pod для новых рабочих нагрузок.

Рекомендации по принятию решений

Цель Использование этих документов
Вход пользователей в кластер с помощью идентификатора Microsoft Entra Включение интеграции Microsoft Entra
Контроль доступа к действиям в API Kubernetes на множестве кластеров Использование авторизации идентификатора Microsoft Entra для API Kubernetes
Ограничение доступа к определенным пользовательским типам ресурсов Условия ABAC в авторизации Entra ID
Создание разрешений для каждого кластера для каждого пространства имен в виде объектов Kubernetes Использование Kubernetes RBAC с интеграцией Entra
Разрешить кластеру загружать данные из ACR или подключать диски Управляемые удостоверения в AKS
Позвольте контейнерам напрямую подключаться к Key Vault или хранилищу без использования секретов. Обзор идентификатора рабочей нагрузки Microsoft Entra
Ограничение того, кто может скачать кластер kubeconfig Ограничение доступа к файлу конфигурации кластера

Справочник по разрешениям службы AKS

Сведения о разрешениях Azure, используемых AKS— удостоверение создания кластера, удостоверение кластера во время выполнения, дополнительные разрешения удостоверения кластера и доступ к узлу AKS— см. в справочнике по разрешениям службы AKS.

Следующие шаги

Дополнительные сведения о ключевых понятиях Kubernetes и AKS приведены в следующих статьях: