Résoudre l’erreur « Interdit » lors de la tentative d’accès aux ressources de cluster AKS

Cet article explique comment résoudre et résoudre les erreurs « Erreur du serveur (interdit) » liées au contrôle d’accès en fonction du rôle (RBAC) lorsque vous essayez d’afficher les ressources Kubernetes dans un cluster Azure Kubernetes Service (AKS).

Prerequisites

Outil en ligne de commande du cluster Kubernetes (kubectl)

Note

Si vous utilisez Azure Cloud Shell pour exécuter des commandes shell , kubectl est déjà installé. Si vous utilisez un interpréteur de commandes local et que Azure CLI est déjà installé, vous pouvez également installer kubectl en exécutant la commande az aks install-cli .

Symptômes

Lorsque vous exécutez kubectl des commandes pour afficher les détails d’un type de ressource Kubernetes, tel qu’un nœud de déploiement, de pod ou de travail, vous recevez le message d’erreur suivant :

$ kubectl get nodes
Error from server (Forbidden): nodes is forbidden: User "aaaa11111-11aa-aa11-a1a1-111111aaaaa" cannot list resource "nodes" in API group "" at the cluster scope

Cause

Cette erreur indique que vous essayez d’accéder aux ressources Kubernetes à l’aide d’un compte d’ID Microsoft Entra qui n’a pas les autorisations de contrôle d’accès en fonction du rôle (RBAC) requises.

Solution

Selon le type RBAC configuré pour le cluster (RBAC Kubernetes ou RBAC Azure), différentes solutions peuvent s’appliquer. Exécutez la commande suivante pour déterminer le type RBAC utilisé par le cluster :

	az aks show -g <CLUSTER_RESOURCE_GROUP> -n <CLUSTER_NAME> --query aadProfile.enableAzureRbac

Résolution des problèmes d’autorisations dans les clusters AKS basés sur Kubernetes RBAC

Si le cluster utilise Kubernetes RBAC, les autorisations pour le compte d’utilisateur sont configurées via la création de ressources RoleBinding ou ClusterRoleBinding Kubernetes. Pour plus d’informations, consultez la documentation RBAC Kubernetes.

En outre, dans les clusters intégrés Microsoft Entra ID, une ressource ClusterRoleBinding est automatiquement créée pour accorder à l’administrateur l’accès au cluster aux membres d’un groupe d’ID Microsoft Entra prédéfinis.

Pour résoudre l’erreur « Erreur du serveur (interdit) » pour un utilisateur spécifique, utilisez l’une des méthodes suivantes.

Méthode 1 : Créer une ressource RoleBinding ou ClusterRoleBinding personnalisée

Vous pouvez créer une ressource RoleBinding ou ClusterRoleBinding personnalisée pour accorder les autorisations nécessaires à l’utilisateur (ou un groupe dont l’utilisateur est membre). Pour obtenir des instructions détaillées, consultez Utiliser le contrôle d’accès en fonction du rôle Kubernetes avec l’ID Microsoft Entra dans Azure Kubernetes Service.

Méthode 2 : Ajouter l’utilisateur au groupe d’administration Microsoft Entra ID pré-désigné

  1. Récupérez l’ID du groupe d’administration Microsoft Entra ID pré-désigné. Pour ce faire, exécutez la commande suivante :

    az aks show -g <CLUSTER_RESOURCE_GROUP> -n <CLUSTER_NAME> --query aadProfile.adminGroupObjectIDs
    
  2. Ajoutez l’utilisateur au groupe d’administration Microsoft Entra ID pré-désigné à l’aide de l’ID de groupe que vous avez récupéré à l’étape précédente. Pour plus d’informations, consultez Ajouter des membres ou des propriétaires d’un groupe.

Résolution des problèmes d’autorisations dans les clusters AKS basés sur Azure RBAC

Si le cluster utilise Azure RBAC, les autorisations pour les utilisateurs sont configurées via la création d’attributions de rôles Azure.

AKS fournit un ensemble de rôles intégrés qui peuvent être utilisés pour créer des attributions de rôles pour les utilisateurs ou groupes Microsoft Entra ID afin de leur donner accès aux objets Kubernetes dans un espace de noms spécifique ou dans l’étendue du cluster. Pour obtenir des étapes détaillées pour attribuer des rôles intégrés à des utilisateurs ou des groupes dans des clusters Azure RBAC, consultez les rôles intégrés AKS.

Vous pouvez également créer vos propres définitions de rôle Azure personnalisées pour fournir une gestion plus granulaire des autorisations sur des types spécifiques d’objets et d’opérations Kubernetes. Pour obtenir des instructions détaillées sur la création et l’attribution de rôles personnalisés à des utilisateurs et des groupes dans des clusters Azure RBAC, consultez Créer des définitions de rôles personnalisés.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.