Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Интеграция Microsoft Entra упрощает процесс интеграции Microsoft Entra. Ранее необходимо было создать клиентское и серверное приложение, а клиент Microsoft Entra должен был назначить разрешения роли читателей каталогов. Теперь поставщик ресурсов Службы Azure Kubernetes (AKS) управляет клиентскими и серверными приложениями.
Администраторы кластера могут настроить управление доступом на основе ролей (RBAC) для Kubernetes в зависимости от членства в группе каталогов или удостоверения пользователей.
Дополнительные сведения о потоке интеграции Microsoft Entra см. в документации по Microsoft Entra.
Ограничения
Интеграция Microsoft Entra не может быть отключена после включения в кластере.
Перед тем как начать
Чтобы установить надстройку AKS, убедитесь, что у вас есть следующие элементы:
- Вы установили и настроили Azure CLI версии 2.29.0 или более поздней. Чтобы найти версию, выполните команду
az --version. Если необходимо установить или обновить, см. раздел Install Azure CLI. - Вам требуется
kubectlс минимальной версией 1.18.1 илиkubelogin. С помощью Azure CLI и модуля Azure PowerShell эти две команды включаются и автоматически управляются. Это означает, что они обновляются по умолчанию, и выполнениеaz aks install-cliне обязательно и не рекомендуется. Если вы используете автоматизированный конвейер, необходимо управлять обновлениями для правильной или последней версии. Разница между дополнительными версиями Kubernetes иkubectlне должна быть более одной версии. В противном случае проблемы проверки подлинности возникают в неправильной версии. - Для этой конфигурации требуется группа Microsoft Entra для кластера. Эта группа зарегистрирована в качестве группы администрирования в кластере для предоставления разрешений администратора. Если у вас нет существующей группы Microsoft Entra, ее можно создать с помощью
az ad group createкоманды.
Включение интеграции в кластере AKS
Сначала задайте переменные среды для группы ресурсов, имени кластера, идентификаторов объектов группы администрирования Microsoft Entra и идентификатора клиента. Повторно используйте эти переменные в следующих командах.
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myManagedCluster"
export AAD_ADMIN_GROUP_OBJECT_IDS="<group-object-id>" # comma-separated for multiple groups
export AAD_TENANT_ID="<tenant-id>"
export LOCATION="centralus"
Создание нового кластера
Создайте группу ресурсов Azure с помощью команды
az group create.az group create --name $RESOURCE_GROUP --location $LOCATIONСоздайте кластер AKS и включите доступ администрирования для группы Microsoft Entra с помощью
az aks createкоманды.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-aad \ --aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \ --aad-tenant-id $AAD_TENANT_ID \ --generate-ssh-keysУспешное создание кластера Microsoft Entra ID содержит следующий раздел в тексте ответа.
"AADProfile": { "adminGroupObjectIds": [ "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }
Использование имеющегося кластера
Включите интеграцию Microsoft Entra в ваш существующий кластер с поддержкой Kubernetes RBAC, используя команду az aks update. Не забудьте задать группу администраторов, чтобы сохранить доступ к кластеру.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Успешная активация кластера идентификатора Microsoft Entra имеет следующий раздел в тексте ответа:
"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 команды.
Предупреждение
Кластеры уровня "Бесплатный" могут столкнуться с простоем сервера API во время обновления. Мы рекомендуем выполнить обновление в нерабочие часы.
После обновления содержимое kubeconfig изменяется. Необходимо выполнить az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> для слияния новых учетных данных в kubeconfig файл.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Успешная миграция кластера идентификатора Microsoft Entra id содержит следующий раздел в тексте ответа:
"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 $RESOURCE_GROUP --name $CLUSTER_NAMEСледуйте инструкциям по входу.
Просмотрите узлы в кластере
kubectl get nodesс помощью команды.kubectl get nodes
Кластеры, работающие под управлением Kubernetes версии 1.24 и более поздней, автоматически используют формат подключаемого модуля exec kubelogin, поэтому не требуется никакого ручного преобразования для интерактивного входа в Azure CLI kubeconfig. Для неинтерактивных сценариев, таких как конвейеры CI, или для использования метода другой проверки подлинности (служебный принципал, управляемое удостоверение, удостоверение рабочей нагрузки или код устройства), см. статью "Использование kubelogin для проверки подлинности пользователей в AKS".
Доступ с разрывом
В редких случаях, когда вход с использованием идентификатора Microsoft Entra в сервер API Kubernetes вашего кластера не работает (например, из-за более масштабного сбоя в службе Microsoft Entra), вы можете временно использовать локальную учетную запись администратора кластера, чтобы поддерживать его работу до восстановления входа с использованием Entra.
Note
Эта резервная мера необходима только в том случае, если вход на основе Entra недоступен. Если проблема связана с неправильно настроенной группой администрирования (например, группа была удалена или задан неправильный идентификатор объекта), вам не нужна она — обновите группу администраторов непосредственно с az aks update --aad-admin-group-object-ids помощью учетной записи с Microsoft.ContainerService/managedClusters/write разрешением.
Important
Этот рабочий процесс обходит проверку подлинности Microsoft Entra. Используйте его только в качестве временной резервной копии и снова отключите локальные учетные записи после восстановления входа в Microsoft Entra.
Чтобы использовать путь с разрывом, вам потребуется роль участника службы Azure Kubernetes в ресурсе кластера. Эта роль предоставляет разрешение, необходимое Microsoft.ContainerService/managedClusters/write для повторного включения локальных учетных записей, а также доступа к учетным данным локального администратора кластера. Она оценивается Azure Resource Manager, поэтому она работает независимо от пути входа Microsoft Entra к серверу API Kubernetes.
Если локальные учетные записи отключены в кластере, повторно включите их временно.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-local-accountsПолучите учетные данные локального администратора кластера с помощью
az aks get-credentialsкоманды с флагом--admin. Эти учетные данные представляют собой kubeconfig на основе сертификата, который обходит Microsoft Entra.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --adminИспользуется
kubectlдля управления кластером, пока Microsoft Entra недоступен. Как только возможность входа в Microsoft Entra будет восстановлена, отключите локальные учетные записи, чтобы вернуть кластер к его безопасному состоянию.az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --disable-local-accounts
Дальнейшие действия
- Усилите вход в ваш кластер с помощью условного доступа для доступа к кластеру и узлам.
- Используйте повышенный JIT-доступ с привилегированным управлением удостоверениями для доступа к узлам и кластеру.
- Узнайте об интеграции Microsoft Entra с Kubernetes RBAC.
- Дополнительные сведения об основных принципах идентификации AKS и Kubernetes.
- Узнайте, как использовать kubelogin для всех поддерживаемых методов проверки подлинности Microsoft Entra в AKS.
- Используйте шаблоны Azure Resource Manager для создания кластеров с поддержкой идентификатора Microsoft Entra.