使用 VPC Service Controls

VPC Service Controls 是一項 Google Cloud 功能,可用來設定服務 perimeter 以防範資料遭竊。

Developer Connect 中的 VPC Service Controls 無法防範可能外洩至外部原始碼管理系統的資料。本指南說明如何使用自訂機構政策進一步控管,協助防範這些情況。SCMS

如要進一步瞭解如何使用 VPC Service Controls,請參閱「使用 VPC Service Controls 設定服務範圍」。

  • 建立自訂組織政策,限制開發人員可建立的連線。

  • 建立自訂機構政策,允許開發人員僅透過特定 Service Directory 資源建立及更新連線。

事前準備

如要使用本指南提供的指令列範例,請安裝及設定 Google Cloud CLI

必要的角色

如要取得建立或編輯自訂組織政策所需的權限,請要求管理員授予組織資源的組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

建立限制,讓團隊只能連線至特定 SCMS

如要降低資料外洩至 SCMS 的可能性,其中一種方法是限制允許連線的 SCMS。您可以建立自訂機構政策,允許連線至一或多個指定的 SCMS。

下列機構政策會限制存放區連線,只允許連線至 GitHub Enterprise:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
  resource.githubEnterpriseConfig.hostUri=="https://github.mycompany.net"
actionType: ALLOW
displayName: Connection GitHub Enterprise Host Constraint
description: |
  Allows creation/update of Developer Connect connections only to GitHub Enterprise host github.mycompany.net

建立限制,要求透過 Service Directory 建立連線

您可以建立自訂機構政策,只允許連線至指定的 Service Directory 端點,降低資料外洩的可能性。

下列機構政策只允許連線至特定 Service Directory 端點:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
  resource.gitlabEnterpriseConfig.serviceDirectoryConfig.service=="projects/my-project/locations/us-central1/namespaces/ns/services/myendpoint"
actionType: ALLOW
displayName: Connection GitLab Enterprise Service Directory endpoint
description: |
  Allows creation/update of Developer Connect connections only through a specific Service Directory resource

後續步驟