為提升整體安全性,IAP 預設會拒絕存取沒有相符伺服器名稱指示 (SNI) 的要求。IAP 也會檢查負載平衡器憑證的 SNI。這可讓 IAP 限制網址重新導向至惡意網域。IAP 允許的網域功能可為受 IAP 保護的資源提供額外的安全防護層。身為資源擁有者或 IAP 管理員,您可以設定允許的網域功能,將 IAP 保護的資源存取權限制在特定網域。
您也可以在下列情況下設定允許使用應用程式內購的網域:
- 您的瀏覽器或中介 Proxy 會強制執行連線集結:在這種情況下,您會收到 HTTP 回應 429 和錯誤代碼
51
。如要解決這個問題,IAP 管理員可以更新允許的網域清單,納入您的主機名稱。 - 提供的主機名稱與伺服器上的 SSL 憑證不符:在這種情況下,您會收到錯誤代碼
52
。如要解決這個問題,IAP 管理員可以更新允許的網域清單,納入您的主機名稱。
設定允許的網域
您可以使用 gcloud 或 API 設定允許的網域。如要設定允許的網域,請使用下列欄位:
enable
:布林值。開啟或關閉允許的網域功能。Domains
:字串。允許的網域清單。網域可包含萬用字元前置字元,例如*.example.com.
網域名稱不得直接在公開字尾或頂層網域中包含萬用字元。例如:*.com
、*.co.in
。
詳情請參閱 IapSettings。
如要設定允許使用應用程式內購的網域,請完成下列步驟:
主控台
- 前往 IAP 頁面。
前往「Identity-Aware Proxy」。 - 選取專案,然後選取要啟用允許網域功能的資源。
- 開啟資源的「設定」,在「允許的網域」下方,選取「啟用允許的網域」。
- 指定允許的網域清單,然後按一下「儲存」。
gcloud
以下列舉一些指定許可網域的指令範例。
詳情請參閱 gcloud iap settings set
。
執行下列指令:
gcloud iap settings set SETTING_FILE --folder=FOLDER --organization=ORGANIZATION --project=PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
其中 SETTING_FILE
為:
accessSettings:
allowed_domains_settings:
enable: true
domains: ["*.example.com", "*.example.net"]
更改下列內容:
- FOLDER:資料夾 ID。
- ORGANIZATION:機構 ID。
- PROJECT:專案 ID。
- RESOURCE_TYPE:IAP 資源類型。必須是
app-engine
、iap_web
、compute
、organization
或folder
。 - SERVICE:服務名稱。當
resource-type
為compute
或app-engine
時,這項屬性為選用。 - VERSION:版本名稱。這不適用於
compute
,且在resource-type
為app-engine
時為選用項目。
API
如要設定允許的網域,請完成下列步驟。如要進一步瞭解如何使用 API 設定許可網域,請參閱 IapSettings。
- 執行下列指令來準備
iap_settings.json
檔案。視需要更新值。
{ "access_settings":{ "allowed_domains_settings":{ "enable": true "domains": [ "*.example.com", "*.exampe.net" ] } } }
- 執行
gcloud iap settings get
指令即可取得資源名稱。從輸出內容複製名稱欄位。您會在下一個步驟中使用這個名稱。
gcloud iap settings get --organization=ORGANIZATION --folder=FOLDER --project=PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
- 將下列指令中的
RESOURCE_NAME
替換為上一步的名稱。IapSettings
會更新。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @iap_settings.json \ "https://iap.googleapis.com/v1/RESOURCE_NAME:iapSettings?updateMask=iapSettings.accessSettings.allowedDomainsSettings.enable,iapSettings.accessSettings.allowedDomainsSettings.domains"
疑難排解
允許的網域存取問題
如果您收到 錯誤代碼 53,請要求 IAP 管理員將您的主機名稱加入允許的網域清單。