web-dev-qa-db-fra.com

AWS EKS update-kubeconfig ne respecte pas l'indicateur --role-arn

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?

4
Kurt Mueller

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.

    1. Vérifiez votre session authentifiée actuelle: aws sts get-caller-identity

    2. Essayez d'assumer le rôle: aws sts assume-role --role-arn "arn:aws:iam::999999999999:role/eksServiceRole" --role-session-name test-eks-role

4
William Sandin

--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.

4
Mike

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 :)

2
MLu

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 )

2
Yuci

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.

1
user516231

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

0
Suresh