Поделиться через


Обзор управляемых удостоверений в службе Azure Kubernetes (AKS)

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

Сведения о включении управляемого удостоверения в новом или существующем кластере AKS см. в статье "Использование управляемого удостоверения в службе Azure Kubernetes(AKS)". Дополнительные сведения об управляемых удостоверениях в Azure см. в документации об управляемых удостоверениях для ресурсов Azure.

Замечание

Назначаемые системой и назначаемые пользователем типы удостоверений отличаются от удостоверения рабочей нагрузки, который предназначен для использования приложением, работающим в модуле pod.

Процесс авторизации управляемых удостоверений в AKS

Кластеры AKS используют управляемые удостоверения, назначаемые системой или назначаемые пользователем, для запроса токенов из Microsoft Entra. Эти маркеры помогают авторизовать доступ к другим ресурсам, работающим в Azure. Вы назначаете роль управления доступом на основе ролей Azure (Azure RBAC) управляемому удостоверению, чтобы предоставить ему разрешения на определенный ресурс Azure. Например, можно предоставить разрешения управляемому удостоверению для доступа к секретам в хранилище ключей Azure для использования кластером.

Поведение управляемого удостоверения в AKS

При развертывании кластера AKS по умолчанию создается системное управляемое удостоверение. Вы также можете создать кластер с управляемым удостоверением, назначенным пользователем, или обновить существующий кластер до другого типа управляемого удостоверения.

Если в кластере уже используется управляемое удостоверение, и вы изменяете тип удостоверения (например, с назначаемого системой на назначенного пользователем), компоненты плоскости управления переходят на новое удостоверение с задержкой. Компоненты управляющей плоскости продолжают использовать старый идентификатор до истечения срока действия маркера. После обновления токена они переключатся на новую идентичность. Этот процесс может занять несколько часов.

Замечание

Кроме того, можно создать кластер с учетной записью службы приложения, а не управляемым удостоверением. Однако мы рекомендуем использовать управляемое удостоверение вместо принципала службы приложения для обеспечения безопасности и простоты использования. Если у вас есть существующий кластер, использующий сервисный принципал приложения, его можно обновить для использования управляемого удостоверения.

Управление удостоверениями и учетными данными AKS

Платформа Azure управляет управляемыми удостоверениями, назначаемыми системой и назначаемыми пользователем, поэтому вы можете авторизовать доступ из приложений, не требуя подготовки или смены секретов.

Назначаемый системой управляемый идентификатор

В следующей таблице приведены основные характеристики управляемой идентичности, назначаемой системой в AKS:

Создание Lifecycle Общий доступ ко всем ресурсам Распространенные варианты использования
Создан в составе ресурса Azure, например кластера AKS Привязан к жизненному циклу родительского ресурса, поэтому он удаляется при удалении родительского ресурса. Может быть связана только с одним ресурсом • Рабочие нагрузки, содержащиеся в одном ресурсе Azure
• Рабочие нагрузки, требующие независимых идентичностей

Управляемая идентификация, назначаемая пользователем

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

Создание Lifecycle Общий доступ между ресурсами Распространенные варианты использования
Создан как автономный ресурс Azure и должен существовать до создания кластера. Независимо от жизненного цикла любого конкретного ресурса, требуется ручное удаление, если ресурс больше не нужен. Может быть предоставлен общий доступ к нескольким ресурсам • Рабочие нагрузки, проводимые на нескольких ресурсах и могущие совместно использовать одну идентичность.
• Рабочие нагрузки, требующие предварительного авторизованного доступа к безопасному ресурсу в процессе предоставления ресурсов
• Рабочие нагрузки, в которых ресурсы часто перезапускаются, но требуются согласованные разрешения

Предварительно созданное управляемое удостоверение kubelet

Предварительно созданное управляемое удостоверение kubelet — это необязательное удостоверение, назначаемое пользователем, которое kubelet может использовать для доступа к другим ресурсам в Azure. Эта функция включает такие сценарии, как подключение к реестру контейнеров Azure (ACR) во время создания кластера. Если пользовательское управляемое удостоверение для kubelet не указано, AKS создает пользовательское удостоверение kubelet в группе ресурсов узла. Для назначаемого пользователем удостоверения kubelet за пределами группы ресурсов рабочего узла по умолчанию необходимо назначить роль оператора управляемого удостоверения kubelet для управляемого удостоверения уровня управления.

Назначения ролей для управляемых идентификаторов в AKS

Роль Azure RBAC можно назначить управляемому удостоверению, чтобы предоставить разрешения кластера другому ресурсу Azure. Azure RBAC поддерживает встроенные и пользовательские определения ролей, определяющие уровни разрешений. Чтобы назначить роль, см. инструкции по назначению роли Azure.

При назначении управляемому удостоверению роли Azure RBAC, необходимо определить область действия этой роли. Как правило, рекомендуется ограничить область применения роли только самыми необходимыми привилегиями, необходимыми для управляемой учетной записи. Дополнительные сведения о области ролей Azure RBAC см. в статье "Общие сведения о области azure RBAC".

Назначения ролей управляемых удостоверений уровня управления

Когда вы создаете и используете собственную виртуальную сеть, подключенные диски Azure, статический IP-адрес, таблицу маршрутов или удостоверение kubelet, назначаемое пользователем, где ресурсы находятся за пределами группы ресурсов рабочего узла, Azure CLI автоматически добавляет назначение ролей. Если вы используете шаблон ARM или другой метод, используйте основной идентификатор управляемого удостоверения для назначения ролей.

Если вы не используете Azure CLI, но используете собственную виртуальную сеть, подключенные диски Azure, статический IP-адрес, таблицу маршрутов или удостоверение kubelet, назначаемое пользователем, которое находится за пределами группы ресурсов рабочего узла, рекомендуется использовать управляемое удостоверение, назначаемое пользователем для плоскости управления.

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

Сводка управляемых удостоверений, используемых AKS

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

Идентичность Имя Сценарий использования Разрешения по умолчанию Используйте своё удостоверение
Контрольная плоскость Имя кластера AKS Используется компонентами уровня управления AKS для управления ресурсами кластера, включая подсистемы балансировки нагрузки ingress и общедоступные IP-адреса, управляемые AKS, автомасштабирование кластера, диск Azure, файл, драйверы CSI BLOB-объектов Роль участника для группы ресурсов Node Поддерживается
Kubelet AKS cluster name-agentpool Проверка подлинности с помощью реестра контейнеров Azure (ACR) N/A для Kubernetes версии 1.15 и более поздних версий Поддерживается
Дополнение AzureNPM Подтверждение личности не требуется N/A Не поддерживается
Дополнение Мониторинг сети AzureCNI Идентификация не требуется N/A Не поддерживается
Дополнение azure-policy (gatekeeper) — система политик Azure для управления доступом и ресурсами. Удостоверение не требуется N/A Не поддерживается
Дополнение Ситец Подтверждение личности не требуется N/A Не поддерживается
Дополнение маршрутизация приложений Управление сертификатами Azure DNS и Azure Key Vault Роль пользователя секретов для Key Vault, роль вкладчика зоны DNS для зон DNS, роль вкладчика частной зоны DNS для частных зон DNS Не поддерживается
Дополнение HTTPApplicationRouting Управление необходимыми сетевыми ресурсами Роль читателя для группы ресурсов узла, роль участника для зоны DNS Не поддерживается
Дополнение Шлюз приложений входящего трафика Управление необходимыми сетевыми ресурсами Роль участника для группы ресурсов узла Не поддерживается
Дополнение omsagent Используется для отправки метрик AKS в Azure Monitor Роль издателя метрик мониторинга Не поддерживается
Дополнение Virtual-Node (ACIConnector) Управляет необходимыми сетевыми ресурсами для Azure Container Instances (ACI) Роль участника для группы ресурсов узла Не поддерживается
Дополнение Анализ затрат Используется для сбора данных о выделении затрат N/A Поддерживается
Идентификация рабочей нагрузки Идентификация рабочей нагрузки Microsoft Entra Позволяет приложениям безопасно получать доступ к облачным ресурсам с помощью идентификатора рабочей нагрузки Microsoft Entra N/A Не поддерживается

Следующий шаг: Включите управляемые удостоверения в AKS

Сведения о включении управляемых удостоверений в новом или существующем кластере AKS см. в статье Об использовании управляемого удостоверения в службе Azure Kubernetes (AKS).