Résolution des problèmes 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.

Résolution des problèmes IAM

Cette rubrique décrit certaines erreurs courantes que vous pouvez rencontrer lors de l'utilisation d'Amazon EKS avec Amazon IAM et explique comment les contourner.

AccessDeniedException

Si vous recevez un message AccessDeniedException lorsque vous appelez une AWS API opération, cela signifie que les IAMprincipales informations d'identification 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 précédent, l'utilisateur n'est pas autorisé à appeler l'EKSDescribeClusterAPIopération Amazon. Pour fournir des autorisations EKS d'administrateur Amazon à un IAM mandant, consultezExemples de politiques EKS basées sur l'identité d'Amazon.

Pour des informations plus générales sur le contrôle de l'accès à l'aide de politiques dans le Guide de l'IAMutilisateur IAM, consultez la section Contrôle de l'accès.

Impossible de voir les nœuds dans l'onglet Calcul ou dans l'onglet Ressources et vous recevez un message d'erreur dans le 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 IAMprincipal AWS Management Console avec lequel vous utilisez le possède les autorisations nécessaires. Pour de plus amples informations, veuillez consulter Autorisations nécessaires.

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

L'AWS IAMauthentificateur n'autorise pas de chemin dans le rôle ARN utilisé dans le. 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 un message d'erreur indiquant que vous n'êtes pas autorisé à effectuer l'iam:PassRoleaction, vos politiques doivent être mises à jour pour vous permettre de transmettre un rôle à AmazonEKS.

Certains AWS services 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 IAM utilisateur nommé marymajor essaie d'utiliser la console pour effectuer une action sur AmazonEKS. Toutefois, l’action nécessite que le service ait des autorisations accordées par un rôle de 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'iam:PassRoleaction.

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 EKS ressources Amazon

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 (ACLs), vous pouvez utiliser ces politiques pour autoriser les utilisateurs à accéder à 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 à votre Kubernetes le compte de 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 comporter une redondance intégrée pour choisir une autre AWS région en cas de panne du service dans la AWS région. Pour plus d'informations, consultez la section Gestion AWS STS dans une AWS région du Guide de IAM l'utilisateur.

  • 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 de plus amples informations, veuillez consulter Configurer le point de terminaison du service AWS Security Token pour un compte de service.