web-dev-qa-db-de.com

Wie kann ich den Fehler "Das in der Anforderung enthaltene Sicherheitstoken ist ungültig" beheben, wenn ein aws-Upload-Server-Zertifikat ausgeführt wird?

Ich cd in das Verzeichnis, in dem sich alle Pem/Key-Dateien befinden, und führe Folgendes aus:

aws iam upload-server-certificate 
    --server-certificate-name certificate_name 
    --certificate-body file://webservercertificate.pem  
    --private-key file://server.key   
    --certificate-chain file://certificate_chain_file.pem 

Ich erhalte folgende Fehlermeldung: 

Beim Aufrufen von .__ ist ein Clientfehler (InvalidClientTokenId) aufgetreten. UploadServerCertificate-Vorgang: Das in der .__ enthaltene Sicherheitstoken. Anfrage ist ungültig.

Ich habe 1 "Benutzer" in "Benutzer". Diesem Benutzer wurden die folgenden Berechtigungen zugewiesen:

IAMFullAccess IAMReadOnlyAccess IAMUserSSHKeys

Ich habe die Berechtigungsnachweise für diesen Benutzer heruntergeladen und in meine Benutzervariablen eingefügt

AWS_ACCESS_KEY ****
AWS_SECRET_KEY ****

Ich habe eine Rolle auf meiner elastischen Bohnenstange aws-elasticbeanstalk-ec2-role

20
Killesk

Gehen Sie zu den Sicherheitsberechtigungsnachweisen auf Ihrer Kontoseite: Klicken Sie oben rechts auf Ihren Namen -> Meine Sicherheitsberechtigungsnachweise

Dann generieren Sie Zugriffsschlüssel dort und verwenden Sie diese Zugriffsschlüssel in Ihrer Berechtigungsnachweisdatei (aws configure).

11
Prakash

Wenn Sie die CLI mit einem MFA verwenden, müssen Sie zusätzlich zum Festlegen des Zugriffsschlüssels und des geheimen Schlüssels das Sitzungstoken festlegen. Bitte lesen Sie diesen Artikel: https://aws.Amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

3
Prasanth Louis

Sie verwenden irgendwie falsche AWS-Berechtigungsnachweise (AccessKey und SecretKey) des AWS-Kontos. Stellen Sie also sicher, dass sie korrekt sind, andernfalls müssen Sie Neues erstellen und verwenden. In diesem Fall ist die @Prakash-Antwort für Sie gut

2
  1. Klicken Sie auf Ihren Benutzernamen im oberen Navigationsbereich, Meine Sicherheitsdaten
  2. Klicken Sie auf die Registerkarte Access Key, Create New, kopieren Sie den Schlüssel und das Geheimnis.
  3. Führen Sie vom Terminal aus $ aws configure aus und verwenden Sie den neuen Schlüssel und das neue Geheimnis.
  4. Führen Sie den Befehl erneut aus:

    serverless invoke local --function create --path mocks/create-event.json
    
2
user1020840

Ich hatte den gleichen Fehler, wurde aber durch ein anderes Problem verursacht.

Die Anmeldeinformationen wurden in AWS geändert, aber ich verwendete immer noch ein zwischengespeichertes MFA-Sitzungstoken für das Konfigurationsprofil. 

Unter ~/.aws/cli/cache/ befindet sich für jedes Profil eine Cache-Datei, die das Sitzungstoken enthält.

Entfernen Sie die Cache-Datei, geben Sie den Befehl erneut aus, und geben Sie ein neues MFA-Token ein.

1

Ich dachte, Sie könnten es vermeiden, indem Sie einfach den --no-sign-request-Parameter übergeben: 

aws --region us-west-2 --no-sign-request --endpoint-url=http://192.168.99.100:4572 \
 s3 mb s3://mytestbucket
0
djangofan

Versuchen Sie, das richtige Profil zu exportieren, d. H. $ export AWS_PROFILE="default" Wenn Sie nur ein Standardprofil haben, vergewissern Sie sich, dass die Schlüssel korrekt sind, und führen Sie aws configure erneut aus.

0
code_bash

Dies ist mir bei der Verwendung von Java-SDK passiert. Das Problem war für mich, dass ich das Session-Token aus der angenommenen Rolle nicht verwendete.

Arbeitscode-Beispiel (in kotlin)

        val identityUserPoolProviderClient = AWSCognitoIdentityProviderClientBuilder
            .standard()
            .withCredentials(AWSStaticCredentialsProvider(BasicSessionCredentials("accessKeyId", ""secretAccessKey, "sessionToken")))
            .build()
0
Eric