我有一個谷歌云專案,它有以下資源:
我有一個谷歌云專案,它有以下資源。
- App Engine 標準環境,它承載了前端(基本上是 react-app)。
- 一個私有的 Google Cloud 函式 。
現在,我想在以下情況下從 react-app 中呼叫該函式
只允許內部流量到云函式。只有App Engine的靈活環境可以呼叫該函式,所以排除了CORS進行認證:客戶端仍然可以呼叫該函式。public。會讓每個人都呼叫該函式,這對于私有API來說是不推薦的CORS來呼叫函式。
Google Cloud API來呼叫函式:這將在前端暴露我的Google Cloud API密鑰。
那么,是否有辦法從App Engine標準環境中呼叫云函式呢
?uj5u.com熱心網友回復:
你不能用ingress = internal來呼叫云函式(或云運行),只能用App Engine。請看我的答案這里
為了保證你的云函式的安全,你可以依靠IAM服務。如果你的 App Engine 服務呼叫你的云功能(我的意思是你有在 App Engine 上運行的后臺代碼,而不是在用戶瀏覽器中運行的靜態 JS 檔案),你可以只授予 App Engine 服務帳戶(你現在可以 自定義服務帳戶以與你的 App Engine 服務一起運行)呼叫云功能的權限。
當然,您的云功能是公開的,但只有經過認證和授權的流量才會被路由到您的云功能。所有不良流量(來自互聯網或其他未經授權的服務)將被GFE(谷歌前端)自動拒絕,并在呼叫您的云功能之前。因此,您將只為有效的流量付費,所有的不良流量都會被谷歌拋棄。
如果代碼在用戶瀏覽器上運行(因為你的應用引擎只提供靜態檔案),你可以使用代理層來添加安全過濾,就像API Gateway。你可以看看這個答案
。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/317589.html
標籤:
