Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Un clúster de AKS requiere una entidad de servicio de Microsoft Entra o una identidad administrada para crear y administrar dinámicamente otros recursos de Azure, como Azure Load Balancer o Azure Container Registry (ACR).
Para lograr una seguridad óptima y facilitar el uso, Microsoft recomienda usar identidades administradas en lugar de entidades de servicio para autorizar el acceso desde un clúster de AKS a otros recursos de Azure. Una identidad administrada es un tipo especial de entidad de servicio que se puede usar para obtener credenciales de Microsoft Entra sin necesidad de administrar y proteger las credenciales. Para más información sobre el uso de una identidad administrada con el clúster, consulte Uso de una identidad administrada en AKS.
En este artículo se muestra cómo crear y usar una entidad de servicio con los clústeres de AKS.
Para crear una entidad de servicio de Microsoft Entra, debe tener permisos suficientes para registrar una aplicación en su inquilino de Microsoft Entra y asignar la aplicación a un rol en su suscripción. Si no tiene los permisos necesarios, tiene que pedir al administrador de Microsoft Entra ID o de la suscripción que asigne los permisos necesarios o bien, crear previamente una entidad de servicio para su uso con el clúster de AKS.
Si usa una entidad de servicio de otro inquilino de Microsoft Entra, hay otras consideraciones en torno a los permisos disponibles al implementar el clúster. Puede que no tenga los permisos adecuados para leer y escribir datos del directorio. Para más información, consulte ¿Cuáles son los permisos de usuario predeterminados en Microsoft Entra ID?
az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.Get-InstalledModule -Name Az
para encontrar la versión. Si tiene que instalarla o actualizarla, consulte Instalación del módulo Azure Az PowerShell.Cree una entidad de servicio antes de crear el clúster.
Cree una entidad de servicio mediante el comando az ad sp create-for-rbac
.
az ad sp create-for-rbac --name myAKSClusterServicePrincipal
La salida debe ser similar a la siguiente salida de ejemplo:
{
"appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"displayName": "myAKSClusterServicePrincipal",
"name": "http://myAKSClusterServicePrincipal",
"password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Copie los valores de appId
y password
de la salida. Estos se usan al crear un clúster de AKS en la sección siguiente.
Use una entidad de servicio existente para un nuevo clúster de AKS mediante el comando az aks create
y use los parámetros --service-principal
y --client-secret
para especificar el appId
y password
de la salida que recibió en la sección anterior.
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--service-principal <appId> \
--client-secret <password> \
--generate-ssh-keys
Nota
Si utiliza una entidad de servicio existente con un secreto personalizado, asegúrese de que este no supere los 190 bytes.
La entidad de servicio del clúster de AKS se puede utilizar para acceder a otros recursos. Por ejemplo, si desea implementar el clúster de AKS en una subred de red virtual de Azure existente, conectarse a Azure Container Registry (ACR) o acceder a claves o secretos en un almacén de claves desde el clúster, debe delegar el acceso a esos recursos a la entidad de servicio. Para delegar el acceso, asigne un rol de control de acceso basado en rol de Azure (RBAC de Azure) a la entidad de servicio.
Importante
Los permisos concedidos a una entidad de servicio asociada a un clúster pueden tardar hasta 60 minutos en propagarse.
Cree una asignación de roles con el comando az role assignment create
. Proporcione el valor del appID de la entidad de servicio para el parámetro appId
. Especifique el ámbito de la asignación de roles, como un grupo de recursos o un recurso de red virtual. La asignación de roles determina qué permisos tiene la entidad de servicio en el recurso y en qué ámbito.
Por ejemplo, para asignar los permisos de entidad de servicio para acceder a secretos en un almacén de claves, puede usar el siguiente comando:
az role assignment create \
--assignee <appId> \
--scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>" \
--role "Key Vault Secrets User"
Nota
El elemento --scope
de un recurso debe ser un id. de recurso completo, como /subscriptions/<guid>/resourceGroups/myResourceGroup o /subscriptions/<guid>/resourceGroups/myResourceGroupVnet/providers/Microsoft.Network/virtualNetworks/myVnet.
En las secciones siguientes se detallan las delegaciones comunes que es posible que tenga que asignar a una entidad de servicio.
Si usa Azure Container Registry (ACR) como el almacén de imágenes de contenedor, deberá conceder permisos a la entidad de servicio que el clúster de AKS pueda leer y extraer imágenes. Actualmente, se recomienda usar el comando az aks create
o az aks update
para integrarse en un registro y asignar el rol adecuado a la entidad de servicio. Para ver los pasos detallados, consulte Autenticación con Azure Container Registry desde Azure Kubernetes Service.
Puede usar redes avanzadas en las que la red virtual y la subred o las direcciones IP públicas se encuentran en otro grupo de recursos. Asigne el rol integrado Colaborador de la red en la subred dentro de la red virtual. Como alternativa, puede crear un rol personalizado con permisos para tener acceso a los recursos de red de ese grupo de recursos. Para obtener más información, consulte los permisos de servicio de AKS.
Si necesita acceder a los recursos de disco existentes en otro grupo de recursos, asigne uno de los siguientes conjuntos de permisos de rol:
Si usa Virtual Kubelet para la integración con AKS y elige ejecutar Azure Container Instances (ACI) en un grupo de recursos separado del clúster de AKS, la entidad de servicio de clúster AKS debe tener concedidos los permisos de Colaborador en el grupo de recursos de ACI.
Al usar AKS y una entidad de servicio de Microsoft Entra, tenga en cuenta lo siguiente:
appId
./etc/kubernetes/azure.json
.az aks create
, no se elimina automáticamente la entidad de servicio creada.
Para eliminar la entidad de servicio, consulte el clúster servicePrincipalProfile.clientId y, después, elimínelo usando el comando az ad sp delete
. Reemplace los valores del parámetro -g
para el nombre del grupo de recursos y el parámetro -n
para el nombre del clúster:
az ad sp delete --id $(az aks show \
--resource-group myResourceGroup \
--name myAKSCluster \
--query servicePrincipalProfile.clientId \
--output tsv)
La CLI de Azure almacena en caché las credenciales de la entidad de servicio para los clústeres de AKS. Si estas credenciales expiran, se pueden producir errores durante la implementación del clúster de AKS. Si ejecuta el comando az aks create
y recibe un mensaje de error similar al siguiente, puede indicar un problema con las credenciales de la entidad de servicio almacenadas en caché:
Operation failed with status: 'Bad Request'.
Details: The credentials in ServicePrincipalProfile were invalid. Please see https://aka.ms/aks-sp-help for more details.
(Details: adal: Refresh request failed. Status Code = '401'.
Compruebe la fecha de expiración de las credenciales de la entidad de servicio mediante el comando az ad app credential list
con la consulta "[].endDateTime"
.
az ad app credential list \
--id <app-id> \
--query "[].endDateTime" \
--output tsv
El tiempo de expiración predeterminado para las credenciales de la entidad de servicio es de un año. Si las credenciales son anteriores a un año, puede restablecer las credenciales existentes o crear una nueva entidad de servicio.
Solución de problemas a nivel general de la CLI de Azure
La CLI de Azure se puede ejecutar en varios entornos de shell, pero con ligeras variaciones de formato. Si tiene resultados inesperados con comandos de la CLI de Azure, consulte Uso correcto de la CLI de Azure.
Para más información sobre las entidades de servicio de Microsoft Entra, consulte Objetos de aplicación y de entidad de servicio.
Para obtener información sobre cómo actualizar las credenciales, vea Actualizar o rotar las credenciales de una entidad de servicio en AKS.
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Módulo
Mengautentikasi alur penyebaran Azure Anda dengan menggunakan perwakilan layanan - Training
Pelajari cara membuat, mengelola, dan memberikan izin kepada perwakilan layanan, yang memungkinkan alur penyebaran Anda mengautentikasi dengan aman ke Azure.
Certificación
Microsoft Certified: Identitas dan Akses Administrator Associate - Certifications
Menunjukkan fitur ID Microsoft Entra untuk memodernisasi solusi identitas, menerapkan solusi hibrid, dan menerapkan tata kelola identitas.