區域 ID
REGION_ID 是 Google 根據您建立應用程式時選取的區域指派的縮寫代碼。這個代碼不對應國家/地區或省/市,即使某些區域 ID 可能與常用的國家/地區和省/市代碼相似。如果是 2020 年 2 月後建立的應用程式,App Engine 網址會包含 REGION_ID.r。如果是 2020 年 2 月前建立的現有應用程式,網址中的區域 ID 則為選用。
進一步瞭解區域 ID。
安全性是 Google Cloud的核心功能,但您仍應採取一些步驟來保護 App Engine 應用程式並找出安全漏洞。
請使用下列功能,確保您的 App Engine 應用程式安全無虞。如要進一步瞭解 Google 安全性模型,以及保護 Google Cloud 專案可採取的步驟,請參閱「Google Cloud 安全性」。
HTTPS 要求
您可以透過 HTTPS 要求,以安全的方式存取 App Engine 應用程式。視應用程式的設定方式而定,您可以使用下列幾種選項:
appspot.com網域- 使用
https網址前置字元,將 HTTPS 要求傳送至 Google Cloud 專案的default服務,例如:
https://PROJECT_ID.REGION_ID.r.appspot.com
如要指定 App Engine 應用程式中的特定資源,請使用
-dot-語法分隔要指定的各項資源,例如:
https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com如要將 HTTP 網址轉換為 HTTPS 網址,請將各資源之間的半形句號替換為
-dot-,例如:
http://SERVICE_ID.PROJECT_ID.REGION_ID.r.appspot.com
https://SERVICE_ID-dot-PROJECT_ID.REGION_ID.r.appspot.com
如要進一步瞭解 HTTPS 網址和指定資源的相關資訊,請參閱要求的轉送方式一文。
- 使用
- 自訂網域
如要透過自訂網域傳送 HTTPS 要求,您可以使用 App Engine 佈建的代管安全資料傳輸層 (SSL) 憑證。詳情請參閱使用安全資料傳輸層 (SSL) 保護自訂網域一文。
存取控管
在每個 Google Cloud 專案中設定存取控管機制,決定哪些人可以存取專案中的服務,包括 App Engine。您可以為不同帳戶指派不同角色,確保每個帳戶僅具備支援應用程式所需的權限。詳情請參閱「設定存取控管」。
App Engine 防火牆
App Engine 防火牆可讓您透過一組規則來允許或拒絕來自指定 IP 位址範圍的要求,藉此控管 App Engine 應用程式的存取權。您不必為防火牆封鎖的流量或頻寬支付費用。建立防火牆之後,您就可以套用下列設定:
- 只允許來自特定網路的流量
- 確保只有特定網路中的某個 IP 位址範圍可以存取您的應用程式。舉例來說,您可以在應用程式測試階段建立規則,只允許公司私人網路中的 IP 位址範圍。接著,您可以在應用程式發布流程的各個階段中建立及修改防火牆規則,只允許特定機構 (您的公司或外部機構) 存取您的應用程式,藉此控管存取權範圍,直到應用程式公開發布為止。
- 只允許來自特定服務的流量
- 確保所有連入 App Engine 應用程式的流量都已先透過特定服務的 Proxy 進行處理。舉例來說,如果您使用第三方網頁應用程式防火牆 (WAF) 將導向應用程式的要求傳送至 Proxy,您可以建立如下的防火牆規則:除了由 WAF 轉送的要求以外,所有其他要求一律拒絕。
- 封鎖違規 IP 位址
- 雖然 Google Cloud 已採取多項機制防範攻擊,但您可以使用 App Engine 防火牆,封鎖來自惡意 IP 位址的應用程式流量,或保護應用程式免受阻斷服務攻擊和類似形式的濫用行為。您可以將 IP 位址或子網路新增至拒絕清單,這樣一來,從這些位址和子網路轉送的要求在到達 App Engine 應用程式之前就會遭到拒絕。
如要進一步瞭解如何建立規則和設定防火牆,請參閱透過防火牆控管應用程式存取權一文。
輸入控管
您可以使用輸入控管,限制 App Engine 應用程式的傳入流量。根據預設,App Engine 應用程式會接受來自所有網路來源的流量。如要修改預設設定,以及編輯和查看可用設定,請參閱「指定輸入設定」。
輸出控制項
使用直接虛擬私有雲輸出 (預先發布版) 或無伺服器 VPC 存取連接器時,輸出控制項會決定 App Engine 服務的哪些傳出流量會透過虛擬私有雲網路轉送。根據預設,只有傳送至私人 IP 位址的要求會透過虛擬私有雲網路轉送,傳送至公開目的地的要求則會直接轉送至網際網路。您可以使用輸出控制設定,透過虛擬私有雲網路轉送 App Engine 服務的所有傳出流量 (all-traffic)。如要設定應用程式的輸出設定,請參閱「輸出設定」。共用網際網路輸出風險和可接受的使用方式
根據預設,傳送至公開網際網路的傳出流量會使用與其他無伺服器工作負載共用的動態 IP 位址區域集區。請留意下列風險和責任:- 如果該區域中其他工作負載的流量過多或濫用,可能會降低共用 IP 位址集區的信譽。外部防火牆和第三方網頁應用程式防火牆 (WAF) 可能會限制或封鎖來自這些共用 IP 位址的要求,導致連線逾時或
HTTP 403錯誤。 - 請勿將預設共用 IP 集區用於信譽敏感的外部端點,例如 Payment Gateway、託管資料庫,或 WAF 後方的合作夥伴 API。請改為透過虛擬私有雲網路轉送所有傳出流量 (
all-traffic),並搭配使用 Cloud NAT 和專屬靜態傳出 IP 位址。 - 請勿透過預設的共用網際網路輸出路徑,執行網路掃描、通訊埠列舉、主機指紋辨識、安全漏洞探測、網路抓取或負載測試。這類活動會降低共用 IP 的信譽,可能干擾其他客戶的服務,違反《Google Cloud 使用限制政策》,Google 可能會因此限制或暫停您的工作負載。
如果您執行授權安全性掃描、主機指紋辨識或負載測試工作負載,則必須隔離傳出流量。使用自己的靜態傳出 IP 位址,透過虛擬私有雲網路和 Cloud NAT 轉送所有傳出要求 (
all-traffic)。
Security Scanner
Google Cloud Web Security Scanner 會檢索 App Engine 應用程式、追蹤起始網址涵蓋的所有連結,並盡可能測試使用者輸入內容和事件處理常式,藉此找出安全漏洞。
您必須是Google Cloud 專案的擁有者,才能使用安全性掃描工具。如要進一步瞭解如何指派角色,請參閱「設定存取控管」。
您可以透過 Google Cloud 控制台執行安全性掃描,找出 App Engine 應用程式中的安全漏洞。如要進一步瞭解如何執行 Web Security Scanner,請參閱「使用 Web Security Scanner」。
VPC Service Controls
App Engine 標準環境不支援。