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.

Se bloqueó el acceso de la cuenta de servicio de Cloud Build a los recursos protegidos

Cloud Build usa la cuenta de servicio de Cloud Build para ejecutar compilaciones por ti. 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 las 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, ya sea agregándola al nivel de acceso o a la regla de entrada.

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

Problemas con Cloud Storage

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

Si el bucket de registros especificado no existe, los Controles del servicio de VPC rechazan el acceso con el motivo de 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 de 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 el campo targetResource del objeto egressViolations 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 de 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 se desea acceder a los buckets de Cloud Storage desde proyectos dentro de un perímetro de Controles del servicio de VPC que se encuentra 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 con un incumplimiento 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 Controles del servicio de VPC.

Security Command Center no permite enviar notificaciones a Pub/Sub

Cuando intentas publicar notificaciones de Security Command Center en un tema de Pub/Sub dentro de un perímetro de los Controles del servicio de VPC, se produce 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 a 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.

Para solucionarlo, 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 la notificación.

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 mediante 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 el 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 puede analizar los recursos dentro de un perímetro de servicio

Las estadísticas del estado de seguridad analizan los recursos de tus proyectos mediante 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, debes 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 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 tampoco 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 clústeres que existe en un perímetro con servicios accesibles habilitados no funcione.

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

Problemas de 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 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 una desviación 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 puedes 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 para restringir los permisos de IAM de los usuarios. Ten en cuenta que esta acción inhabilita todas las opciones de exportación.

Problemas de GKE Enterprise

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

Para solucionar problemas 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 para 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 acceder 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 incumplido.

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 del perímetro de los Controles del servicio de VPC.

Solicitudes a la API de Container Registry bloqueadas por los Controles del servicio de VPC 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 bloquearán el acceso.

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

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

Cuando intentas copiar una imagen que es propiedad de Artifact Registry en tu proyecto que está 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. Este error de salida suele ocurrir cuando la política del perímetro está en modo de ejecución de prueba.

Para resolver este problema, crea una regla de salida que permita a la cuenta de servicio cloud-cicd-artifact-registry-copier@system.gserviceaccount.com acceder 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 de un perímetro de Controles del servicio de VPC.

Solicitudes a la API de notebooks administrados por el usuario bloqueadas por los Controles del servicio de VPC 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 identity_type como ANY_USER_ACCOUNT o ANY_SERVICE_ACCOUNT, los Controles del servicio de VPC bloquean 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 de Spanner

La copia de seguridad de la base de datos de 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 o agrégala a un nivel de acceso.

¿Qué sigue?