Share via


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

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 y properties.disableLocalAccounts establecido en true, 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

  1. Cree un clúster de AKS sin ninguna cuenta local usando el comando az aks create con la marca 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
    
  2. En la salida, confirme que están deshabilitadas las cuentas locales. Para ello, compruebe que el campo properties.disableLocalAccounts está establecido en true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. 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

  1. 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ámetro disable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --disable-local-accounts
    
  2. En la salida, confirme que están deshabilitadas las cuentas locales. Para ello, compruebe que el campo properties.disableLocalAccounts está establecido en true.

    "properties": {
        ...
        "disableLocalAccounts": true,
        ...
    }
    
  3. 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

  1. Vuelva a habilitar una cuenta local deshabilitada de un clúster existente mediante el comando az aks update con el parámetro enable-local-accounts.

    az aks update --resource-group <resource-group> --name <cluster-name> --enable-local-accounts
    
  2. En la salida, confirme que se han vuelto a habilitar las cuentas locales. Para ello, compruebe que el campo properties.disableLocalAccounts está establecido en false.

    "properties": {
        ...
        "disableLocalAccounts": false,
        ...
    }
    
  3. 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