Chaque fois que j'exécute la commande suivante avec le rôle qui a été utilisé pour créer le cluster eks ...
aws eks update-kubeconfig --name eks-cluster --role-arn arn:aws:iam::999999999999:role/eksServiceRole
... j'obtiens l'erreur suivante:
An error occurred (AccessDeniedException) when calling the DescribeCluster operation: User: arn:aws:iam::111111111111:user/username is not authorized to perform: eks:DescribeCluster on resource: arn:aws:eks:us-east-1:561353845098:cluster/eks-cluster
Quelqu'un a-t-il des conseils sur la façon de diagnostiquer et de corriger cette erreur?
Quelques suggestions qui peuvent ou non aider:
Vous pouvez inclure --verbose
à votre commande pour obtenir peut-être de meilleurs détails sur les échecs. Serait-il possible que l'utilisateur avec lequel vous êtes authentifié ne puisse pas assumer le rôle spécifié?
Dans le manuel de aws-cli --role-arn
est passé sous forme de chaîne, vous devriez essayer de l'encapsuler avec des guillemets doubles:
aws eks update-kubeconfig --name eks-cluster --role-arn "arn:aws:iam::999999999999:role/eksServiceRole"
Essayez d'assumer manuellement le rôle via aws-cli.
Vérifiez votre session authentifiée actuelle: aws sts get-caller-identity
Essayez d'assumer le rôle: aws sts assume-role --role-arn "arn:aws:iam::999999999999:role/eksServiceRole" --role-session-name test-eks-role
--role-arn
Est le rôle qui sera utilisé par aws-iam-authenticator
Lorsque vous exécutez kubectl
pour obtenir un jeton et n'est injecté que dans la configuration générée; il n'est utilisé en aucune façon pour récupérer les ressources EKS par la commande.
L'erreur que vous rencontrez est due au fait que les informations d'identification AWS que vous utilisez pour exécuter la commande update-kubeconfig
N'ont pas les autorisations pour décrire ce cluster.
Je ne suis pas familier avec EKS mais je suppose que l'utilisateur que vous utilisez aws eks
commande as needs privilèges pour décrire le cluster.
Est-ce que cela fonctionne correctement?
~ $ aws eks describe-cluster --name eks-cluster
Sinon, vous devrez vérifier vos autorisations aws-cli et faire en sorte que cela fonctionne en premier.
C'est juste une supposition mais j'espère que ça aide :)
Si vous recevez un AccessDeniedException
lors de l'appel d'une opération d'API AWS, les informations d'identification d'utilisateur ou de rôle AWS Identity and Access Management (IAM) que vous utilisez n'ont pas les autorisations requises pour effectuer cet appel.
Pour fournir des autorisations d'administrateur Amazon EKS à un utilisateur, consultez Création de stratégies IAM Amazon EKS .
(Référence: https://docs.aws.Amazon.com/eks/latest/userguide/troubleshooting.html#iam-error )
J'ai trouvé la même erreur. Mais après avoir mis à jour la clé d'accès et la clé secrète correctes dans le fichier .aws/credentials, le problème a été résolu.
Veuillez noter que vous devez utiliser la clé d'accès et la clé secrète d'un utilisateur qui permet d'effectuer des actions en temps réel AWS EKS.
Votre ID utilisateur avec lequel vous créez le cluster MFA est-il activé? Si oui, vous devez obtenir le jeton et mettre à jour le fichier d'informations d'identification