Dam*_*amo 5 curl amazon-web-services elasticsearch aws-elasticsearch
我正在尝试使用我的accessKey和secretKey使用curl向我在AWS中的es集群发布请求。我已经通过邮递员成功完成了此操作(详细信息请参见此处),您可以在其中指定 AWS 凭证,但我想使用curl 来完成此操作。邮递员可以为您自动生成您的卷曲请求,但我得到的只是错误。
这是生成的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."}%
Run Code Online (Sandbox Code Playgroud)
为了保护无辜者,身份证已被更改。
我已经检查了我所有的密钥和区域,就像我说的,这可以通过邮递员进行。是否可以通过curl 使用我的密钥访问此AWS 服务?
这是一个相当长的兔子洞。感谢 Adam 的评论,让我朝着正确的方向前进。链接https://docs.aws.amazon.com/apigateway/api-reference/signing-requests/确实可以帮助您了解需要做什么。
此后我找到了一个遵循上述签名请求方法的脚本。它在 bash 中运行,虽然它不是为与 elasticsearch 请求一起使用而编写的,但它可以用于它们。
https://github.com/riboseinc/aws-authentication-secgroup-scripts非常感谢https://www.ribose.com将其放在 github 上。
| 归档时间: |
|
| 查看次数: |
10328 次 |
| 最近记录: |