Share via


Lokale accounts beheren met door AKS beheerde Microsoft Entra-integratie

Wanneer u een AKS-cluster implementeert, zijn lokale accounts standaard ingeschakeld. Zelfs wanneer u RBAC- of Microsoft Entra-integratie inschakelt, --admin bestaat de toegang nog steeds als een niet-controleerbare backdoor-optie. In dit artikel leest u hoe u lokale accounts op een bestaand cluster uitschakelt, een nieuw cluster maakt met lokale accounts uitgeschakeld en lokale accounts opnieuw inschakelt op bestaande clusters.

Voordat u begint

Lokale accounts uitschakelen

U kunt lokale accounts uitschakelen met behulp van de parameter disable-local-accounts. Het properties.disableLocalAccounts veld is toegevoegd aan de beheerde cluster-API om aan te geven of de functie al dan niet is ingeschakeld op het cluster.

Notitie

  • Op clusters waarvoor Microsoft Entra-integratie is ingeschakeld, kunnen gebruikers die zijn toegewezen aan een Microsoft Entra-beheerdersgroep die is aad-admin-group-object-ids opgegeven, nog steeds toegang krijgen met behulp van niet-beheerdersreferenties. Op clusters waarvoor Microsoft Entra-integratie is ingeschakeld en properties.disableLocalAccounts ingesteld trueop, mislukt elke poging om te verifiëren met gebruikers- of beheerdersreferenties.

  • Nadat lokale gebruikersaccounts zijn uitgeschakeld op een bestaand AKS-cluster waar gebruikers mogelijk zijn geverifieerd met lokale accounts, moet de beheerder de clustercertificaten roteren om certificaten in te trekken waarvoor ze mogelijk toegang hebben gehad. Als dit een nieuw cluster is, is er geen actie vereist.

Een nieuw cluster maken zonder lokale accounts

  1. Maak een nieuw AKS-cluster zonder lokale accounts met behulp van de az aks create opdracht met de disable-local-accounts vlag.

    az aks create --resource-group <resource-group> --name <cluster-name> --enable-aad --aad-admin-group-object-ids <aad-group-id> --disable-local-accounts
    
  2. Controleer in de uitvoer of lokale accounts zijn uitgeschakeld door te controleren of het veld properties.disableLocalAccounts is ingesteld op true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Voer de az aks get-credentials opdracht uit om ervoor te zorgen dat het cluster is ingesteld om lokale accounts uit te schakelen.

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

    De uitvoer moet het volgende foutbericht weergeven dat aangeeft dat de functie de toegang verhindert:

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

Lokale accounts op een bestaand cluster uitschakelen

  1. Schakel lokale accounts uit op een bestaand AKS-cluster met Microsoft Entra-integratie met behulp van de az aks update opdracht met de disable-local-accounts parameter.

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. Controleer in de uitvoer of lokale accounts zijn uitgeschakeld door te controleren of het veld properties.disableLocalAccounts is ingesteld op true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. Voer de az aks get-credentials opdracht uit om ervoor te zorgen dat het cluster is ingesteld om lokale accounts uit te schakelen.

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

    De uitvoer moet het volgende foutbericht weergeven dat aangeeft dat de functie de toegang verhindert:

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

Lokale accounts opnieuw inschakelen op een bestaand cluster

  1. Schakel een uitgeschakeld lokaal account opnieuw in op een bestaand cluster met behulp van de az aks update opdracht met de enable-local-accounts parameter.

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. Controleer in de uitvoer of lokale accounts opnieuw zijn ingeschakeld door te controleren of het veld properties.disableLocalAccounts is ingesteld op false.

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. Voer de az aks get-credentials opdracht uit om ervoor te zorgen dat het cluster is ingesteld om lokale accounts in te schakelen.

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

    De uitvoer moet het volgende bericht weergeven waarin wordt aangegeven dat u lokale accounts in het cluster hebt ingeschakeld:

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

Volgende stappen