accessKeyとsecretKeyを使用して、curlを使用してAWSのesクラスターにリクエストを投稿しようとしています。AWS認証情報を指定できるpostman(詳細はこちら)を介してこれを正常に実行しましたが、curlを使用してこれを機能させたいと思います。Postmanはあなたのカールリクエストを自動生成できますが、私が受け取るのはエラーだけです。
これは、応答とともに生成されたcurlリクエストです
curl -X GET \
https://search-00000000000001.eu-west-1.es.amazonaws.com/_cat/indices \
-H 'Authorization: AWS4-HMAC-SHA256 Credential=11111111111111111111/20181119/eu-west-1/es/aws4_request, SignedHeaders=cache-control;content-type;host;postman-token;x-amz-date, Signature=11111111116401882398f46011f14fdb9d55e012a4fb912706d67c1111111111' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Host: search-00000000000001.eu-west-1.es.amazonaws.com' \
-H 'Postman-Token: 00000000-0000-4001-8006-9291e208a000' \
-H 'X-Amz-Date: 20181119T220000Z' \
-H 'cache-control: no-cache'
{"message":"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details."}%
罪のない人を保護するためにIDが変更されました。
私はすべてのキーと地域をチェックしました、そして私が言ったようにこれは郵便配達員を通して働きます。curlを介してキーを使用してこのAWSサービスにアクセスすることは可能ですか?
これはかなり長いうさぎの穴です。正しい方向に私を送ってくれたコメントをくれたAdamに感謝します。リンクhttps://docs.aws.amazon.com/apigateway/api-reference/signing-requests/は、実際に何をする必要があるかを理解するのに役立ちます。
それ以来、上記の署名リクエスト方法に従うスクリプトを見つけました。これはbashで実行され、elasticsearchリクエストで使用するために作成されていませんが、それらで使用できます。
https://github.com/riboseinc/aws-authenticating-secgroup-scriptsこれをgithubに配置してくれたhttps://www.ribose.comに感謝します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加