2017-05-24 6 views
0

-je obtenir l'erreur suivante, lors de l'exécution de la aws commande cli: aws ec2 describe-instances --filters "Name=instance-type,Values=m1.small":(avec la CLI) AWS n'a pas été en mesure de valider les informations d'identification d'accès fournis

A client error (AuthFailure) occurred when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials 

Les informations d'identification sont du script suivant:

import boto3 

sts_client = boto3.client('sts') 

assumedRoleObject = sts_client.assume_role(
    RoleArn="arn:aws:iam::<>:role/service-role/Test-Project", 
    RoleSessionName="AssumeRoleSession2" 
) 
credentials = assumedRoleObject['Credentials'] 

print credentials['AccessKeyId'] 
print "#"*100 
print credentials['SecretAccessKey'] 
print "#"*100 
print credentials['SessionToken'] 
print "#"*100 

J'ai testé avec l'activation de l'accès administrateur sur le rôle également. Ne fonctionne toujours pas.

La relation de confiance du rôle est la suivante:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": [ 
      "*", 
      "arn:aws:iam::<>:user/<username>" 
     ], 
     "Service": [ 
      "lambda.amazonaws.com", 
      "ec2.amazonaws.com" 
     ] 
     }, 
     "Action": "sts:AssumeRole" 
    } 
    ] 
} 
+0

Qu'est-ce que vous obtenez de 'aws iam get-user' ? –

+0

@AdamOwczarczyk J'ai la même erreur: 'Une erreur client (InvalidClientTokenId) est survenue lors de l'appel de l'opération GetUser: Le jeton de sécurité inclus dans la requête est invalide.' – Dawny33

+0

Alors oui, votre 'aws configure' a mal tourné, les identifiants que vous fournissez ne sont pas valides, ou bien, votre jeton de session a expiré parce que vous l'avez défini pour une période très précise. La réponse de Manish a plus de détails. –

Répondre

0

Je peux penser à 2 raisons seulement comme pourquoi il ne fonctionne pas, il suffit de vérifier si elle correspond à votre cas.

Juste pour vous assurer, vous exportez toutes les 3 variables dans votre session, à savoir

export AWS_ACCESS_KEY_ID="ASIAI******JQ" 
export AWS_SECRET_ACCESS_KEY="n******u1pRocjL" 
export AWS_SESSION_TOKEN="FQ*****vKJKTisUF" 

ou si vous utilisez des informations d'identification dans un fichier dans votre machine locale, vous avez toutes les 3 variables là-dedans et que trop sous le profil par défaut.

De plus, depuis les jetons de session sont valables pour l'intervalle d'une heure par défaut, il suffit de vérifier si est désynchronisé du temps de votre machine (possibilité mineure, mais la peine de vérifier.)