VPC Service Controls 是一項 Google Cloud 功能,可用來設定服務 perimeter 以防範資料遭竊。
Developer Connect 中的 VPC Service Controls 無法防範可能發生的資料外洩至外部原始碼管理系統。本指南說明如何使用自訂機構政策進一步控管,協助防範這些情況。SCMS
如要進一步瞭解如何使用 VPC Service Controls,請參閱「使用 VPC Service Controls 設定服務範圍」。
建立自訂組織政策,限制開發人員可建立的連線。
建立自訂機構政策,允許開發人員僅透過特定 Service Directory 資源建立及更新連線。
查看限制,瞭解 Developer Connect 洞察資料的限制。
事前準備
如要使用本指南提供的指令列範例,請安裝及設定 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
Developer Connect 洞察資料的限制
搭配 VPC Service Controls 使用 Developer Connect 洞察資料 (InsightsConfig) 時,請注意下列已知限制和設定需求:
App Hub API 依附元件:Developer Connect 洞察資料依附於 App Hub API。對於使用資料夾管理邊界的應用程式,資料夾層級的 VPC Service Controls 限制不會套用至子代專案;即使子代專案與管理專案不在同一個 perimeter,App Hub 仍可探索所有子代專案的服務和工作負載。
透過 App Topology 取得資源中繼資料:使用 Developer Connect 洞察資料時,如果也啟用 App Topology API,即可透過 App Topology 取得豐富的資源中繼資料。如果您同時使用這兩項服務,建議在邊界中限制 Developer Connect 洞察 API (
developerconnect.googleapis.com) 和 App Topology API(apptopology.googleapis.com)。App Hub 應用程式動態消息和 IAM 存取控管:當
InsightsConfig追蹤 App Hub 應用程式的洞察資料時,Developer Connect 會在 App Hub 應用程式的管理資料夾或專案界線中,建立 Cloud Asset Inventory 即時動態消息。這些動態饋給的資料會直接發布至 Developer Connect 服務,但只有獲准從這些資料夾或專案讀取資產中繼資料的 Developer Connect 服務代理人,才能使用這些資料。除了使用 IAM 角色限制哪些 Developer Connect 服務代理程式可獲得這項存取權,託管InsightsConfig資源的專案和發布資料的專案也必須位於相同的 VPC Service Controls 範圍內,或是必須為 Developer Connect 服務代理程式新增輸入和輸出規則,允許存取。專案範圍的資訊提供和 IAM 存取控管:當
InsightsConfig範圍限定為專案時,Developer Connect 會直接在目標專案中建立 Cloud Asset Inventory 即時資訊提供。這些動態饋給的資料會直接發布至 Developer Connect 服務,但只有獲准從這些專案讀取資產中繼資料的 Developer Connect 服務代理程式,才能使用這些資料。除了使用 IAM 角色限制哪些 Developer Connect 服務代理程式可獲得這項存取權,託管InsightsConfig資源的專案和發布資料的專案也必須位於相同的 VPC Service Controls 範圍內,或是必須為 Developer Connect 服務代理程式新增輸入和輸出規則,允許存取。構件中繼資料和出處的範圍對齊:託管
InsightsConfig資源的專案,以及包含構件中繼資料或出處的任何專案,都必須位於相同的 VPC Service Controls 範圍內,或是必須為 Developer Connect 服務代理程式新增輸入和輸出規則,允許存取。部署記錄的範圍對齊:託管
InsightsConfig資源的專案,以及包含部署作業的任何專案,都必須位於相同的 VPC Service Controls 範圍內,或是必須為 Developer Connect 服務代理程式新增輸入和輸出規則,允許存取。