为Neptune构建HTTP REST API请求的AWS授权标头

问题描述

我需要调用Neptune REST端点以进行带有http的查询。如何使用AWS访问密钥,秘密ID,不带SDK的区域来构建HTTP请求授权?

解决方法

您指的是使用访问密钥,私钥,区域和会话令牌(如果使用角色)为请求创建AWS Signature Version 4签名的过程。

如果打算不使用SDK,则需要手动构建AWS Signature Version 4签名[1]。手动执行此过程(例如通过Python [2,3])非常容易出错。建议您尽可能使用SDK [4]。

[1] https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

[2] https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html

[3] https://docs.aws.amazon.com/neptune/latest/userguide/iam-auth-connecting-python.html

[4] https://github.com/groupme/aws4