使用 Web Risk 偵測惡意網址
事前準備
建立 Google Cloud 專案。瞭解如何建立 Google Cloud 專案。
設定驗證並啟用 Web Risk API
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要具備專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
啟用 Web Risk API:
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。gcloud services enable webrisk.googleapis.com
-
安裝 Google Cloud CLI。
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
選取或建立專案所需的角色
- 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您已獲授角色,即可選取任何專案。
-
建立專案:如要建立專案,您需要具備專案建立者角色 (
roles/resourcemanager.projectCreator),其中包含resourcemanager.projects.create權限。瞭解如何授予角色。
-
建立 Google Cloud 專案:
gcloud projects create PROJECT_ID
將
PROJECT_ID替換為您要建立的 Google Cloud 專案名稱。 -
選取您建立的 Google Cloud 專案:
gcloud config set project PROJECT_ID
將
PROJECT_ID替換為 Google Cloud 專案名稱。
啟用 Web Risk API:
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。gcloud services enable webrisk.googleapis.com
使用 API
使用 Web Risk API 時,請務必詳閱 Web Risk 的服務水準協議和使用限制。
如要開始使用 Web Risk,請參閱下列主題:
哪種 API 適合我?查詢或更新?
Web Risk 提供兩種不同的 API,可供您整合。這些 API 包括 Lookup API 和 Update API。這兩個 API 都提供相同的資訊。也就是網址是否已遭判定為惡意。最容易使用的 API 是 Lookup API。使用 Lookup API 時,您會查詢要檢查的每個網址是否列在 Web Risk 清單中。
更新 API 較為複雜,但有一些優點。使用 Update API 維護本機資料庫。這個資料庫可用於檢查網址是否含有惡意內容。這個資料庫會做為 Bloom 篩選器。也就是說,系統可能會發生誤判 (將非惡意網址判定為惡意),但不會發生疏漏 (將惡意網址判定為非惡意)。因此,系統很少會連線至 Web Risk 伺服器,只有在確認相符項目和消除偽陽性時才會連線。在大多數情況下,使用 Update API 檢查網址時,完全不需要與 Web Risk 伺服器聯絡。您只應在更新本機資料庫和確認網址有害時,才與 Web Risk 伺服器聯絡。
總而言之,如要快速輕鬆地完成設定,請使用 Lookup API。如果需要縮短網址檢查的延遲時間,請使用 Update API。
選擇合適的用戶端功能
如果您選擇使用 Update API,可能不需要實作整個規格。有些功能是專為廣泛發布的用戶端 (例如網頁瀏覽器) 設計,但在許多企業案例中,這些功能過度最佳化。
為簡化整合程序,您可以忽略部分功能。
以下是 Web Risk 整合解決方案,依複雜度排序
- 使用 LookUp API
- 基本更新 API 用戶端
- 使用差異更新 API 用戶端
- 使用 RICE 壓縮差異更新 API 用戶端
使用 Lookup API
使用 Lookup API 的複雜度最低。只要有可疑網址,只要使用該網址呼叫 Lookup API,即可查看判定結果。網址的標準化和格式設定作業由 Web Risk 伺服器處理。除非平均延遲時間超過需求,否則這個解決方案應適用於大多數用戶端。
基本更新 API 用戶端
Update API 需要額外複雜的作業,才能在查詢前管理本機資料庫和標準化網址。
在與 Web Risk 整合的典型用戶端中,用戶端會套用資料庫差異,以確保資料保持最新狀態。正確實作差異應用程式邏輯可能需要一些時間,因此在最簡單的情況下,建議用戶端忽略差異,並在每個週期向 Web Risk 要求完整的新資料庫。這個資料庫仍會儲存在記憶體中,以利查詢。如要要求完整重設資料庫,請在 threatLists.computeDiff 要求中將 versionToken 欄位留空。除非頻寬或資料庫同步延遲超出需求,否則這個解決方案對用戶端應有效。
使用 Update API 並要求差異更新
這項解決方案的複雜度較高,因為必須將差異邏輯套用至本機資料庫。詳情請參閱「資料庫差異」。與每個週期都要求新資料庫相比,使用差異會減少頻寬,但複雜度會增加。完整更新資料庫可能需要幾 MB 的空間。這項解決方案應足以滿足大多數企業客戶的需求。
使用 Update API 並要求 RICE 編碼的差異更新
這是最有效率的用戶端整合方式。RICE 編碼可壓縮 DIFF 大小,進一步減少更新頻寬。這項解決方案適用於頻寬最受限的客戶。舉例來說,如果手機應用程式內建 Web Risk 查詢功能,使用者透過手機資料更新資料庫時,一定會很感謝有頻寬較低的解決方案。詳情請參閱「壓縮」一文。