是否可以使Google App Engine服務僅在Google雲內部網絡上可用,如果有,如何實現?我有一些不應公開的微服務(僅供其他服務使用)。Google App Engine服務僅在內部網絡上進行通信並可用
我知道你可以配置防火牆,但是:
- App Engine的防火牆適用於所有服務
- 我不知道IP範圍,以允許與VPC App Engine服務,因爲應用程序引擎只與域一起工作,並沒有指定它使用的範圍。
是否可以使Google App Engine服務僅在Google雲內部網絡上可用,如果有,如何實現?我有一些不應公開的微服務(僅供其他服務使用)。Google App Engine服務僅在內部網絡上進行通信並可用
我知道你可以配置防火牆,但是:
如果您使用的是標準環境服務,則可以使用應用程序ID來驗證此類服務中的請求。從Asserting identity to other App Engine apps:
如果你想確定App Engine應用程序是 使你的App Engine應用程序的請求的身份,你可以使用請求 頭
X-Appengine-Inbound-Appid
。該頭由URLFetch服務添加到 請求中,並且不是用戶可修改的,因此它 可安全地指示請求應用程序的ID(如果存在)。爲了將此標頭添加到請求中,使得 的應用程序必須告訴URLFetch服務不遵循重定向。 也就是說,它必須將
fetch
follow_redirects
參數設置爲False
。然後,App Engine將自動將標題添加到HTTP 響應中。在你的應用程序處理程序,你可以通過閱讀 的
X-Appengine-Inbound-Appid
頭,並將其與允許作出請求 ID的列表檢查傳入ID。**Note:** The **X-Appengine-Inbound-Appid** header is only set if the call is made to the **appspot.com** domain. If the app has a custom domain, this header will not be set.
然而,如果你使用Flex環境這種方法是行不通的,看到App Engine Flexible + App Identity (Python)
使用身份驗證與應用程序自己的服務帳戶可以是另一件事看的Flex環境 - 但我還沒有嘗試。見Service Account for the App Engine Flexible Environment。
感謝您的麻煩我正在使用flex和標準混合,所以我想我需要一個滿足兩者的解決方案。 –