透過 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” 錯誤。