如何从执行角色有权这样做的 AWS Lambda 调用 AWS_IAM 授权的 API 网关终端节点?

Cam*_*art 11 signing amazon-web-services aws-lambda aws-api-gateway

我想从执行角色有权执行该 API 网关的执行 AWS Lambda 调用授权设置为 AWS_IAM 的 AWS API 网关端点。

在此处输入图片说明

无论如何,我是否可以使用我的 Lambda 的当前执行角色对 API Gateway 的 HTTPS 请求进行签名?

编辑:

查看http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html,我可以使用 SDK 调用 AssumeRole 来承担有权执行 Api Gateway 的角色,然后提取可用于签署请求的密钥。

Abh*_*aja 10

可以从环境变量 - AWS_SESSION_TOKEN、AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY 中检索 lambda 执行角色的凭证。

您可以使用上述凭据对请求进行签名。签名文档在这里http://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html。您还可以查看执行此操作的第三方库。

请注意,由于您拥有会话令牌,因此您需要按照http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html#RequestWithSTS 中的描述处理它