2017-10-18 44 views
1

是否可以使Google App Engine服務僅在Google雲內部網絡上可用,如果有,如何實現?我有一些不應公開的微服務(僅供其他服務使用)。Google App Engine服務僅在內部網絡上進行通信並可用

我知道你可以配置防火牆,但是:

  • App Engine的防火牆適用於所有服務
  • 我不知道IP範圍,以允許與VPC App Engine服務,因爲應用程序引擎只與域一起工作,並沒有指定它使用的範圍。

回答

0

如果您使用的是標準環境服務,則可以使用應用程序ID來驗證此類服務中的請求。從Asserting identity to other App Engine apps

如果你想確定App Engine應用程序是 使你的App Engine應用程序的請求的身份,你可以使用請求 頭X-Appengine-Inbound-Appid。該頭由URLFetch服務添加到 請求中,並且不是用戶可修改的,因此它 可安全地指示請求應用程序的ID(如果存在)。

爲了將此標頭添加到請求中,使得 的應用程序必須告訴URLFetch服務不遵循重定向。 也就是說,它必須將fetchfollow_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

+0

感謝您的麻煩我正在使用flex和標準混合,所以我想我需要一個滿足兩者的解決方案。 –

相關問題