Управление локальными учетными записями с помощью интеграции Microsoft Entra, управляемой AKS
При развертывании кластера AKS локальные учетные записи включены по умолчанию. Даже если включить интеграцию RBAC или Microsoft Entra, --admin
доступ по-прежнему существует в качестве параметра серверной части без аудита. В этой статье показано, как отключить локальные учетные записи в существующем кластере, создать новый кластер с отключенными локальными учетными записями и повторно включить локальные учетные записи в существующих кластерах.
Подготовка к работе
- Ознакомьтесь с интеграцией Microsoft Entra, управляемой AKS, для получения общих сведений и инструкций по настройке.
Отключение локальных учетных записей
Локальные учетные записи можно отключить с помощью параметра disable-local-accounts
. Поле properties.disableLocalAccounts
было добавлено в API управляемого кластера, чтобы указать, включена ли функция в кластере.
Примечание.
В кластерах с включенной интеграцией Microsoft Entra пользователи, назначенные группе администраторов Microsoft Entra, которые
aad-admin-group-object-ids
по-прежнему могут получить доступ с помощью учетных данных, не являющихся администраторами. В кластерах без включения интеграции Microsoft Entra иproperties.disableLocalAccounts
установки дляtrue
проверки подлинности с учетными данными пользователя или администратора произойдет сбой.После отключения учетных записей локальных пользователей в существующем кластере AKS, где пользователи могли пройти проверку подлинности с помощью локальных учетных записей, администратор должен сменить сертификаты кластера, чтобы отозвать сертификаты , к которым они могли иметь доступ. Если это новый кластер, действие не требуется.
Создание нового кластера без локальных учетных записей
Создайте новый кластер AKS без локальных учетных записей с помощью
az aks create
команды с флагомdisable-local-accounts
.az aks create \ --resource-group <resource-group> \ --name <cluster-name> \ --enable-aad \ --aad-admin-group-object-ids <aad-group-id> \ --disable-local-accounts \ --generate-ssh-keys
В выходных данных убедитесь, что локальные учетные записи отключены, проверив, что для поля задано
true
значениеproperties.disableLocalAccounts
."properties": { ... "disableLocalAccounts": true, ... }
Выполните команду, чтобы убедиться,
az aks get-credentials
что кластер настроен для отключения локальных учетных записей.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Выходные данные должны отображать следующее сообщение об ошибке, указывающее, что функция запрещает доступ:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Отключение локальных учетных записей в существующем кластере
Отключите локальные учетные записи в существующем кластере AKS с поддержкой интеграции Microsoft Entra с помощью
az aks update
команды с параметромdisable-local-accounts
.az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
В выходных данных убедитесь, что локальные учетные записи отключены, проверив, что для поля задано
true
значениеproperties.disableLocalAccounts
."properties": { ... "disableLocalAccounts": true, ... }
Выполните команду, чтобы убедиться,
az aks get-credentials
что кластер настроен для отключения локальных учетных записей.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Выходные данные должны отображать следующее сообщение об ошибке, указывающее, что функция запрещает доступ:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Повторное включение локальных учетных записей в существующем кластере
Повторно включите отключенную локальную учетную запись в существующем кластере с помощью
az aks update
команды с параметромenable-local-accounts
.az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
В выходных данных убедитесь, что локальные учетные записи повторно включены, проверив, что для поля задано
false
значениеproperties.disableLocalAccounts
."properties": { ... "disableLocalAccounts": false, ... }
Выполните команду, чтобы убедиться,
az aks get-credentials
что кластер настроен для включения локальных учетных записей.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
Выходные данные должны отображать следующее сообщение, указывающее, что локальные учетные записи успешно включены в кластере:
Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
Следующие шаги
- Сведения об интеграции Azure RBAC для авторизации Kubernetes.
Azure Kubernetes Service