Administración de cuentas locales con la integración de Microsoft Entra administrada por AKS
Al implementar un clúster de AKS, las cuentas locales se habilitan de manera predeterminada. Incluso cuando se habilita la integración de RBAC o Microsoft Entra, --admin
acceso sigue existiendo como una opción de backdoor no auditable. En este artículo se muestra cómo deshabilitar las cuentas locales de un clúster existente, crear un clúster con cuentas locales deshabilitadas y volver a habilitar las cuentas locales de clústeres existentes.
Antes de empezar
- Vea integración de Microsoft Entra administrada por AKS para obtener información general e instrucciones de configuración.
Deshabilitación de cuentas locales
Puede deshabilitar las cuentas locales mediante el parámetro disable-local-accounts
. Se ha agregado el campo properties.disableLocalAccounts
a la API de clúster administrado para indicar si la característica se ha habilitado en el clúster.
Nota:
En los clústeres con la integración de Microsoft Entra habilitada, los usuarios asignados a un grupo de administradores de Microsoft Entra especificados por
aad-admin-group-object-ids
todavía pueden obtener acceso mediante credenciales que no son de administrador. En clústeres sin la integración de Microsoft Entra habilitada yproperties.disableLocalAccounts
establecido entrue
, se producirá un error en cualquier intento de autenticación con credenciales de usuario o administrador.Después de deshabilitar las cuentas de usuario local en un clúster de AKS existente en el que los usuarios podrían haberse autenticado con cuentas locales, el administrador debe rotar los certificados de clúster para revocar los certificados a los que podrían tener acceso. Si se trata de un clúster nuevo, no se requiere ninguna acción.
Creación de un clúster sin cuentas locales
Cree un clúster de AKS sin ninguna cuenta local usando el comando
az aks create
con la marcadisable-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
En la salida, confirme que están deshabilitadas las cuentas locales. Para ello, compruebe que el campo
properties.disableLocalAccounts
está establecido entrue
."properties": { ... "disableLocalAccounts": true, ... }
Ejecute el comando
az aks get-credentials
para garantizar que el clúster está establecido para deshabilitar las cuentas locales.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
La salida debe mostrar el siguiente mensaje de error que indica que la característica impide el acceso:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Deshabilitación de cuentas locales en un clúster existente
Deshabilite las cuentas locales en un clúster de AKS habilitado para la integración de Microsoft Entra existente mediante el comando
az aks update
con el parámetrodisable-local-accounts
.az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
En la salida, confirme que están deshabilitadas las cuentas locales. Para ello, compruebe que el campo
properties.disableLocalAccounts
está establecido entrue
."properties": { ... "disableLocalAccounts": true, ... }
Ejecute el comando
az aks get-credentials
para garantizar que el clúster está establecido para deshabilitar las cuentas locales.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
La salida debe mostrar el siguiente mensaje de error que indica que la característica impide el acceso:
Operation failed with status: 'Bad Request'. Details: Getting static credential isn't allowed because this cluster is set to disable local accounts.
Rehabilitación de cuentas locales en un clúster existente
Vuelva a habilitar una cuenta local deshabilitada de un clúster existente mediante el comando
az aks update
con el parámetroenable-local-accounts
.az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
En la salida, confirme que se han vuelto a habilitar las cuentas locales. Para ello, compruebe que el campo
properties.disableLocalAccounts
está establecido enfalse
."properties": { ... "disableLocalAccounts": false, ... }
Ejecute el comando
az aks get-credentials
para garantizar que el clúster está establecido para habilitar las cuentas locales.az aks get-credentials --resource-group <resource-group> --name <cluster-name> --admin
La salida debe mostrar el siguiente mensaje que indica que ha habilitado correctamente las cuentas locales del clúster:
Merged "<cluster-name>-admin" as current context in C:\Users\<username>\.kube\config
Pasos siguientes
- Obtenga más información sobre la integración de RBAC de Azure para la autorización de Kubernetes.
Azure Kubernetes Service