Comment résoudre les problèmes liés aux entrées d'accès dans mon cluster Amazon EKS ?
Je reçois des messages d'erreur ou je rencontre des problèmes lorsque j'utilise des entrées d'accès dans mon cluster Amazon Elastic Kubernetes Service (Amazon EKS).
Résolution
Prérequis : Votre cluster Amazon EKS s'exécute sur Kubernetes version 1.23 ou ultérieure.
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Erreurs liées au mode d'authentification
Les messages d'erreur suivants s'affichent lorsque vous modifiez le mode d'authentification d'un cluster :
- « An error occurred (InvalidParameterException) when calling the UpdateClusterConfig operation: Unsupported authentication mode update from API_AND_CONFIG_MAP to CONFIG_MAP. »
- « An error occurred (InvalidParameterException) when calling the UpdateClusterConfig operation: Unsupported authentication mode update from API to CONFIG_MAP. »
- « An error occurred (InvalidParameterException) when calling the UpdateClusterConfig operation: Unsupported authentication mode update from API to API_AND_CONFIG_MAP. »
Lorsque vous définissez le mode d'authentification, vous ne pouvez pas inverser l'opération. Par exemple, après avoir changé le mode en API, vous ne pouvez pas revenir à CONFIG_MAP ou API_AND_CONFIG_MAP. Pour plus d'informations, consultez la section Présentation approfondie des contrôles de gestion d'accès simplifiés à Amazon EKS.
Pour éviter les erreurs liées au mode d'authentification, utilisez des entrées d'accès au lieu du fichier aws-auth ConfigMap.
Erreur AccessDeniedException
Vous recevez un message d'erreur lorsque le principal Gestion des identités et des accès AWS (AWS IAM) ne dispose pas des autorisations suffisantes pour utiliser les entrées d'accès. Le message d'erreur est similaire au suivant :
« An error occurred (AccessDeniedException) when calling the CreateAccessEntry operation: User: [principalARN] is not authorized to perform: eks:CreateAccessEntry on resource: arn:aws:eks:us-east-1:000000000:cluster/your-eks-cluster. »
Pour résoudre ce problème, ajoutez les autorisations suivantes à la politique IAM du principal IAM à l'origine de la requête :
Problèmes de migration ou de mise à jour de CONFIG_MAP vers API_AND_CONFIG_MAP
La notification suivante s'affiche lorsque vous migrez ou mettez à jour vos entrées d'accès de CONFIG_MAP vers API_AND_CONFIG_MAP :
« The mapping of the node IAM role defined in the existing ConfigMap/AWS-Auth was automatically added as an access entry. However, in aws-auth, this role is defined as two system:nodes/system:bootstrappers group, but at the access entry side it only has system:nodes/. »
Il n'y a aucune erreur que vous devez résoudre car le processus de migration mappe les rôles IAM de vos nœuds au groupe system:nodes par défaut.
Après avoir migré vos entrées d'accès, vous n'avez plus besoin des configurations d'entrée d'accès aws-auth ConfigMap ou IAM accordées par le groupe system:bootstrappers. Vos nœuds peuvent effectuer toutes les opérations avec les autorisations accordées par le groupe system:nodes. Le groupe system:nodes confirme que la migration de CONFIG_MAP vers API_AND_CONFIG_MAP a supprimé les groupes inutiles de l'entrée d'accès.
Erreurs de type
L'erreur suivante se produit lorsque vous ne définissez pas de rôle IAM comme principal IAM de destination pour l'entrée d'accès :
« AccessEntry principalArn must be IAM role when using types [EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX]. »
Pour résoudre ce problème, utilisez l'un des types d'entrées d'accès suivants :
- EC2_LINUX
- EC2_WINDOWS
- FARGATE_LINUX
Pour plus d'informations sur les types d'entrées d'accès, consultez la section Créer des entrées d'accès.
Erreurs de nom d’utilisateur
Si vous saisissez un nom d'utilisateur incorrect lorsque vous créez une entrée d'accès, le message d'erreur suivant s'affiche :
« The username must not begin with [eks:, aws:, system:, amazon:, iam:]. »
Si vous spécifiez votre propre nom d'utilisateur, vous ne pouvez pas commencer le nom d'utilisateur par les préfixes suivants :
- eks :
- aws :
- system :
- amazon :
- iam :
Pour résoudre ce problème, assurez-vous que votre nom d'utilisateur est conforme aux exigences relatives aux entrées d'accès. Pour plus d'informations sur les exigences relatives au nom d'utilisateur, consultez la section Créer des entrées d'accès.
Remarque : Pour éviter d'éventuelles erreurs, il est recommandé de laisser Amazon EKS générer automatiquement un nom d'utilisateur pour vous.
Erreurs d'autorisations
Vous obtenez des erreurs d'autorisation car Amazon EKS ne confirme pas que les objets de contrôle d'accès basé sur les rôles (RBAC) Kubernetes de votre cluster incluent les noms de groupe que vous avez spécifiés. Amazon EKS ne vérifie pas que les noms de groupe que vous spécifiez existent dans les liaisons de votre cluster.
Pour résoudre ce problème, procédez comme suit :
- Vérifiez que vos entrées d'accès aws-auth ConfigMap ou IAM créent correctement les groupes que vous avez spécifiés comme sujets dans RoleBinding ou ClusterRoleBinding Kubernetes.
- Vérifiez si l'orthographe et la mise en forme des références à un groupe Kubernetes sont correctes dans votre entrée d'accès.
Erreurs de rôle liées à un service
Si vous spécifiez un rôle lié à un service lorsque vous créez une entrée d'accès, le message d'erreur suivant s'affiche :
« The caller is not allowed to modify access entries with a principalArn value of a Service Linked Role. »
Les entrées d'accès ne prennent pas en charge les rôles liés à un service. Vous ne pouvez donc pas créer d'entrées d'accès lorsque l’Amazon Resource Name (ARN) du principal est un rôle lié à un service. Vous pouvez identifier les rôles liés à un service par leur ARN. Par exemple, l'ARN arn:aws:iam::*:role/aws-service-role/* est destiné à un rôle lié à un service.
Pour autoriser les rôles liés à un service à accéder à votre cluster, utilisez le mode d'authentification CONFIG_MAP ou API_AND_CONFIG_MAP pour spécifier le rôle lié à un service aws-auth ConfigMap.
Informations connexes
Autoriser les utilisateurs IAM à accéder à Kubernetes avec un ConfigMap
- Sujets
- Containers
- Langue
- Français

Contenus pertinents
- demandé il y a 3 ans
- demandé il y a 10 mois
AWS OFFICIELA mis à jour il y a 10 mois
AWS OFFICIELA mis à jour il y a 5 mois
AWS OFFICIELA mis à jour il y a un an