透過 VPC Service Controls 提高安全性

Google Cloud Search 支援 VPC Service Controls,可強化資料安全性。VPC Service Controls 可讓您定義 Google Cloud Platform 資源周圍的服務範圍,藉此限制資料並降低資料竊取風險。

必要條件

在開始之前,請先安裝 gcloud 指令列介面

啟用 VPC Service Controls

如要啟用 VPC Service Controls,請按照下列步驟操作:

  1. 取得您要使用的 Google Cloud Platform 專案的專案 ID 和專案編號。如要取得專案 ID 和編號,請參閱識別專案

  2. 使用 gcloud 為您的 Google Cloud Platform 機構建立存取權政策:

    1. 取得機構 ID
    2. 建立存取權政策
    3. 取得存取權政策的名稱
  3. 執行下列 gcloud 指令,將 Cloud Search 設為受限制的服務:

    gcloud access-context-manager perimeters create NAME \
        --title=TITLE \
        --resources=PROJECTS \
        --restricted-services=RESTRICTED-SERVICES \
        --policy=POLICY_NAME
    

    在此情況下:

    • NAME 是範圍的名稱。
    • TITLE 是使用者可理解的範圍標題,
    • PROJECTS 是以半形逗號分隔的清單,包含一或多個專案編號,且每個專案編號前面加上 projects/ 字串。請使用步驟 1 中取得的專案編號。舉例來說,如果您有兩個專案 (專案 1234567890),您的設定會是 --resource=projects/12345, project/67890。此標記僅支援專案編號,不支援名稱或 ID。
    • RESTRICTED-SERVICES 是包含一或多項服務的逗號分隔清單,使用「cloudsearch.googleapis.com」。
    • POLICY_NAME 是步驟 2c 針對您機構的存取權政策的數字名稱。

    如要進一步瞭解如何建立服務範圍,請參閱建立服務範圍一文。

  4. (選用) 如要套用 IP 或區域層級的限制,請建立存取層級,並將其新增至在步驟 3 建立的服務範圍:

    1. 如要建立存取層級,請參閱「建立基本存取層級」一文。如要瞭解如何建立只允許從特定 IP 位址範圍 (例如公司網路內的 IP 位址) 存取的存取層級條件,請參閱限制公司網路的存取權
    2. 建立存取層級後,請將存取層級新增至服務範圍。 如需為服務範圍新增存取層級的操作說明,請參閱「為現有範圍新增存取層級」一文。這項變更最多可能需要 30 分鐘才會全面生效並生效。
  5. 使用 Cloud Search Customer Service REST API,以受 VPC Service Controls 週邊保護的專案來更新客戶設定:

  1. 從 Google 授權伺服器取得 OAuth 2.0 存取權杖。如要瞭解如何取得權杖,請參閱使用 OAuth 2.0 存取 Google API 步驟 2。取得存取權杖時,請使用下列其中一個 OAuth 範圍:https://www.googleapis.com/auth/cloud_search.settings.indexinghttps://www.googleapis.com/auth/cloud_search.settingshttps://www.googleapis.com/auth/cloud_search

  2. 執行下列 curl 指令,以在 Google Cloud Search 中「客戶設定」下的 VPC Service Controls 設定中設定專案:

    curl --request PATCH \
      'https://cloudsearch.googleapis.com/v1/settings/customer' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '{ "vpc_settings": { "project": "projects/PROJECT_ID" } }' \
      --compressed
    

    在此情況下:

  • YOUR_ACCESS_TOKEN 是步驟 5a 中取得的 OAuth 2.0 存取權杖。
  • PROJECT_ID 是步驟 1 中取得的專案 ID。

    如果成功,您應該會收到 200 OK 回應,其中包含更新後的客戶設定。

成功完成上述步驟後,系統會將服務範圍中定義的 VPC Service Controls 限制套用到所有 Google Cloud Search API、在 cloudsearch.google.com 中搜尋,以及使用管理控制台查看及變更設定或報表。日後如果向 Google Cloud Search API 提出不符合存取層級的要求,就會收到 PERMISSION_DENIED “Request is prohibited by organization’s policy” 錯誤。