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


Управление локальными учетными записями с помощью интеграции 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 \
        --generate-ssh-keys
    
  2. Убедитесь в том, что в выходных данных локальные учетные записи отключены, проверив, что для поля задано значение 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. Убедитесь в том, что в выходных данных локальные учетные записи отключены, проверив, что для поля задано значение 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. В выходных данных убедитесь, что локальные учетные записи повторно включены, проверив, что для поля properties.disableLocalAccounts задано значение false.

    "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
    

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