web-dev-qa-db-ja.com

aws iam upload-server-certificateを実行しているときに、「リクエストに含まれるセキュリティトークンが無効です」というエラーを解決するにはどうすればよいですか?

すべてのpem/keyファイルがあるディレクトリにcdし、次を実行します。

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 

次のエラーが表示されます。

UploadServerCertificate操作を呼び出すときにクライアントエラー(InvalidClientTokenId)が発生しました:要求に含まれるセキュリティトークンが無効です。

「ユーザー」に「ユーザー」が1人います。そのユーザーには、次の権限が割り当てられています。

IAMFullAccess IAMReadOnlyAccess IAMUserSSHKeys

このユーザーの資格情報をダウンロードし、ユーザー変数に入れました

AWS_ACCESS_KEY ****
AWS_SECRET_KEY ****

Elastic Beanstalk aws-elasticbeanstalk-ec2-roleには1つのロールがあります

34
Killesk

アカウントページのセキュリティ認証情報にアクセスしてみてください。右上隅にある名前をクリックし、[セキュリティ認証情報]をクリックします。

次に、そこにアクセスキーを生成し、資格情報ファイルでそれらのアクセスキーを使用します(aws configure)

23
Prakash

MFAでCLIを使用している場合は、アクセスキーとシークレットキーの設定に加えて、セッショントークンを設定する必要があります。この記事を参照してください: https://aws.Amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

4
Prasanth Louis
  1. 上部のナビゲーションの[ユーザー名]でユーザー名をクリックします。
  2. [アクセスキー]タブをクリックし、[新規作成]をクリックして、キーとシークレットをコピーします。
  3. ターミナルから$ aws configureを実行し、新しいキーとシークレットを使用します。
  4. コマンドを再度実行します。

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

どういうわけか、AWSアカウントの間違ったAWS認証情報(AccessKeyとSecretKey)を使用しています。それらが正しいことを確認してください。そうでない場合は、新規作成して使用する必要があります。その場合は@Prakashがよいでしょう。

2

これは、Java SDKを使用しているときに私に起こりました。私にとって問題は、想定された役割からセッショントークンを使用しなかったことです。

作業コード例(kotlin内)

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

同じエラーが発生しましたが、別の問題が原因でした。

認証情報はAWSで変更されましたが、設定プロファイルにキャッシュされたMFAセッショントークンを使用していました。

セッショントークンを含む~/.aws/cli/cache/の下に、各プロファイルのキャッシュファイルがあります。

キャッシュファイルを削除し、コマンドを再発行して、新しいMFAトークンを入力してください。

1

次のように--no-sign-requestパラメーターを渡すだけで回避できると思いました。

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

正しいプロファイル、つまり$ export AWS_PROFILE="default"をエクスポートしてください。デフォルトのプロファイルのみがある場合は、キーが正しいことを確認し、aws configureを再実行してください

0
code_bash