Dépannage IAM - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Dépannage IAM

Cette rubrique traite de certaines erreurs courantes que vous pouvez rencontrer lorsque vous utilisez Amazon EKS avec IAM, ainsi que des solutions.

AccessDeniedException

Si vous recevez un message AccessDeniedException lors de l'appel d'une opération d' AWS API, cela signifie que les informations d'identification principales IAM que vous utilisez ne disposent pas des autorisations requises pour effectuer cet appel.

An error occurred (AccessDeniedException) when calling the DescribeCluster operation: 
User: arn:aws:iam::111122223333:user/user_name is not authorized to perform: 
eks:DescribeCluster on resource: arn:aws:eks:region:111122223333:cluster/my-cluster

Dans l'exemple de message ci-précédent, l'utilisateur n'est pas autorisé à appeler l'opération d'API DescribeCluster Amazon EKS. Pour accorder des autorisations d'administrateur Amazon EKS à un principal IAM, consultez la rubrique Exemples de politiques basées sur l'identité d'Amazon EKS.

Pour plus d'informations générales sur IAM, consultez Contrôle de l'accès à l'aide de politiques dans le Guide de l'utilisateur IAM.

Vous ne voyez pas Nodes (Nœuds) sur l'onglet Compute (Calcul) ou quoi que ce soit sur l'onglet Resources (Ressources) et vous recevez une erreur dans la AWS Management Console.

Vous pouvez voir un message d'erreur de la console indiquant Your current user or role does not have access to Kubernetes objects on this EKS cluster. Assurez-vous que l'utilisateur principal IAM AWS Management Console avec lequel vous utilisez dispose des autorisations nécessaires. Pour plus d’informations, consultez Autorisations nécessaires.

aws-auth ConfigMap n'accorde pas l'accès au cluster

L'authentification AWS IAM n'autorise pas de chemin dans l'ARN de rôle utilisé dans la ConfigMap. Par conséquent, avant de spécifier rolearn, supprimez le chemin d'accès. Remplacez, par exemple, arn:aws:iam::111122223333:role/team/developers/eks-admin par arn:aws:iam::111122223333:role/eks-admin.

Je ne suis pas autorisé à effectuer iam : PassRole

Si vous recevez une erreur selon laquelle vous n'êtes pas autorisé à exécuter l'action iam:PassRole, vos politiques doivent être mises à jour pour vous permettre de transmettre un rôle à Amazon EKS.

Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, un utilisateur doit disposer des autorisations nécessaires pour transmettre le rôle au service.

L'exemple d'erreur suivant se produit lorsqu'un utilisateur IAM nommé marymajor essaie d'utiliser la console pour effectuer une action dans Amazon EKS. Toutefois, l'action nécessite que le service ait des autorisations accordées par une fonction du service. Mary ne dispose pas des autorisations nécessaires pour transférer le rôle au service.

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

Dans ce cas, les stratégies de Mary doivent être mises à jour pour lui permettre d’exécuter l’action iam:PassRole.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

Je souhaite autoriser des personnes extérieures à mon AWS compte à accéder à mes ressources Amazon EKS

Vous pouvez créer un rôle que les utilisateurs provenant d'autres comptes ou les personnes extérieures à votre organisation pourront utiliser pour accéder à vos ressources. Vous pouvez spécifier qui est autorisé à assumer le rôle. Pour les services qui prennent en charge les politiques basées sur les ressources ou les listes de contrôle d’accès (ACL), vous pouvez utiliser ces politiques pour donner l’accès à vos ressources.

Pour en savoir plus, consultez les éléments suivants :

Les conteneurs Pod reçoivent l'erreur suivante : An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: Credential should be scoped to a valid region

Vos conteneurs reçoivent cette erreur si votre application envoie explicitement des demandes au point de terminaison AWS STS global (https://sts.amazonaws) et si votre compte de Kubernetes service est configuré pour utiliser un point de terminaison régional. Vous pouvez résoudre le problème avec l'une des options suivantes :

  • Mettez à jour le code de votre application pour supprimer les appels explicites au point de terminaison AWS STS global.

  • Mettez à jour le code de votre application pour effectuer des appels explicites vers des points de terminaison régionaux tels que https://sts.us-west-2.amazonaws.com. Votre application doit avoir une redondance intégrée pour en choisir une autre Région AWS en cas de panne du service dans la Région AWS. Pour plus d'informations, consultez Gestion de AWS STS dans une Région AWS dans le Guide de l'utilisateur IAM.

  • Configurez vos comptes de service pour utiliser le point de terminaison mondial. Toutes les versions antérieures à la version 1.22 utilisaient par défaut le point de terminaison global, mais la version 1.22 et les clusters ultérieurs utilisent par défaut le point de terminaison régional. Pour plus d'informations, voir Configuration du AWS Security Token Service point de terminaison pour un compte de service.