我想將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密鑰,否則這似乎更好。 –