Управление локальными учетными записями с помощью интеграции 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, где пользователи могли пройти проверку подлинности с помощью локальных учетных записей, администратор должен сменить сертификаты кластера, чтобы отозвать сертификаты , к которым они могли иметь доступ. Если это новый кластер, действие не требуется.

Создание нового кластера без локальных учетных записей

  1. Создайте новый кластер 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
    
  2. В выходных данных убедитесь, что локальные учетные записи отключены, проверка, что для поля задано trueзначение properties.disableLocalAccounts .

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Выполните команду, чтобы убедиться, 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.
    

Отключение локальных учетных записей в существующем кластере

  1. Отключите локальные учетные записи в существующем кластере AKS с поддержкой интеграции Microsoft Entra с помощью az aks update команды с параметром disable-local-accounts .

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. В выходных данных убедитесь, что локальные учетные записи отключены, проверка, что для поля задано trueзначение properties.disableLocalAccounts .

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Выполните команду, чтобы убедиться, 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.
    

Повторное включение локальных учетных записей в существующем кластере

  1. Повторно включите отключенную локальную учетную запись в существующем кластере с помощью az aks update команды с параметром enable-local-accounts .

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. В выходных данных убедитесь, что локальные учетные записи повторно включены, проверка, что для поля задано falseзначение properties.disableLocalAccounts .

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. Выполните команду, чтобы убедиться, 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
    

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