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
- Zie AKS-beheerde Microsoft Entra-integratie voor een overzicht en installatie-instructies.
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 enproperties.disableLocalAccounts
ingesteldtrue
op, 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
Maak een nieuw AKS-cluster zonder lokale accounts met behulp van de
az aks create
opdracht met dedisable-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 \ --generate-ssh-keys
Controleer in de uitvoer of lokale accounts zijn uitgeschakeld door te controleren of het veld
properties.disableLocalAccounts
is ingesteld optrue
."properties": { ... "disableLocalAccounts": true, ... }
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
Schakel lokale accounts uit op een bestaand AKS-cluster met Microsoft Entra-integratie met behulp van de
az aks update
opdracht met dedisable-local-accounts
parameter.az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
Controleer in de uitvoer of lokale accounts zijn uitgeschakeld door te controleren of het veld
properties.disableLocalAccounts
is ingesteld optrue
."properties": { ... "disableLocalAccounts": true, ... }
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
Schakel een uitgeschakeld lokaal account opnieuw in op een bestaand cluster met behulp van de
az aks update
opdracht met deenable-local-accounts
parameter.az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
Controleer in de uitvoer of lokale accounts opnieuw zijn ingeschakeld door te controleren of het veld
properties.disableLocalAccounts
is ingesteld opfalse
."properties": { ... "disableLocalAccounts": false, ... }
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
- Meer informatie over Azure RBAC-integratie voor Kubernetes-autorisatie.
Azure Kubernetes Service