Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
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 lors de l’appel d’une opération API AWS, cela signifie que les informations d’identification IAM principal 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 dans l’onglet Calcul ni aucun élément dans l’onglet Resources 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. Veuillez vous assurer que l’utilisateur IAM principal que vous utilisez avec la AWS Management Console dispose des autorisations nécessaires. Pour de plus amples informations, consultez Autorisations requises.
aws-auth ConfigMap n'accorde pas l'accès au cluster
L’AWS IAM AuthenticatorConfigMap. Par conséquent, avant de spécifier rolearn, supprimez le chemin d'accès. Remplacez, par exemple,
arn:aws:iam:: par 111122223333:role/team/developers/eks-admin
arn:aws:iam::.111122223333:role/eks-admin
Je ne suis pas autorisé à exécuter : iam:PassRole
Si vous recevez une erreur indiquant que vous n’êtes pas autorisé à effectuer 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 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 politiques de Mary doivent être mises à jour pour lui permettre d’effectuer l’action iam:PassRole.
Si vous avez encore besoin d’aide, contactez votre administrateur AWS. Votre administrateur vous a fourni vos informations d’identification 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 plus d’informations, consultez les éléments suivants :
-
Pour savoir si Amazon EKS est compatible avec ces fonctionnalités, consultez Fonctionnement d'Amazon EKS avec IAM.
-
Pour savoir comment octroyer l'accès à vos ressources à des comptes AWS dont vous êtes propriétaire, veuillez consulter la section Fournir l'accès à un utilisateur IAM dans un autre compte AWS que vous possédez dans le Guide de l’utilisateur IAM.
-
Pour savoir comment octroyer accès à vos ressources à des comptes AWS tiers, veuillez consulter Fournir l'accès aux comptes AWS appartenant à des tiers dans le Guide de l'utilisateur IAM.
-
Pour savoir comment fournir un accès par le biais de la fédération d'identité, veuillez consulter Fournir un accès à des utilisateurs authentifiés en externe (fédération d'identité) dans le Guide de l'utilisateur IAM.
-
Pour en savoir plus sur la différence entre l’utilisation des rôles et des politiques basées sur les ressources pour l’accès intercompte, consultez Accès intercompte aux ressources dans IAM dans le Guide de l’utilisateur IAM.
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 global AWS STS (
https://sts.amazonaws) et que 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 le code de votre application afin de supprimer les appels explicites au point de terminaison global 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 créer une redondance afin de sélectionner une autre région AWS en cas de défaillance du service dans la région AWS. Pour plus d’informations, consultez Gestion d’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. Les clusters utilisent le point de terminaison régional par défaut. Pour de plus amples informations, consultez Configurer le point de terminaison du service de jetons de sécurité AWS pour un compte de service.