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

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

事前準備

Make sure that you have the following role or roles on the organization: Access Context Manager Editor (roles/accesscontextmanager.policyEditor).

Check for the roles

  1. In the Google Cloud console, go to the IAM page.

    Go to IAM
  2. Select the organization.
  3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

  4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

Grant the roles

  1. In the Google Cloud console, go to the IAM page.

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

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

    如要允許 VM 威脅偵測掃描 VPC Service Controls perimeter 中的 VM,請在這些 perimeter 中新增必要的輸出和輸入規則。針對要讓 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. 輸入 安全中心服務專員的電子郵件地址。 服務代理人的地址格式如下:

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

        請將 ORGANIZATION_ID 替換成組織 ID。

      4. 選取服務代理人或按 ENTER 鍵,然後按一下「新增身分」
      5. 在「來源」部分,選取「所有來源」
    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

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

    後續步驟