Soluciona problemas comunes de los Controles del servicio de VPC con los servicios de Google Cloud

En esta página, se proporcionan soluciones para los problemas que puedes encontrar cuando usas un servicio de Google Cloud que se encuentra dentro de un perímetro de Controles del servicio de VPC.

Problemas con Cloud Build

El uso de recursos de Cloud Build dentro de un perímetro de Controles del servicio de VPC tiene algunas limitaciones conocidas. Para obtener más información, consulta Limitaciones del uso de los Controles del servicio de VPC con Cloud Build.

La cuenta de servicio de Cloud Build no puede acceder a los recursos protegidos

Cloud Build usa la cuenta de servicio de Cloud Build para ejecutar compilaciones en tu nombre. Según la configuración predeterminada, cuando ejecutas una compilación en Cloud Build, esta se ejecuta en un proyecto de usuario fuera de tu proyecto.

Las VM de trabajador de Cloud Build que generan resultados de compilación están fuera del perímetro de los Controles del servicio de VPC, incluso si el proyecto está dentro del perímetro. Por lo tanto, para que tus compilaciones accedan a los recursos dentro del perímetro, debes otorgar a la cuenta de servicio de Cloud Build acceso al perímetro de los Controles del servicio de VPC. Para ello, agrégalo al nivel de acceso o a la regla de entrada.

Para obtener más información, consulta Otorga a la cuenta de servicio de Cloud Build acceso al perímetro de los Controles del servicio de VPC.

Problemas de Cloud Storage

Denegaciones cuando se orienta a un bucket de registro de Cloud Storage inexistente

Si el bucket de registro especificado no existe, los Controles del servicio de VPC rechazan el acceso con el motivo del incumplimiento RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.

Puedes revisar el registro de la denegación de acceso con el identificador único de los Controles del servicio de VPC (vpcServiceControlUniqueIdentifier). El siguiente es un registro de muestra con el motivo del incumplimiento RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER:

"serviceName": "storage.googleapis.com",
"methodName": "google.storage.buckets.update",
"resourceName": "projects/325183452875",
"metadata": {
  "violationReason": "RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER",
  ...
  "egressViolations": [
    {
      "sourceType": "Resource",
      "targetResource": "projects/0/buckets/this-bucket-does-not-exist",
      "source": "projects/325183452875/buckets/bucket-in-same-project",
      "servicePerimeter": "accessPolicies/875573620132/servicePerimeters/prod_perimeter"
    }]}

Si en el campo targetResource del objeto egressViolations se muestra un destino con projects/0/buckets, esto siempre activa una denegación, ya que projects/0 no existe y se considera fuera del perímetro de servicio.

Denegaciones cuando se accede a buckets públicos de Cloud Storage que son propiedad de Google

Un perímetro de servicio no puede contener proyectos de diferentes organizaciones. Un perímetro solo puede contener proyectos de su organización superior. Existen ciertas limitaciones cuando quieres acceder a los buckets de Cloud Storage desde proyectos dentro de un perímetro de Controles del servicio de VPC que reside en una organización diferente.

Un ejemplo típico es cuando quieres acceder a los buckets de Cloud Storage que son propiedad de Google. Dado que tu proyecto y el proyecto de Google que contiene el bucket de destino no están en el mismo perímetro, los Controles del servicio de VPC rechazan la solicitud con el motivo de incumplimiento RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.

Para resolver este problema, puedes crear reglas de entrada y salida.

Accede a un bucket de Cloud Storage de acceso público desde un perímetro

Si intentas acceder a un bucket de Cloud Storage de acceso público desde un perímetro de servicio, los Controles del servicio de VPC podrían bloquear tus solicitudes mediante una infracción de salida.

Para garantizar un acceso coherente y exitoso al objeto según sea necesario, debemos aplicar una regla de salida al perímetro de servicio afectado.

Problemas de Security Command Center

En esta sección, se enumeran los problemas que puedes encontrar cuando usas los recursos de Security Command Center que se encuentran dentro de un perímetro de los Controles del servicio de VPC.

Security Command Center no permite enviar notificaciones a Pub/Sub

El intento de publicar notificaciones de Security Command Center en un tema de Pub/Sub dentro de un perímetro de los Controles del servicio de VPC falla con una infracción de RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER.

Recomendamos activar Security Command Center a nivel de la organización. Los Controles del servicio de VPC no consideran una organización superior como parte del perímetro de los proyectos secundarios. Para que esto funcione, debes otorgar acceso perimetral a Security Command Center.

Como solución alternativa, puedes realizar cualquiera de las siguientes acciones:

  • Usar un tema de Pub/Sub en un proyecto que no esté en un perímetro de servicio
  • Quita la API de Pub/Sub del perímetro de servicio hasta que se complete la configuración de notificaciones.

Para obtener más información sobre cómo habilitar las notificaciones de Security Command Center que se envían a un tema de Pub/Sub, consulta Habilita las notificaciones de resultados de Pub/Sub.

Security Command Center no permite analizar los recursos de Compute Engine dentro de un perímetro

Security Command Center analiza los recursos de Compute Engine en tus proyectos con la cuenta de servicio service-{project_number}@gcp-sa-computescanning.iam.gserviceaccount.com por producto y por proyecto (P4SA). Para que Security Command Center pueda acceder a los recursos dentro del perímetro, se debe agregar P4SA a tu nivel de acceso o regla de entrada. De lo contrario, es posible que veas un error NO_MATCHING_ACCESS_LEVEL.

Security Command Center no permite analizar recursos dentro de un perímetro de servicio

Security Health Analytics analiza los recursos de tus proyectos con la P4SA (por producto y cuenta de servicio por proyecto) service-org-ORGANIZATION_ID@security-center-api.iam.gserviceaccount.com. Para que Security Command Center pueda acceder a los recursos dentro del perímetro, se debe agregar la cuenta de P4SA a tu nivel de acceso o regla de entrada. De lo contrario, verás el error NO_MATCHING_ACCESS_LEVEL.

Problemas de Google Kubernetes Engine

En esta sección, se enumeran los problemas que puedes encontrar cuando usas los recursos de Google Kubernetes Engine que se encuentran dentro de un perímetro de los Controles del servicio de VPC.

El escalador automático no funciona en perímetros con servicios accesibles y servicios restringidos habilitados

autoscaling.googleapis.com no está integrado en los Controles del servicio de VPC, por lo que no se puede agregar a los servicios restringidos ni a los servicios accesibles. No es posible permitir la API de autoscaling.googleapis.com en los servicios accesibles. Por lo tanto, es posible que el escalador automático de los clústeres que existen en un perímetro con servicios accesibles no funcione.

Sugerimos no usar servicios accesibles. Cuando uses una IP virtual (VIP) restringida, haz una excepción para que autoscaling.googleapis.com vaya a VIP privada en un perímetro que contenga un clúster con ajuste de escala automático.

Problemas con BigQuery

En esta sección, se enumeran los problemas que puedes encontrar cuando usas los recursos de BigQuery que se encuentran dentro de un perímetro de los Controles del servicio de VPC.

Las restricciones del perímetro de los Controles del servicio de VPC no se aplican a la exportación de resultados de consultas de BigQuery

Si intentas restringir la exportación de datos protegidos de BigQuery a Google Drive, Hojas de cálculo de Google o Looker Studio, es posible que veas algunas desviaciones del comportamiento esperado. Cuando ejecutas una consulta desde la IU de BigQuery, los resultados se almacenan en la memoria local de tu máquina, como la caché del navegador. Esto significa que los resultados ahora están fuera de los Controles del servicio de VPC, por lo que es posible guardarlos en un archivo CSV o en Google Drive.

En esta situación, los Controles del servicio de VPC funcionan según lo previsto, ya que el resultado se exporta desde una máquina local que está fuera del perímetro de servicio, pero se elude la restricción general de los datos de BigQuery.

A fin de solucionar este problema, quita el permiso bigquery.tables.export a fin de restringir los permisos de IAM para los usuarios. Ten en cuenta que esta acción inhabilita todas las opciones de exportación.

Problemas con GKE Enterprise

En esta sección, se enumeran los problemas que puedes encontrar cuando usas los recursos de GKE Enterprise que se encuentran dentro de un perímetro de los Controles del servicio de VPC.

Para solucionar errores relacionados con el uso de los Controles del servicio de VPC con Anthos Service Mesh, consulta Soluciona problemas de los Controles del servicio de VPC en Anthos Service Mesh administrado.

La configuración del controlador de configuración de GKE Enterprise genera un incumplimiento de salida

Se espera que el proceso de configuración del controlador de configuración de GKE Enterprise falle si no hay una configuración de salida que permita llegar a containerregistry.googleapis.com con el método google.containers.registry.read en un proyecto fuera del perímetro.

Para resolver este error, crea la siguiente regla de salida:

From:
  Identities:ANY_IDENTITY
To:
  Projects =
    NNNNNNNNNNNN
  Service =
  Service name: containerregistry.googleapis.com
  Service methods:
    containers.registry.read

El incumplimiento de salida desaparece después de que agregas la regla al perímetro que se incumplió.

Problemas con Container Registry

En esta sección, se enumeran los problemas que puedes encontrar cuando usas los recursos de Container Registry que se encuentran dentro de un perímetro de los Controles del servicio de VPC.

Los Controles del servicio de VPC bloquean las solicitudes a la API de Container Registry a pesar de que están permitidas en una regla de entrada o salida.

Si permitiste el acceso a Container Registry mediante reglas de entrada con el campo identity_type configurado como ANY_USER_ACCOUNT o ANY_SERVICE_ACCOUNT, los Controles del servicio de VPC bloquean el acceso.

Para resolver este problema, actualiza el campo identity_type a ANY_IDENTITY en la regla de entrada o salida.

Errores de salida de una cuenta de servicio administrada por Google mientras se copia la imagen de Docker propiedad de Artifact Registry a un proyecto en un perímetro

Cuando intentas copiar una imagen que pertenece a Artifact Registry en tu proyecto que se encuentra dentro de un perímetro de Controles del servicio de VPC, es posible que encuentres errores de salida en los registros de la cuenta de servicio administrada por Google cloud-cicd-artifact-registry-copier@system.gserviceaccount.com. Por lo general, este error de salida ocurre cuando la política perimetral está en modo de ejecución de prueba.

Para resolver este problema, crea una regla de salida que permita que la cuenta de servicio cloud-cicd-artifact-registry-copier@system.gserviceaccount.com acceda al servicio storage.googleapis.com en el proyecto mencionado en los registros de errores de los Controles del servicio de VPC.

Problemas con Vertex AI

En esta sección, se enumeran los problemas que puedes encontrar cuando usas los recursos de Vertex AI que se encuentran dentro del perímetro de los Controles del servicio de VPC.

Los Controles del servicio de VPC bloquean las solicitudes a la API de notebooks administrados por el usuario a pesar de que están permitidas en una regla de entrada o salida.

Si permitiste el acceso a la API de notebooks administrados por el usuario mediante una política de entrada y configuraste la identity_type como ANY_USER_ACCOUNT o ANY_SERVICE_ACCOUNT, los Controles del servicio de VPC bloquearán el acceso a la API.

Para resolver este problema, actualiza el campo identity_type a ANY_IDENTITY en la regla de entrada o salida.

Problemas con Cloud Spanner

La copia de seguridad de la base de datos de Cloud Spanner está bloqueada por el incumplimiento NO_MATCHING_ACCESS_LEVEL de la cuenta de servicio (P4SA) service-PROJECT_NUMBER@gcf-admin-robot.iam.gserviceaccount.com por producto y por proyecto.

Para resolver este problema, agrega una regla de entrada con el agente de servicio mencionado anteriormente o agrégalo a un nivel de acceso.

¿Qué sigue?