Partager via


Gérer les comptes locaux avec l’intégration de Microsoft Entra géré par AKS

Lors du déploiement d’un cluster AKS, les comptes locaux sont activés par défaut. Même lorsque vous activez l’intégration RBAC ou Microsoft Entra, l’accès à --admin existe toujours, sous forme d’option d’accès par porte dérobée ne pouvant pas être auditée. Cet article vous montre comment désactiver les comptes locaux sur un cluster existant, créer un cluster avec des comptes locaux désactivés et réactiver des comptes locaux sur des clusters existants.

Avant de commencer

Désactiver les comptes locaux

Vous pouvez désactiver les comptes locaux à l’aide du paramètre disable-local-accounts. Le champ properties.disableLocalAccounts a été ajouté à l’API de cluster managé pour indiquer si la fonctionnalité a été activée ou non sur le cluster.

Remarque

  • Sur les clusters avec l’intégration de Microsoft Entra activée, les utilisateurs affectés à un groupe d’administrateurs Microsoft Entra spécifié par aad-admin-group-object-ids peuvent quand même obtenir l’accès à l’aide d’informations d’identification de non-administrateur. Sur les clusters sans intégration de Microsoft Entra activée et properties.disableLocalAccounts défini sur true, toute tentative d’authentification avec des informations d’identification d’utilisateur ou d’administrateur échoue.

  • Après avoir désactivé les comptes d’utilisateur locaux sur un cluster AKS existant où les utilisateurs se sont éventuellement authentifiés avec des comptes locaux, l’administrateur doit faire tourner les certificats de cluster pour révoquer les certificats auxquels ils peuvent avoir accès. S’il s’agit d’un nouveau cluster, aucune action n’est nécessaire.

Créer un nouveau cluster sans comptes locaux

  1. Créez un nouveau cluster AKS sans comptes locaux à l’aide de la commande az aks create avec l’indicateur 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. Dans la sortie, assurez-vous que les comptes locaux sont désactivés en vérifiant que le champ properties.disableLocalAccounts est défini sur true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Exécutez la az aks get-credentials commande pour vous assurer que le cluster est défini pour désactiver les comptes locaux.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Votre sortie doit afficher le message d’erreur suivant indiquant que la fonctionnalité empêche l’accès :

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Désactiver les comptes locaux sur un cluster existant

  1. Désactivez les comptes locaux sur un cluster AKS avec l’intégration de Microsoft Entra existant à l’aide de la commande az aks update avec le paramètre disable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. Dans la sortie, assurez-vous que les comptes locaux sont désactivés en vérifiant que le champ properties.disableLocalAccounts est défini sur true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Exécutez la az aks get-credentials commande pour vous assurer que le cluster est défini pour désactiver les comptes locaux.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Votre sortie doit afficher le message d’erreur suivant indiquant que la fonctionnalité empêche l’accès :

    Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
    

Réactiver les comptes locaux sur un cluster existant

  1. Ré-activer un compte local désactivé sur un cluster existant à l’aide de la commande az aks update avec le paramètre enable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. Dans la sortie, assurez-vous que les comptes locaux sont ré-activés en vérifiant que le champ properties.disableLocalAccounts est défini sur false.

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. Exécutez la az aks get-credentials commande pour vous assurer que le cluster est défini pour activer les comptes locaux.

    az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
    

    Votre sortie doit afficher le message suivant indiquant que vous avez correctement activé les comptes locaux sur le cluster :

    Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
    

Étapes suivantes