AWS API网关方法授权

时间:2017-07-05 01:18:32

标签: angularjs amazon-web-services amazon-s3 aws-lambda aws-api-gateway

我有aws example.com的域名,目前我有记录集,所以当用户访问example.com时,它提供来自S3(使用angular)和后端api(Lambda和API gate方式)的静态网站。而且我没有登录过程,因为网站的目的是面向公众。

我可以在方法上使用apikey来授权http调用,但我仍然需要将它保存在某个地方的js代码中,我不想这样做。而且我不确定IAM角色在这种情况下如何帮助我。

有什么方法可以让api允许来自特定域的呼叫?

2 个答案:

答案 0 :(得分:1)

您可以在AWS Cognito Federated Identities中使用为未经身份验证的用户定义的IAM角色。 AWS document将指导将IAM角色分配给未经身份验证的用户。

然后,您可以在API网关中为任何特定API的资源启用“AWS_IAM”Authorizer选项。

question在实现IAM角色方面具有类似的方法 - 基于访问API,其中实现使用外部联合身份(Google)而不是未经身份验证的用户身份。

答案 1 :(得分:0)

a few ways to skin this cat

最不痛苦的方式可能是使用AWS Signature V4 - 遗憾的是,对于没有内置auth系统的网站,没有很好的答案。有一天他们会让我们在VPC内部停放API网关,但那一天不是今天。

相关问题