web-dev-qa-db-fra.com

AWS CLI répertoriant les compartiments S3 donne une erreur SignatureDoesNotMatch lors de l'utilisation des informations d'identification utilisateur IAM

J'utilise AWS cli sur Ubuntu 16.04 LTS, j'essaie de répertorier tous les compartiments. Dans aws configure, j'ai entré la clé d'accès utilisateur IAM et la clé secrète utilisateur IAM. Cet utilisateur IAM est autorisé à répertorier le compartiment et peut répertorier le compartiment dans la console.Mais en utilisant AWS cli avec ces clés et en exécutant la commande - aws s3 ls cela me donne cette erreur.

ne erreur client (SignatureDoesNotMatch) s'est produite lors de l'appel de l'opération ListBuckets: la signature de la demande que nous avons calculée ne correspond pas à la signature que vous avez fournie. Vérifiez votre clé et votre méthode de signature.

J'ai également créé une stratégie pour répertorier les compartiments pour cet utilisateur IAM particulier.

Je souhaite effectuer d'autres opérations de synchronisation et rendre tous les fichiers publics via un script Shell à l'aide de ces informations d'identification utilisateur IAM et je ne souhaite pas utiliser les informations d'identification racine.

11
Piyush dhore

J'ai trouvé mon problème. J'avais d'anciennes clés AWS dans mes variables d'environnement. Si vous avez des variables d'environnement nommées

AWS_SECRET_ACCESS_KEY
AWS_ACCESS_KEY_ID

l'awscli utilisera ces valeurs au lieu de ce qui est fourni via ~/.aws/credentials.

Essayez d'exécuter printenv | grep AWS et vérifiez que ces valeurs ne sont pas définies. Si oui, lancez simplement un

unset AWS_SECRET_ACCESS_KEY
unset AWS_ACCESS_KEY_ID

et vous devriez être prêt à partir.

12
schmudu

Peut se produire même lorsque l'heure de la machine n'est pas synchronisée avec le serveur NT.

Sudo ntpdate ntp.ubuntu.com m'a aidé à résoudre ce problème.

1
Aditya

Le problème était avec les informations d'identification AWS, j'ai copié le secret du fichier Excel dans le fichier txt et le peu de caractères spéciaux supprimés. Assurez-vous de le copier correctement.

Essayez également de redémarrer la machine et assurez-vous qu'AWS n'est pas défini dans la variable d'environnement, vous pouvez le vérifier avec printenv | grep 'AWS'

1
Rishabh Sanghvi

Cela signifie que vos informations d'identification de sécurité AWS ont expiré. La simple création de nouvelles informations d'identification fonctionnera.

  • Accédez à votre compte AWS -> Mes informations de sécurité
  • cliquer sur Create New Access Key. Notez l'ID de la clé d'accès et la clé d'accès secrète
  • Courir aws configure et entrez de nouveaux identifiants
1
Gagan Mani

Vérifiez simplement l'heure sur le système sur lequel vous exécutez. assurez-vous qu'il est mis à jour

1
gamechanger17

Dans mon cas, j'avais un cryptage mais j'envoyais la taille du fichier avant d'être crypté. Si vous obtenez cette erreur et que votre secret et votre clé sont corrects, cela vaut la peine de vérifier votre md5, votre type de mime, votre taille et d'autres attributs

1
mowwwalker

Veuillez basculer vers l'utilisateur root.

Dans mon cas, j'accédais à cette commande aws s3 ls de l'utilisateur standard et son erreur ci-dessous:

"AWS CLI répertoriant les compartiments S3 donne une erreur SignatureDoesNotMatch lors de l'utilisation des informations d'identification utilisateur IAM"

puis basculé vers l'utilisateur root en utilisant Sudo su commande et a tenté d'accéder à aws s3 ls commande, il répertorie les noms de compartiment s3.

0
user11589664

Pour moi, le problème était le/dans ma clé secrète pour contourner la clé secrète collée dans un fichier .dat sur mon PC, la copier sur le serveur pg le fichier .dat sur le serveur et copier la clé secrète lors de l'utilisation de aws configure

0
Chris

Cette erreur est due à une clé d'accès/clé secrète aws s3 incorrecte.

0
Ananth