Actualización o modificación de las credenciales de un clúster de Azure Kubernetes Service (AKS)

Los clústeres de AKS creados con una entidad de servicio tiene un período de expiración de un año. A medida que se aproxima a la fecha de expiración, puede restablecer las credenciales para ampliar la entidad de servicio durante un período de tiempo adicional. También puede actualizar o girar las credenciales como parte de una directiva de seguridad definida. Los clústeres de AKS integrados con Microsoft Entra ID como proveedor de autenticación tienen dos identidades más: la aplicación Microsoft Entra Server y la aplicación cliente de Microsoft Entra. En este artículo se detalla cómo actualizar la entidad de servicio y las credenciales de Microsoft Entra para un clúster de AKS.

Nota:

También puede usar una identidad administrada para los permisos en lugar de una entidad de servicio. Las identidades administradas no requieren actualizaciones ni rotaciones. Para más información, consulte Uso de identidades administradas.

Antes de empezar

Es preciso que esté instalada y configurada la versión 2.0.65 de la CLI de Azure, o cualquier otra posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Actualización o creación de una entidad de servicio nueva para el clúster de AKS

Cuando quiera actualizar las credenciales de un clúster de AKS, puede hacer alguna de las acciones siguientes:

  • Actualizar las credenciales de la entidad de servicio existente.
  • Crear a una entidad de servicio y actualizar el clúster para usar estas nuevas credenciales.

Advertencia

Si decide crear una entidad de servicio nueva, espere unos 30 minutos para que el permiso de la entidad de servicio se propague por todas las regiones. La actualización de un clúster de AKS grande para usar estas credenciales puede tardar mucho tiempo en completarse.

Comprobación de la fecha de expiración de la entidad de servicio

Para comprobar la fecha de expiración de la entidad de servicio, use el comando az ad app credential list. En el ejemplo siguiente se obtiene el identificador de la entidad de servicio del clúster llamado myAKSCluster del grupo de recursos myResourceGroup mediante el comando az aks show. El id. de la entidad de servicio se establece como una variable denominada SP_ID.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id "$SP_ID" --query "[].endDateTime" -o tsv

Restablecimiento de las credenciales de una entidad de servicio existente

Para actualizar las credenciales de una entidad de servicio existente, obtenga el id. de entidad de servicio del clúster mediante el comando az aks show. En el ejemplo siguiente se obtiene el id. del clúster denominado myAKSCluster en el grupo de recursos myResourceGroup. La variable denominada SP_ID almacena el id. de la entidad de servicio usado en el paso siguiente. Estos comandos usan el lenguaje de comandos de Bash.

Advertencia

Al restablecer las credenciales del clúster en un clúster de AKS que usa Azure Virtual Machine Scale Sets, se realiza una actualización de la imagen del nodo para actualizar los nodos con la nueva información de credenciales.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)

Use la variable SP_ID que contiene el id. de la entidad de servicio para restablecer las credenciales mediante el comando az ad app credential reset. En el ejemplo siguiente se habilita la plataforma de Azure a fin de generar un nuevo secreto seguro para la entidad de servicio y almacenarlo como una variable denominada SP_SECRET.

SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)

A continuación, debe actualizar el clúster de AKS con credenciales de la entidad de servicio. Este paso es necesario para actualizar la entidad de servicio en el clúster de AKS.

Creación de una entidad de servicio

Nota

Si ha actualizado las credenciales de la entidad de servicio existentes en la sección anterior, omita esta sección y, en su lugar, actualice el clúster de AKS con las credenciales de la entidad de servicio.

Para crear una entidad de servicio y actualizar el clúster de AKS a fin de usar la las credenciales nuevas, use el comando az ad sp create-for-rbac.

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/mySubscriptionID

La salida es similar a la del ejemplo siguiente. Tome nota de sus propios elementos appId y password para usarlos en el paso siguiente.

{
  "appId": "7d837646-b1f3-443d-874c-fd83c7c739c5",
  "name": "7d837646-b1f3-443d-874c-fd83c7c739c",
  "password": "a5ce83c9-9186-426d-9183-614597c7f2f7",
  "tenant": "a4342dc8-cd0e-4742-a467-3129c469d0e5"
}

Defina variables para el id. de la entidad de servicio y el secreto de cliente mediante la salida que genera la ejecución del comando az ad sp create-for-rbac. El valor de SP_ID es el id. de aplicación y el valor de SP_SECRET es su contraseña.

SP_ID=7d837646-b1f3-443d-874c-fd83c7c739c5
SP_SECRET=a5ce83c9-9186-426d-9183-614597c7f2f7

A continuación, debe actualizar el clúster de AKS con las credenciales nuevas de la entidad de servicio. Este paso es necesario para actualizar el clúster de AKS con las credenciales nuevas de la entidad de servicio.

Actualización del clúster de AKS con las credenciales de la entidad de servicio

Importante

En el caso de los clústeres de gran tamaño, la actualización del clúster de AKS con una nueva entidad de servicio puede tardar mucho tiempo en completarse. Considere la posibilidad de revisar y personalizar la configuración de actualización de sobrecarga de nodo para minimizar la interrupción durante las actualizaciones. En el caso de los clústeres pequeños y medianos, las credenciales nuevas tardan varios minutos en actualizarse en el clúster.

Actualice el clúster de AKS con las credenciales nuevas o existentes ejecutando el comando az aks update-credentials.

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-service-principal \
    --service-principal "$SP_ID" \
    --client-secret "${SP_SECRET}"

Actualización del clúster de AKS con nuevas credenciales de aplicación de Microsoft Entra

Puede crear nuevas aplicaciones cliente y servidor de Microsoft Entra siguiendo los pasos de integración de Microsoft Entra o restablezca las aplicaciones existentes de Microsoft Entra siguiendo el mismo método que para el restablecimiento de la entidad de servicio. Después, debe actualizar las credenciales de aplicación de Microsoft Entra del clúster mediante el comando az aks update-credentials con las variables --reset-aad.

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-aad \
    --aad-server-app-id <SERVER APPLICATION ID> \
    --aad-server-app-secret <SERVER APPLICATION SECRET> \
    --aad-client-app-id <CLIENT APPLICATION ID>

Pasos siguientes

En este artículo, ha aprendido a actualizar o girar las credenciales de la aplicación de Microsoft Entra y de entidad de servicio. A fin de obtener más información sobre cómo usar una administración de identidades para las cargas de trabajo de un clúster, vea los procedimientos recomendados para la autenticación y autorización en AKS.