Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La integración de Microsoft Entra simplifica el proceso de integración de Microsoft Entra. Anteriormente, era necesario crear una aplicación cliente y servidor, y el inquilino de Microsoft Entra tenía que asignar permisos de rol de Lector de directorio. Ahora, el proveedor de recursos de Azure Kubernetes Service (AKS) administra las aplicaciones cliente y servidor.
Los administradores de clústeres pueden configurar el control de acceso basado en rol de Kubernetes (RBAC de Kubernetes) en función de la identidad de un usuario o la pertenencia a grupos de directorios.
Obtenga más información sobre el flujo de integración de Microsoft Entra en la documentación de Microsoft Entra.
Limitations
La integración de Microsoft Entra no se puede deshabilitar después de habilitarla en un clúster.
Antes de empezar
Para instalar el complemento de AKS, compruebe que tiene los siguientes elementos:
- Tiene la CLI de Azure versión 2.29.0 o posterior instalada y configurada. Para encontrar la versión, ejecute el comando
az --version. Si necesita instalar o actualizar, consulte Install Azure CLI. - Necesita
kubectlcon la versión 1.18.1 okubelogincomo mínimo. Con la CLI de Azure y el módulo Azure PowerShell, estos dos comandos se incluyen y administran automáticamente. Es decir, se actualizan de forma predeterminada y la ejecuciónaz aks install-clino es necesaria ni recomendada. Si usa una canalización automatizada, debe administrar la actualización a la versión correcta o más reciente. La diferencia entre las versiones secundarias de Kubernetes ykubectlno debe ser superior a una versión. De lo contrario, los problemas de autenticación se producen en la versión incorrecta. - Esta configuración requiere que tenga un grupo de Microsoft Entra para el clúster. Este grupo se registrará como grupo de administración en el clúster para conceder permisos de administrador. Si no tiene un grupo de Microsoft Entra existente, puede crear uno mediante el comando
az ad group create.
Habilitación de la integración en el clúster de AKS
En primer lugar, establezca variables de entorno para el grupo de recursos, el nombre del clúster, los identificadores de objeto del grupo de administración de Microsoft Entra y el identificador de inquilino. Vuelva a usar estas variables en los comandos siguientes.
export RESOURCE_GROUP="myResourceGroup"
export CLUSTER_NAME="myManagedCluster"
export AAD_ADMIN_GROUP_OBJECT_IDS="<group-object-id>" # comma-separated for multiple groups
export AAD_TENANT_ID="<tenant-id>"
export LOCATION="centralus"
Creación de un clúster
Cree un grupo de recursos de Azure con el comando
az group create.az group create --name $RESOURCE_GROUP --location $LOCATIONCree un clúster de AKS y habilite el acceso de administración para el grupo de Microsoft Entra mediante el comando
az aks create.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-aad \ --aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \ --aad-tenant-id $AAD_TENANT_ID \ --generate-ssh-keysUna creación exitosa de un clúster de Microsoft Entra ID tiene la siguiente sección en el cuerpo de la respuesta.
"AADProfile": { "adminGroupObjectIds": [ "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb" ], "clientAppId": null, "managed": true, "serverAppId": null, "serverAppSecret": null, "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }
Uso de un clúster existente
Habilite la integración de Microsoft Entra en el clúster habilitado para RBAC de Kubernetes existente mediante el az aks update comando . Asegúrese de establecer el grupo de administradores para mantener el acceso al clúster.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Una activación exitosa de un clúster de Microsoft Entra ID tiene la siguiente sección en el cuerpo de la respuesta:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Migración del clúster heredado a la integración
Si el clúster usa la integración heredada de Microsoft Entra, puede actualizar a la integración de Microsoft Entra mediante el az aks update comando .
Warning
Los clústeres de nivel gratis pueden experimentar tiempo de inactividad del servidor de API durante la actualización. Se recomienda actualizar durante las horas que no son de negocio.
Después de la actualización, el kubeconfig contenido cambia. Debe ejecutar az aks get-credentials --resource-group <AKS resource group name> --name <AKS cluster name> para combinar las nuevas credenciales en el kubeconfig archivo.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--enable-aad \
--aad-admin-group-object-ids $AAD_ADMIN_GROUP_OBJECT_IDS \
--aad-tenant-id $AAD_TENANT_ID
Una migración correcta de un clúster de Id. de Microsoft Entra tiene la siguiente sección en el cuerpo de la respuesta:
"AADProfile": {
"adminGroupObjectIds": [
"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
],
"clientAppId": null,
"managed": true,
"serverAppId": null,
"serverAppSecret": null,
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}
Acceso al clúster habilitado
Obtenga las credenciales de usuario para acceder al clúster usando el comando
az aks get-credentials.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAMESiga las instrucciones de inicio de sesión.
Use el comando
kubectl get nodespara visualizar los nodos del clúster.kubectl get nodes
Los clústeres que ejecutan Kubernetes 1.24 o posterior usan automáticamente el formato exec-plugin, por lo que no se necesita ninguna conversión manual kubelogin para el inicio de sesión interactivo de la kubeconfig CLI de Azure. Para escenarios no interactivos, como canalizaciones de integración continua (CI), o para utilizar un método de autenticación diferente (entidad de servicio, identidad administrada, identidad de carga de trabajo o código de dispositivo), consulte Utilizar kubelogin para autenticar usuarios en AKS.
Acceso de emergencia
En el caso excepcional de que el inicio de sesión de Id. de Microsoft Entra en el servidor de API de Kubernetes del clúster no funcione (por ejemplo, durante un incidente de servicio de Microsoft Entra más amplio), puede revertir a la cuenta de administrador local del clúster para mantener el funcionamiento del clúster hasta que se restaure el inicio de sesión basado en Entra.
Note
Esta alternativa solo es necesaria en caso de que el inicio de sesión basado en Entra no esté disponible. Si su problema es un grupo de administración mal configurado (por ejemplo, el grupo fue eliminado o se estableció el ID de objeto incorrecto), no se necesita: actualice el grupo de administración directamente con az aks update --aad-admin-group-object-ids usando una cuenta que tenga el permiso Microsoft.ContainerService/managedClusters/write.
Importante
Este flujo de trabajo omite la autenticación de Microsoft Entra. Úselo solo como reserva temporal y deshabilite de nuevo las cuentas locales una vez que se restaure el inicio de sesión de Microsoft Entra.
Para usar la ruta de acceso de emergencia, necesita el rol Colaborador de Azure Kubernetes Service en el recurso de clúster. Este rol concede el Microsoft.ContainerService/managedClusters/write permiso necesario para volver a habilitar las cuentas locales, además de tener acceso a la credencial de administrador del clúster local. Se evalúa mediante Azure Resource Manager, por lo que funciona de manera independiente al proceso de inicio de sesión de Microsoft Entra hacia el servidor API de Kubernetes.
Si las cuentas locales están deshabilitadas en el clúster, vuelva a habilitarlas temporalmente.
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --enable-local-accountsRecupere la credencial de administrador de clúster local mediante el comando
az aks get-credentialscon la bandera--admin. Esta credencial es una kubeconfig basada en certificados que omite Microsoft Entra.az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --adminUse
kubectlpara operar el clúster mientras Microsoft Entra no está disponible. Una vez que el inicio de sesión de Microsoft Entra vuelva a funcionar, deshabilite las cuentas locales para devolver el clúster a su línea base segura.az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --disable-local-accounts
Pasos siguientes
- Reforzar el inicio de sesión en el clúster con acceso condicional al clúster y a los nodos.
- Usa el acceso elevado Just-In-Time con Privileged Identity Management para el acceso a clústeres y nodos.
- Obtenga información sobre integración de Microsoft Entra con RBAC de Kubernetes.
- Obtenga más información sobre los conceptos de identidad de Kubernetes y AKS.
- Aprenda a usar kubelogin para todos los métodos de autenticación de Microsoft Entra compatibles en AKS.
- Utilice las plantillas de Azure Resource Manager para crear clústeres habilitados para Microsoft Entra ID.