允許 VM 威脅偵測存取 VPC Service Controls 範圍

本文說明如何新增輸入和輸出規則,允許虛擬機器威脅偵測掃描 VPC Service Controls perimeter 中的 VM。如果貴機構使用 VPC Service Controls 限制專案中的服務,且您希望 VM 威脅偵測掃描這些專案,請執行這項工作。如要進一步瞭解 VM 威脅偵測功能,請參閱「VM 威脅偵測總覽」。

事前準備

確認您在機構中具備下列角色: Access Context Manager 編輯者 (roles/accesscontextmanager.policyEditor)。

檢查角色

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面
  2. 選取機構。
  3. 在「主體」欄中,找出所有識別您或您所屬群組的資料列。如要瞭解自己所屬的群組,請與管理員聯絡。

  4. 針對指定或包含您的所有列,請檢查「角色」欄,確認角色清單是否包含必要角色。

授予角色

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面
  2. 選取機構。
  3. 按一下「Grant access」(授予存取權)
  4. 在「New principals」(新增主體) 欄位中,輸入您的使用者 ID。 這通常是指 Google 帳戶的電子郵件地址。

  5. 按一下「選取角色」,然後搜尋角色。
  6. 如要授予其他角色,請按一下「Add another role」(新增其他角色),然後新增其他角色。
  7. 按一下「Save」(儲存)

建立輸出和輸入規則

如要允許 VM 威脅偵測掃描 VPC Service Controls 範圍內的 VM,請在這些範圍中新增必要的輸出和輸入規則。針對要讓 VM 威脅偵測掃描的每個周邊重複執行這些步驟。

詳情請參閱 VPC Service Controls 說明文件的「更新 service perimeter 的輸入和輸出政策」。

控制台

  1. 前往 Google Cloud 控制台的「VPC Service Controls」頁面。

    前往 VPC Service Controls

  2. 選取您的機構。
  3. 在下拉式清單中,選取包含要授予存取權的服務範圍的存取政策。

    清單中會顯示與存取權政策相關聯的 service perimeter。

  4. 按一下要更新的服務安全防護範圍名稱。

    如要找出需要修改的服務邊界,請檢查記錄檔中顯示 RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER 違規事項的項目。在這些項目中,檢查 servicePerimeterName 欄位:

    accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
  5. 按一下「Edit」(編輯)
  6. 按一下「輸出政策」
  7. 按一下「Add an egress rule」(新增輸出規則)
  8. 在「From」(從) 專區中,設定下列詳細資料:

    1. 在「身分」>「身分」部分,選取「選取身分和群組」
    2. 按一下「Add identities」(新增身分)
    3. 輸入用來識別 Cloud Security Command Center 服務代理的電子郵件地址。這個地址的格式如下:

      service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

      請將 ORGANIZATION_ID 替換成組織 ID。

    4. 選取服務代理或按下 ENTER 鍵,然後按一下「新增身分」
  9. 在「收件者」部分,設定下列詳細資料:

    1. 依序選取「資源」>「專案」>「所有專案」
    2. 在「作業或 IAM 角色」中,選取「選取作業」
    3. 按一下「新增作業」,然後新增下列作業:

      • 新增 compute.googleapis.com 服務。
        1. 按一下「選取方法」
        2. 選取「DisksService.Insert」DisksService.Insert方法。

        3. 按一下「Add selected methods」(新增所選方法)
  10. 按一下「輸入政策」
  11. 按一下「Add an ingress rule」(新增輸入規則)
  12. 在「From」(從) 專區中,設定下列詳細資料:

    1. 在「身分」>「身分」部分,選取「選取身分和群組」
    2. 按一下「Add identities」(新增身分)
    3. 輸入用來識別 Cloud Security Command Center 服務代理的電子郵件地址。這個地址的格式如下:

      service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com

      請將 ORGANIZATION_ID 替換成組織 ID。

    4. 選取服務代理或按下 ENTER 鍵,然後按一下「新增身分」
  13. 在「收件者」部分,設定下列詳細資料:

    1. 依序選取「資源」>「專案」>「所有專案」
    2. 在「作業或 IAM 角色」中,選取「選取作業」
    3. 按一下「新增作業」,然後新增下列作業:

      • 新增 compute.googleapis.com 服務。
        1. 按一下「選取方法」
        2. 選取下列方法:

          • DisksService.Insert
          • InstancesService.AggregatedList
          • InstancesService.List
        3. 按一下「Add selected methods」(新增所選方法)
  14. 按一下 [儲存]

gcloud

  1. 如果尚未設定配額專案,請設定配額專案。選擇已啟用 Access Context Manager API 的專案。

    gcloud config set billing/quota_project QUOTA_PROJECT_ID

    QUOTA_PROJECT_ID 替換為您要用於帳單和配額的專案 ID。

  2. 建立名為 egress-rule.yaml 的檔案,並在當中加入下列內容:

    - egressFrom:
        identities:
        - serviceAccount:service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com
      egressTo:
        operations:
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: DisksService.Insert
        resources:
        - '*'

    請將 ORGANIZATION_ID 替換成組織 ID。

  3. 建立名為 ingress-rule.yaml 的檔案,並在當中加入下列內容:

    - ingressFrom:
        identities:
        - serviceAccount:service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com
        sources:
        - accessLevel: '*'
      ingressTo:
        operations:
        - serviceName: compute.googleapis.com
          methodSelectors:
          - method: DisksService.Insert
          - method: InstancesService.AggregatedList
          - method: InstancesService.List
        resources:
        - '*'

    請將 ORGANIZATION_ID 替換成組織 ID。

  4. 將輸出規則新增至範圍:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
        --set-egress-policies=egress-rule.yaml

    更改下列內容:

    • PERIMETER_NAME:perimeter 的名稱。例如:accessPolicies/1234567890/servicePerimeters/example_perimeter

      如要找出需要修改的服務周邊,請檢查記錄檔中顯示 RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER 違規事項的項目。在這些項目中,檢查 servicePerimeterName 欄位:

      accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
  5. 將輸入規則新增至範圍:

    gcloud access-context-manager perimeters update PERIMETER_NAME \
        --set-ingress-policies=ingress-rule.yaml

    更改下列內容:

    • PERIMETER_NAME:perimeter 的名稱。例如:accessPolicies/1234567890/servicePerimeters/example_perimeter

      如要找出需要修改的服務周邊,請檢查記錄檔中顯示 RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER 違規事項的項目。在這些項目中,檢查 servicePerimeterName 欄位:

      accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME

詳情請參閱「輸入和輸出規則」。

後續步驟