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'EKSDescribeCluster
APIopé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 IAMauthentificateurConfigMap
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é à effectuer iam : PassRole
Si vous recevez un message d'erreur indiquant que vous n'êtes pas autorisé à effectuer l'iam:PassRole
action, 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:PassRole
action.
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 :
-
Pour savoir si Amazon EKS prend en charge ces fonctionnalités, consultezComment Amazon EKS travaille avec IAM.
-
Pour savoir comment donner accès à vos ressources sur les AWS comptes que vous possédez, consultez la section Fournir l'accès à un IAM utilisateur sur un autre AWS compte que vous possédez dans le Guide de IAM l'utilisateur.
-
Pour savoir comment fournir l'accès à vos ressources à des AWS comptes tiers, consultez la section Fournir un accès aux AWS comptes détenus par des tiers dans le Guide de IAM l'utilisateur.
-
Pour savoir comment fournir un accès via la fédération d'identité, consultez la section Fournir un accès aux utilisateurs authentifiés de manière externe (fédération d'identité) dans le guide de l'IAMutilisateur.
-
Pour connaître la différence entre l'utilisation de rôles et de politiques basées sur les ressources pour l'accès entre comptes, voir Accès aux ressources entre comptes IAM dans le guide de l'IAMutilisateur.
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 version1.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.