Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интеграция Microsoft Entra с управляемым AKS упрощает процесс интеграции Microsoft Entra. Ранее необходимо было создать клиентское и серверное приложение, а клиент Microsoft Entra должен был назначить разрешения роли читателей каталогов. Теперь поставщик ресурсов Службы Azure Kubernetes (AKS) управляет клиентскими и серверными приложениями.
Администраторы кластера могут настроить управление доступом на основе ролей (RBAC) для Kubernetes в зависимости от членства в группе каталогов или удостоверения пользователей. Проверка подлинности Microsoft Entra предоставляется кластерам AKS с помощью OpenID Connect. OpenID Connect представляет собой уровень идентификации на основе протокола OAuth 2.0. Дополнительные сведения о OpenID Connect см. в документации по OpenID Connect.
Дополнительные сведения о потоке интеграции Microsoft Entra см. в документации по Microsoft Entra.
Ограничения
Ниже приведены ограничения для интеграции проверки подлинности в AKS:
- Интеграция не может быть отключена после добавления.
- Переход с интегрированного кластера на устаревшие кластеры идентификаторов Microsoft Entra ID не поддерживаются.
- Кластеры без поддержки RBAC Kubernetes не могут добавить интеграцию.
Подготовка к работе
Чтобы установить надстройку AKS, убедитесь, что у вас есть следующие элементы:
- Вы установили и настроили Azure CLI версии 2.29.0 или более поздней. Чтобы найти версию, выполните команду
az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0. - Требуется
kubectlминимальная версия 1.18.1 илиkubelogin. С помощью Azure CLI и модуля Azure PowerShell эти две команды включаются и автоматически управляются. Это означает, что они обновляются по умолчанию и выполняютсяaz aks install-cliне обязательно или рекомендуется. Если вы используете автоматизированный конвейер, необходимо управлять обновлениями для правильной или последней версии. Разница между дополнительными версиями Kubernetes иkubectlне должна быть более одной версии. В противном случае проблемы проверки подлинности возникают в неправильной версии. - Если вы используете helm, вам нужна минимальная версия helm 3.3.
- Для этой конфигурации требуется группа Microsoft Entra для кластера. Эта группа зарегистрирована в качестве группы администрирования в кластере для предоставления разрешений администратора. Если у вас нет существующей группы Microsoft Entra, ее можно создать с помощью
az ad group createкоманды.
Примечание.
Интегрированные кластеры Microsoft Entra с использованием версии Kubernetes, более новой, чем версия 1.24, автоматически используют kubelogin формат. Начиная с Kubernetes версии 1.24, формат clusterUser учетных данных по умолчанию для кластеров Microsoft Entra ID - это exec, что требует kubelogin бинарный файл в исполнении PATH. Нет изменений в поведении для кластеров Entra, не относящихся к Microsoft, или кластеров Microsoft Entra ID, работающих с версией ниже 1.24.
Существующие скачанные kubeconfig продолжают работать. Необязательный параметр format запроса включается при получении clusterUser учетных данных для перезаписи изменения поведения по умолчанию. Можно явно указать формат azure , если необходимо сохранить старый kubeconfig формат.
Включение интеграции в кластере AKS
Создание нового кластера
Создайте группу ресурсов Azure с помощью
az group createкоманды.az group create --name myResourceGroup --location centralusСоздайте кластер AKS и включите доступ администрирования для группы Microsoft Entra с помощью
az aks createкоманды.az aks create \ --resource-group myResourceGroup \ --name myManagedCluster \ --enable-aad \ --aad-admin-group-object-ids <id> \ --aad-tenant-id <id> \ --generate-ssh-keysПри успешном создании кластера Microsoft Entra ID, управляемого AKS, содержится следующий раздел в теле ответа.
"AADProfile": { "adminGroupObjectIds": [ "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }
Использование имеющегося кластера
Включите интеграцию Microsoft Entra с управляемыми AKS в существующем кластере az aks update с поддержкой Kubernetes RBAC с помощью команды. Не забудьте задать группу администраторов, чтобы сохранить доступ к кластеру.
az aks update \
--resource-group MyResourceGroup \
--name myManagedCluster \
--enable-aad \
--aad-admin-group-object-ids <id-1>,<id-2> \
--aad-tenant-id <id>
Успешная активация управляемого кластером Идентификатора Microsoft Entra AKS содержит следующий раздел в тексте ответа:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Перенос устаревшего кластера на интеграцию
Если в кластере используется устаревшая интеграция Microsoft Entra, вы можете выполнить обновление до интеграции Microsoft Entra, управляемой az aks update AKS, с помощью команды.
Предупреждение
Кластеры уровня "Бесплатный" могут столкнуться с простоем сервера API во время обновления. Мы рекомендуем выполнить обновление в нерабочие часы.
После обновления содержимое kubeconfig изменяется. Необходимо выполнить az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> для слияния новых учетных данных в kubeconfig файл.
az aks update \
--resource-group myResourceGroup \
--name myManagedCluster \
--enable-aad \
--aad-admin-group-object-ids <id> \
--aad-tenant-id <id>
Успешная миграция управляемого кластером Идентификатора Microsoft Entra AKS содержит следующий раздел в тексте ответа:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Доступ к кластеру с поддержкой
Получите учетные данные пользователя для доступа к кластеру
az aks get-credentialsс помощью команды.az aks get-credentials --resource-group myResourceGroup --name myManagedClusterСледуйте инструкциям по входу.
Установите для
kubeloginиспользования Azure CLI.kubelogin convert-kubeconfig -l azurecliПросмотрите узлы в кластере
kubectl get nodesс помощью команды.kubectl get nodes
Неинтерактивный вход с помощью kubelogin
Существуют некоторые неинтерактивные сценарии, которые не поддерживаются kubectl. В этих случаях используйте kubelogin для подключения к кластеру с учетными данными субъекта-службы, неинтерактивными, для выполнения конвейеров непрерывной интеграции.
Примечание.
Интегрированные кластеры Microsoft Entra с использованием версии Kubernetes, более новой, чем версия 1.24, автоматически используют kubelogin формат. Начиная с версии Kubernetes 1.24, по умолчанию используется формат учетных данных clusterUser для кластеров Microsoft Entra ID, который требует наличия двоичного файла exec в пути выполнения. Нет изменений в поведении для кластеров Entra, не относящихся к Microsoft, или кластеров Microsoft Entra ID, работающих с версией ниже 1.24.
Существующие скачанные kubeconfig продолжают работать. Необязательный параметр format запроса включается при получении clusterUser учетных данных для перезаписи изменения поведения по умолчанию. Можно явно указать формат azure , если необходимо сохранить старый kubeconfig формат.
При получении учетных clusterUser данных можно использовать format параметр запроса для перезаписи поведения по умолчанию. Можно задать значение azure для использования исходного kubeconfig формата:
az aks get-credentials --format azure
Если интегрированный кластер Microsoft Entra использует Kubernetes версии 1.24 или более поздней, необходимо вручную преобразовать kubeconfig формат.
export KUBECONFIG=/path/to/kubeconfig
kubelogin convert-kubeconfig
Если появится сообщение об ошибке: подключаемый модуль проверки подлинности Azure удален. Для преобразования kubelogin convert-kubeconfig формата вручную выполните командуkubeconfig. Дополнительные сведения см. в статье об известных проблемах Azure Kubelogin.
Устранение неполадок с доступом
Внимание
Шаг, описанный в этом разделе, предлагает альтернативный метод проверки подлинности по сравнению с обычной проверкой подлинности группы Microsoft Entra. Используйте этот параметр только в чрезвычайных ситуациях.
Если у вас нет административного доступа к допустимой группе Microsoft Entra, можно выполнить это обходное решение. Войдите с помощью учетной записи, являющейся членом роли администратора кластера Служба Azure Kubernetes, и предоставьте учетные данные администратора группы или клиента для доступа к кластеру.
Следующие шаги
- Узнайте об интеграции Microsoft Entra с Kubernetes RBAC.
- Дополнительные сведения об основных принципах идентификации AKS и Kubernetes.
- Узнайте, как использовать kubelogin для всех поддерживаемых методов проверки подлинности Microsoft Entra в AKS.
- Используйте шаблоны Azure Resource Manager для создания кластеров AKS с поддержкой Microsoft Entra ID.