Dépannage IAM - Amazon EKS

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 une exception AccessDeniedException lorsque vous appelez une opération d'API AWS, les informations d'identification du principal 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 de principal IAM avec lequel vous utilisez la AWS Management Console 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 Services AWS vous permettent de transmettre un rôle existant à ce service, au lieu de créer une nouvelle fonction du service ou 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 politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action iam:PassRole.

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

Je souhaite autoriser des personnes n'appartenant pas à mon compte AWS à 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 fait explicitement des demandes auprès du point de terminaison mondial AWS STS (https://sts.amazonaws) et votre compte de service Kubernetes 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 votre code d'application pour supprimer les appels explicites vers le point de terminaison mondial AWS STS.

  • 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, consultez Configuration du point de terminaison AWS Security Token Service pour un compte de service.