Je souhaite gérer les rôles Gestion des identités et des accès AWS (AWS IAM) pour mon cluster Amazon Elastic Kubernetes Service (Amazon EKS) afin de réduire les problèmes liés aux autorisations.
Brève description
Si vous ne disposez pas des autorisations nécessaires pour accéder à un cluster Amazon EKS, l'une des erreurs suivantes peut s'afficher :
- "Your current IAM principal doesn't have access to Kubernetes objects on this cluster"
- "You must be logged in to the server (Unauthorized)"
- "You must be logged in to the server (the server has asked for the client to provide credentials)"
Ces erreurs peuvent se produire pour l'une des raisons suivantes :
- Vous ou votre client (interface de ligne de commande AWS (AWS CLI) ou application) ne vous êtes pas authentifié auprès du cluster EKS.
- Votre clé d'accès ou votre clé secrète AWS ne sont pas valides.
- L'URL de point de terminaison du cluster est incorrecte.
- Vous n'avez pas correctement configuré votre fichier kubeconfig.
Pour résoudre ce problème, procédez comme suit :
Résolution
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 les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Vérifier vos informations d'identification et votre fichier de configuration
Vérifiez vos informations d'identification AWS pour vous assurer qu'elles sont valides et disposent des autorisations nécessaires pour accéder au cluster Amazon EKS. Si vous exécutez des commandes kubectl et que vous obtenez l'une des erreurs précédentes, cela signifie que vous n'avez pas correctement configuré kubectl.
Pour vérifier vos informations d'identification, exécutez la commande get-caller-identity de l'AWS CLI :
aws sts get-caller-identity
Si vous utilisez un fichier de configuration kubeconfig pour votre cluster, vérifiez les configurations de vos fichiers. Si les configurations ne sont pas correctes, utilisez la commande update-kubeconfig pour mettre à jour le fichier :
aws eks update-kubeconfig
Pour plus d'informations, consultez la section Connecter kubectl à un cluster Amazon EKS en créant un fichier kubeconfig.
Vérifier la méthode d'authentification de votre cluster Amazon EKS
Clusters Amazon EKS qui utilisent la carte de configuration
Pour les clusters Amazon EKS qui s'authentifient à l'aide de la carte de configuration, configurez la CLI afin qu’elle utilise la même identité IAM pour accéder au cluster et modifier la carte. Si aucune identité ne peut accéder au cluster Amazon EKS, endossez le rôle de créateur du cluster. Puis, modifiez la carte de configuration. Pour plus d’informations, consultez la section Comment fournir au cluster un accès à d'autres utilisateurs et rôles IAM après avoir créé un cluster dans Amazon EKS ?
Si l'identité IAM n'apparaît pas dans la liste ou si vous l'avez incorrectement configurée, mettez à jour les principaux IAM de la carte de configuration. Pour plus d'informations, consultez la section Ajouter des principaux IAM à votre cluster Amazon EKS.
Clusters Amazon EKS utilisant l'authentification par API
Pour les clusters Amazon EKS qui s'authentifient avec l'API Amazon EKS, vous devez créer une entrée d'accès pour l'identité IAM et fournir les autorisations appropriées.
Pour vérifier s'il existe une entrée d'accès pour l'identité IAM, exécutez la commande list-access-entries :
aws eks list-access-entries --cluster-name Your_cluster_name
Remarque : Remplacez your_cluster_name par le nom de votre cluster.
S'il n'existe pas d'entrée d'accès pour l'identité IAM, créez-en une. Assurez-vous également que le cluster Amazon EKS utilise les politiques d'accès appropriées. Pour plus d'informations, consultez la section Associer des politiques d'accès à des entrées d'accès.
Remarque : La méthode Entrée d’accès ne remplace pas le contrôle d'autorisation basé sur les rôles (RBAC) dans Amazon EKS. Vous pouvez utiliser des entrées d’accès Amazon EKS avec RBAC dans votre cluster pour accorder des configurations plus spécifiques. Pour plus d'informations, consultez la section Présentation approfondie des contrôles de gestion d'accès simplifiés à Amazon EKS.
Informations connexes
Démarrer avec Amazon EMR sur Amazon EKS
Acheminer le trafic d’application et HTTP vers des Application Load Balancers
Acheminer le trafic TCP et UDP à l'aide de Network Load Balancers
Résoudre les problèmes liés aux clusters et nœuds Amazon EKS