すべての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つのロールがあります
アカウントページのセキュリティ認証情報にアクセスしてみてください。右上隅にある名前をクリックし、[セキュリティ認証情報]をクリックします。
次に、そこにアクセスキーを生成し、資格情報ファイルでそれらのアクセスキーを使用します(aws configure)
MFAでCLIを使用している場合は、アクセスキーとシークレットキーの設定に加えて、セッショントークンを設定する必要があります。この記事を参照してください: https://aws.Amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/
$ aws configure
を実行し、新しいキーとシークレットを使用します。コマンドを再度実行します。
serverless invoke local --function create --path mocks/create-event.json
どういうわけか、AWSアカウントの間違ったAWS認証情報(AccessKeyとSecretKey)を使用しています。それらが正しいことを確認してください。そうでない場合は、新規作成して使用する必要があります。その場合は@Prakashがよいでしょう。
これは、Java SDKを使用しているときに私に起こりました。私にとって問題は、想定された役割からセッショントークンを使用しなかったことです。
作業コード例(kotlin内)
val identityUserPoolProviderClient = AWSCognitoIdentityProviderClientBuilder
.standard()
.withCredentials(AWSStaticCredentialsProvider(BasicSessionCredentials("accessKeyId", ""secretAccessKey, "sessionToken")))
.build()
同じエラーが発生しましたが、別の問題が原因でした。
認証情報はAWSで変更されましたが、設定プロファイルにキャッシュされたMFAセッショントークンを使用していました。
セッショントークンを含む~/.aws/cli/cache/
の下に、各プロファイルのキャッシュファイルがあります。
キャッシュファイルを削除し、コマンドを再発行して、新しいMFAトークンを入力してください。
次のように--no-sign-requestパラメーターを渡すだけで回避できると思いました。
aws --region us-west-2 --no-sign-request --endpoint-url=http://192.168.99.100:4572 \
s3 mb s3://mytestbucket
正しいプロファイル、つまり$ export AWS_PROFILE="default"
をエクスポートしてください。デフォルトのプロファイルのみがある場合は、キーが正しいことを確認し、aws configure
を再実行してください