Usa los Controles del servicio de VPC

Controles del servicio de VPC es una Google Cloud función que te permite configurar un perímetro de servicio para protegerte contra el robo de datos.

Los Controles del servicio de VPC en Developer Connect no protegen contra el posible robo a sistemas externos de administración de código fuente. En esta guía, se muestran más controles que usan políticas de la organización personalizadas para ayudar a bloquear estas situaciones. SCMS

Consulta Configura un perímetro de servicio con los Controles del servicio de VPC para obtener más información sobre cómo usar los Controles del servicio de VPC.

  • Crea una política de la organización personalizada que restrinja a qué pueden crear conexiones tus desarrolladores.

  • Crea una política de la organización personalizada que permita a tus desarrolladores crear y actualizar conexiones solo a través de un recurso específico del Directorio de servicios.

  • Revisa las limitaciones de las estadísticas de Developer Connect.

Antes de comenzar

Para usar los ejemplos de la línea de comandos de esta guía, instala y configura la Google Cloud CLI.

Roles obligatorios

Para obtener los permisos que necesitas para crear o editar una política de la organización personalizada, pídele a tu administrador que te otorgue el rol de IAM Administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en el recurso de organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Crea una restricción para limitar los SCMS a los que tu equipo puede crear conexiones

Una forma de mitigar la posibilidad de robo de datos a un SCMS es limitar qué SCMS se permiten para las conexiones. Puedes crear una política de la organización personalizada que permita conexiones a uno o más SCMS especificados.

La siguiente política de la organización limita las conexiones de repositorios para permitir conexiones solo a 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

Crea una restricción para requerir conexiones a través del Directorio de servicios

Puedes mitigar la posibilidad de robo de datos si creas una política de la organización personalizada que permita conexiones solo a un extremo especificado del Directorio de servicios.

La siguiente política de la organización permite conexiones solo a un extremo específico del Directorio de servicios:

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

Limitaciones de las estadísticas de Developer Connect

Cuando usas las estadísticas de Developer Connect (InsightsConfig) con los Controles del servicio de VPC, ten en cuenta las siguientes limitaciones conocidas y requisitos de configuración:

  • Dependencia de la API de App Hub: Las estadísticas de Developer Connect dependen de la API de App Hub. En el caso de las aplicaciones que usan un límite de administración de carpetas, las restricciones de los Controles del servicio de VPC a nivel de la carpeta no se aplican a los proyectos descendientes. App Hub puede descubrir servicios y cargas de trabajo para todos los proyectos descendientes, incluso si no están en el mismo perímetro que el proyecto de administración.

  • Metadatos de recursos disponibles a través de App Topology: Cuando se usan las estadísticas de Developer Connect, los metadatos de recursos enriquecidos están disponibles a través de App Topology, si también está habilitada la API de App Topology. Te recomendamos que restrinjas la API de estadísticas de Developer Connect (developerconnect.googleapis.com) y la API de App Topology(apptopology.googleapis.com) en los perímetros si usas ambos servicios.

  • Feeds de aplicaciones de App Hub y control de acceso de IAM: Cuando un InsightsConfig realiza un seguimiento de las estadísticas de una aplicación de App Hub, Developer Connect crea feeds en tiempo real de Cloud Asset Inventory en la carpeta de administración o el límite del proyecto de la aplicación de App Hub. Los datos de estos feeds se publican directamente en el servicio de Developer Connect, pero solo los consumen los agentes de servicio de Developer Connect que tienen permiso para leer los metadatos de los activos de estas carpetas o proyectos. Además de usar roles de IAM para restringir a qué agentes de servicio de Developer Connect se les otorga este acceso, el proyecto que aloja el recurso InsightsConfig y el proyecto desde el que se publican los datos deben residir en el mismo perímetro de los Controles del servicio de VPC, o se deben agregar reglas de entrada y salida configuradas para que el agente de servicio de Developer Connect permita el acceso.

  • Feeds con alcance del proyecto y control de acceso de IAM: Cuando un InsightsConfig tiene un alcance de proyecto, Developer Connect crea feeds en tiempo real de Cloud Asset Inventory directamente en los proyectos de destino. Los datos de estos feeds se publican directamente en el servicio de Developer Connect, pero solo los consumen los agentes de servicio de Developer Connect que tienen permiso para leer los metadatos de los activos de estos proyectos. Además de usar roles de IAM para restringir a qué agentes de servicio de Developer Connect se les otorga este acceso, el proyecto que aloja el recurso InsightsConfig y el proyecto desde el que se publican los datos deben residir en el mismo perímetro de los Controles del servicio de VPC, o se deben agregar reglas de entrada y salida configuradas para que el agente de servicio de Developer Connect permita el acceso.

  • Alineación del perímetro para los metadatos y la procedencia de los artefactos: El proyecto que aloja el recurso InsightsConfig y cualquier proyecto que contenga metadatos o procedencia de artefactos deben residir en el mismo perímetro de los Controles del servicio de VPC, o se deben agregar reglas de entrada y salida configuradas para que el agente de servicio de Developer Connect permita el acceso.

  • Alineación del perímetro para el registro de implementación: El proyecto que aloja el InsightsConfig recurso y cualquier proyecto que contenga implementaciones deben estar en el mismo perímetro de los Controles del servicio de VPC, o se deben agregar reglas de entrada y salida configuradas para que el agente de servicio de Developer Connect permita el acceso.

¿Qué sigue?