VPC Service Controls 是一项 Google Cloud 功能,可让您 设置服务边界以防数据渗漏。
Developer Connect 中的 VPC Service Controls 无法防范可能渗漏到外部源代码管理系统的情况。本指南介绍了如何使用自定义组织政策来进一步控制,以帮助阻止这些场景。 SCMS
如需详细了解如何使用 VPC Service Controls,请参阅使用 VPC Service Controls设置服务边界。
创建自定义组织政策,以限制您的 开发者可以创建哪些连接。
创建自定义组织政策,以允许 开发者仅通过特定的 Service Directory 资源创建和更新连接。
查看限制 Developer Connect Insights。
准备工作
如需使用本指南中的命令行示例,请安装并配置 Google Cloud CLI。
所需角色
如需获得创建或修改自定义组织政策所需的权限,请让您的管理员为您授予组织资源的Organization Policy Administrator (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 Insights 的限制
将 Developer Connect Insights
(InsightsConfig) 与 VPC Service Controls 搭配使用时,请注意以下已知
限制和配置要求:
依赖于 App Hub API:Developer Connect Insights 依赖于 App Hub API。对于使用文件夹管理边界的应用,文件夹级 VPC Service Controls 限制不适用于后代项目;即使后代项目与管理项目不在同一边界内,App Hub 也可以发现所有后代项目的服务和工作负载。
通过 App Topology 提供的资源元数据:使用 Developer Connect Insights 时,如果还启用了 App Topology API,则可以通过 App Topology 获取丰富的资源元数据。如果您同时使用这两项服务,建议您在边界内限制 Developer Connect Insights API (
developerconnect.googleapis.com) 和 App Topology API(apptopology.googleapis.com)。App Hub 应用 Feed 和 IAM 访问权限控制:当
InsightsConfig跟踪 App Hub 应用的 Insights 时, Developer Connect 会在 App Hub 应用的管理文件夹或项目边界中创建 Cloud Asset Inventory 实时 Feed。 这些 Feed 中的数据会直接发布到 Developer Connect 服务,但仅供允许从这些文件夹或项目读取资产元数据的 Developer Connect 服务代理使用。除了使用 IAM 角色来限制 哪些 Developer Connect 服务代理可以获得此访问权限之外,托管InsightsConfig资源的项目和发布数据的项目 必须位于同一 VPC Service Controls 边界内,或者 必须为 Developer Connect 服务代理添加配置的 入站和出站规则 ,以 允许访问。项目范围限定的 Feed 和 IAM 访问权限控制:当
InsightsConfig的范围限定为项目时,Developer Connect 会直接在 目标项目中创建 Cloud Asset Inventory 实时 Feed。这些 Feed 中的数据会直接发布到 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 服务代理添加配置的 入站和出站规则,以 允许访问。