我想将WAF放在API网关前面,并且通过(little) info我发现只有在APIG前面手动添加一个启用了WAF的额外Cloudfront分配。这有点令人遗憾,尤其是因为APIG现在支持本地的自定义域名,但它应该可以工作。AWS Cloudfront(带WAF)+ API网关:如何通过Cloudfront强制访问?
我们使解决方案的安全,而不仅仅是模糊的,我想执行这些API只能通过发行的Cloudfront进行访问。 这样做的最佳选择是什么?
- 我一直希望能够使用类似于S3的'Origin Access Identities',但没有看到如何做到这一点。
- 如果我能分配一个IAM用户(或角色?)给的Cloudfront发行版,我可以用APIG IAM功能,但我看不出如何可以做到这一点。
- 我可能需要APIG中的API密钥,并将其作为来自Cloudfront的原始自定义标头传递。这可以起作用,只要我们不希望将API密钥用于其他目的,所以我并不完全为此感到高兴。
- 可以使用虚拟(!)自定义授权者,令牌验证表达式实际检查作为Cloudfront的原始自定义标头传递的秘密。应该工作,它更灵活,但有点肮脏...或不?
更好的想法?或者,也许“正确的方式”做到这一点,但我忽略了它?
子弹1和2是不合格的。 CloudFront使用原始访问身份*代替IAM角色/用户,但仅适用于S3 ...因此子弹3和4是获胜者。我很惭愧地承认,虽然4对我来说很明显,但我没有想到3,除非你想要API密钥,否则这似乎更好。 –