Seguridad de Private Service Connect

En esta página, se proporciona una descripción general de la seguridad de Private Service Connect.

Private Service Connect proporciona varios controles para administrar el acceso a los recursos de Private Service Connect. Puedes controlar quién puede implementar los recursos de Private Service Connect, si se pueden establecer conexiones entre consumidores y productores, y qué tráfico de red puede acceder a esas conexiones.

Estos controles se implementan mediante los siguientes elementos:

En la figura 1, se describe cómo interactúan estos controles en el lado del consumidor y del productor de una conexión de Private Service Connect.

Figura 1. Los permisos de IAM, las políticas de la organización, las listas de aceptación y rechazo y las reglas de firewall de VPC trabajan en conjunto para ayudar a proteger los lados del consumidor y del productor de una conexión de Private Service Connect (haz clic para agrandar).

IAM

Recursos: todos

Cada recurso de Private Service Connect se rige por uno o más permisos de IAM. Estos permisos permiten que los administradores apliquen qué principales de IAM pueden implementar recursos de Private Service Connect.

IAM no rige a qué principales de IAM se pueden conectar o usar una conexión de Private Service Connect. Para controlar qué extremos o backends pueden establecer una conexión con un servicio, usa las políticas de la organización o las listas de aceptación del consumidor. Para controlar qué clientes pueden enviar tráfico a los recursos de Private Service Connect, usa firewalls de VPC o políticas de firewall.

Para obtener más información sobre los permisos de IAM, consulta los Permisos de IAM.

Para obtener información sobre los permisos necesarios para crear un extremo, consulta Crea un extremo.

Para obtener información sobre los permisos necesarios a fin de crear un adjunto de servicio, consulta Publica un servicio con aprobación explícita.

Estados de conexión

Recursos: extremos, backends y adjuntos de servicio

Los extremos, los backends y los adjuntos de servicio de Private Service Connect tienen un estado de conexión que describe el estado de su conexión. Los recursos del consumidor y del productor que forman los dos lados de una conexión siempre tienen el mismo estado. Puedes ver los estados de conexión cuando ves detalles del extremo, describes un backend o ves detalles de un servicio publicado.

En la siguiente tabla se describen los estados posibles.

Estado de conexión Descripción
Aceptado Se establece la conexión de Private Service Connect. Las dos redes de VPC tienen conectividad y la conexión funciona con normalidad.
Pendiente

No se estableció la conexión de Private Service Connect, y el tráfico de red no puede viajar entre las dos redes. Una conexión puede tener este estado para los siguientes motivos:

Las conexiones que se bloquean por estos motivos permanecen en estado pendiente indefinidamente hasta que se resuelva el problema subyacente.

Rechazado

No se establece la conexión de Private Service Connect. El tráfico de red no puede viajar entre las dos redes. Una conexión puede tener este estado para los siguientes motivos:

Requiere atención o No se especificó Hay un problema con la conexión del lado del productor. Es posible que parte del tráfico fluya entre las dos redes, pero que algunas conexiones no funcionen. Por ejemplo, es posible que se agote la subred NAT del productor y no se puedan asignar direcciones IP para conexiones nuevas.
Cerrado

Se borró el adjunto de servicio y la conexión de Private Service Connect está cerrada. El tráfico de red no puede viajar entre las dos redes.

Una conexión cerrada es un estado terminal. Para restablecer la conexión, debes volver a crear tanto el adjunto de servicio como el extremo o el backend.

Configuración del adjunto de servicio

Puedes controlar qué consumidores pueden conectarse a un adjunto de servicio mediante las siguientes funciones.

Preferencia de conexión

Recursos: extremos y backends

Cada adjunto de servicio tiene una preferencia de conexión que especifica si las solicitudes de conexión se aceptan de forma automática. Existen tres opciones:

  • Aceptar automáticamente todas las conexiones. El adjunto de servicio acepta automáticamente todas las solicitudes de conexión entrantes de cualquier consumidor. La aceptación automática se puede anular mediante una política de la organización que bloquea las conexiones entrantes.
  • Aceptar conexiones para las redes seleccionadas El adjunto de servicio solo acepta las solicitudes de conexión entrantes si la red de VPC del consumidor está en la lista de aceptación del consumidor del adjunto de servicio.
  • Aceptar conexiones para los proyectos seleccionados. El adjunto de servicio solo acepta las solicitudes de conexión entrantes si el proyecto del consumidor está en la lista de aceptación del consumidor del adjunto de servicio.

Te recomendamos que aceptes las conexiones para los proyectos o las redes seleccionadas. Aceptar todas las conexiones de forma automática puede ser lo apropiado si controlas el acceso de los consumidores a través de otros medios y deseas habilitar el acceso permisivo a tu servicio.

Aceptar y rechazar listas

Recursos: extremos y backends

Las listas de aceptación del consumidor y las listas de rechazo del consumidor son una función de seguridad de los adjuntos de servicio. Las listas de aceptación y de rechazo permiten que los productores de servicios especifiquen qué consumidores pueden establecer conexiones de Private Service Connect con sus servicios. Las listas de aceptación del consumidor especifican si se acepta una conexión y las listas de rechazo del consumidor especifican si se rechaza una conexión. Ambas listas te permiten especificar los consumidores por la red de VPC o el proyecto del recurso de conexión. Si agregas un proyecto o una red a la lista de aceptación y a la de bloqueo, se rechazan las solicitudes de conexión de ese proyecto o red. No se admite especificar consumidores por carpeta.

Las listas de aceptación del consumidor y de rechazo del consumidor te permiten especificar los proyectos o las redes de VPC, pero no ambas al mismo tiempo. Puedes cambiar una lista de un tipo a otro sin interrumpir las conexiones, pero debes realizar el cambio en una sola actualización. De lo contrario, algunas conexiones pueden cambiar de forma temporal al estado pendiente.

Las listas de consumidores controlan si un extremo puede conectarse a un servicio publicado, pero no controlan quién puede enviar solicitudes a ese extremo. Por ejemplo, supongamos que un consumidor tiene una red de VPC compartida que tiene dos proyectos de servicio conectados. Si un servicio publicado tiene service-project1 en la lista de aceptación del consumidor y service-project2 en la lista de rechazo del consumidor, se aplica lo siguiente:

  • Un consumidor en service-project1 puede crear un extremo que se conecte al servicio publicado.
  • Un consumidor en service-project2 no puede crear un extremo que se conecte al servicio publicado.
  • Un cliente en service-project2 puede enviar solicitudes al extremo en service-project1, si no hay reglas o políticas de firewall que impidan ese tráfico.

Cuando actualizas una lista de aceptación o rechazo del consumidor, el efecto en las conexiones existentes varía dependiendo de si la conciliación de las conexiones está habilitada. Para obtener más información, consulta Conciliación de conexiones.

Para obtener información sobre cómo crear un nuevo adjunto de servicio con listas de aceptación o rechazo del consumidor, consulta Publica un servicio con aprobación de proyecto explícita.

Para obtener información sobre cómo actualizar las listas de aceptación o rechazo del consumidor, consulta Administra las solicitudes de acceso a un servicio publicado.

Límites de conexión

Recursos: extremos y backends

Las listas de aceptación del consumidor tienen límites de conexión. Estos límites establecen la cantidad total de conexiones de backend y extremo de Private Service Connect que un adjunto de servicio puede aceptar desde el proyecto del consumidor o la VPC especificados en tu red de VPC.

Los productores pueden usar estos límites de conexiones para evitar que los consumidores individuales agoten las direcciones IP o las cuotas de recursos en la red de VPC del productor. Cada conexión aceptada de Private Service Connect se resta del límite configurado para un proyecto de consumidor o una red de VPC. Los límites se establecen cuando creas o actualizas las listas de aceptación del consumidor. Puedes ver las conexiones de los adjuntos de servicio cuando describes un adjunto de servicio.

No se tienen en cuenta las conexiones propagadas hacia estos límites.

Por ejemplo, imagina un caso en el que un adjunto de servicio tiene una lista de aceptación del consumidor que incluye project-1 y project-2, ambos con un límite de una conexión. El proyecto project-1 solicita dos conexiones, project-2 una conexión y project-3 solicita otra. Debido a que project-1 tiene un límite de una conexión, se acepta la primera y la segunda permanece pendiente. Se acepta la conexión de project-2 y la conexión de project-3 permanece pendiente. Se puede aceptar la segunda conexión de project-1 si aumentas el límite de project-1. Si se agrega project-3 a la lista de aceptación del consumidor, esa conexión pasa de pendiente a aceptada.

Políticas de la organización

Las políticas de la organización te permiten controlar de forma amplia qué proyectos pueden conectarse a las organizaciones o las redes de VPC mediante Private Service Connect.

Las políticas de la organización que se describen en esta página pueden bloquear o rechazar nuevas conexiones de Private Service Connect, pero no afectan las conexiones existentes.

Una política de la organización se aplica a los subordinados del recurso al que hace referencia según la evaluación de la jerarquía. Por ejemplo, una política de la organización que restringe el acceso a una organización de Google Cloud también se aplica a las carpetas, los proyectos y los recursos secundarios de la organización. Del mismo modo, enumerar una organización como un valor permitido también permite el acceso a los elementos secundarios de esa organización.

Para obtener más información sobre las políticas de la organización, consulta Políticas de la organización.

Políticas de la organización del lado del consumidor

Puedes usar restricciones de listas para controlar la implementación de extremos y backends. Si un consumidor bloquea un extremo o un backend política de la organización, la creación del recurso falla.

  • Usa la restricción de lista restrictPrivateServiceConnectProducer para controlar a qué adjuntos de servicio se pueden conectar los extremos y los backends según la organización de productores.
  • Usa la restricción de lista disablePrivateServiceConnectCreationForConsumers para controlar la implementación de los extremos según su tipo de conexión. Puedes bloquear la implementación de extremos que se conectan a las APIs de Google o puedes bloquear la implementación de extremos que se conectan a los servicios publicados.

Bloquea la conexión de extremos o backends a organizaciones de productores

Recursos: extremos y backends

Las políticas de la organización que usan la restricción de lista restrictPrivateServiceConnectProducer con valores permitidos bloquean los extremos y backends para que no se conecten a los adjuntos de servicio, a menos que los adjuntos de servicio estén asociados con uno de los valores permitidos de la política. Una política de este tipo bloquea las conexiones, incluso si la lista de aceptación del consumidor del adjunto de servicio lo permite.

Por ejemplo, la siguiente política de la organización se aplica a una organización llamada Org-A:

name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectProducer
spec:
  rules:
    – values:
        allowedValues:
        - under:organizations/ORG_A_NUMBER
        - under:organizations/433637338589

En la figura 2, se muestra el resultado de esta política de la organización. La política permitió los valores para Org-A (ORG_A_NUMBER) y Google-org (433637338589). Los extremos y los backends creados en Org-A pueden comunicarse con los adjuntos de servicio en Org-A, pero no con los adjuntos de servicio en Org-B.

Figura 2. Una política de la organización permite que el extremo psc-1 se conecte al adjunto de servicio sa-1 y bloquea la conexión de psc-3 a los adjuntos de servicio en Org-B. Los extremos y los backends en Org-A pueden conectarse a adjuntos de servicio que son propiedad de Google (haz clic para agrandar).

Puedes permitir que las instancias de los siguientes tipos de recursos creen extremos con la restricción compute.restrictPrivateServiceConnectProducer:

  • Organizaciones
  • Carpetas
  • Proyectos

Para obtener información sobre cómo crear una política de la organización que use la restricción compute.restrictPrivateServiceConnectProducer, consulta Bloquea extremos y backends para que no se conecten a adjuntos de servicio no autorizados.

Bloquea la creación de extremos por tipo de conexión

Recursos afectados: extremos

Puedes usar la restricción de lista disablePrivateServiceConnectCreationForConsumers para bloquear la creación de extremos en función de si se conectan a las APIs de Google o a los servicios publicados (adjuntos de servicios).

Para obtener información sobre cómo crear una política de la organización que use la restricción disablePrivateServiceConnectCreationForConsumers, consulta Impede que los consumidores implementen extremos por tipo de conexión.

Políticas de la organización del lado del productor

Recursos afectados: extremos y backends

Puedes usar las políticas de la organización con la compute.restrictPrivateServiceConnectConsumer restricción de lista para controlar qué extremos y backends pueden conectarse a los adjuntos del servicio de Private Service Connect dentro de una organización o proyecto de productor. Si una política de la organización del productor rechaza un extremo o un backend, la creación del recurso se realiza de forma correcta pero la conexión entra en el estado de rechazado.

Controlar el acceso de esta manera es similar a usar las listas de aceptación y rechazo, excepto que las políticas de la organización se aplican a todos los adjuntos de servicio en un proyecto o a una organización en lugar de un adjunto de servicio individual.

Puedes usar las políticas de la organización y aceptar listas juntas, con las políticas de la organización que aplican de manera amplia el acceso a un servicio administrado y aceptan las listas que controlan el acceso a adjuntos de servicio individuales.

Políticas de la organización que utilizan las conexiones de rechazo de restricción compute.restrictPrivateServiceConnectConsumer desde extremos y backends, a menos que el extremo o el backend estén asociados con uno de los valores permitidos de la política. Una política de este tipo bloquea las conexiones, incluso si una lista de permitidas las permiten.

Por ejemplo, la siguiente política de la organización se aplica a una organización llamada Org-A:

name: organizations/Org-A/policies/compute.restrictPrivateServiceConnectConsumer
spec:
  rules:
    - values:
        allowedValues:
        - under:organizations/ORG_A_NUMBER

En la figura 3, se muestra el resultado de esta política de la organización. La política tiene un valor permitido para Org-A (ORG_A_NUMBER). Los extremos en otras redes de VPC en Org-A pueden conectarse a adjuntos de servicio en Org-A. Se rechazan los extremos en Org-B que intentan conectarse.

Figura 3. Una política de la organización permite que psc-1 se conecte a sa-1, mientras bloquea la conexión de psc-2 (haz clic para agrandar).

Una política de la organización se aplica a los subordinados del recurso al que hace referencia según la evaluación de la jerarquía. Por ejemplo, una política de la organización que restringe el acceso a una organización de Google Cloud también se aplica a las carpetas, los proyectos y los recursos secundarios de la organización. Del mismo modo, enumerar una organización como un valor permitido también permite el acceso a los elementos secundarios de esa organización.

Puedes permitir que las instancias de los siguientes tipos de recursos creen extremos con la restricción restrictPrivateServiceConnectConsumer:

  • Organizaciones
  • Carpetas
  • Proyectos

Para obtener más información sobre el uso de políticas de la organización con los productores de servicios, consulta Políticas de la organización del productor.

Interacción entre las listas de aceptación del consumidor y las políticas de la organización

Tanto las listas de aceptación del consumidor como las políticas de la organización controlan si se puede establecer una conexión entre dos recursos de Private Service Connect. Las conexiones se bloquean si una lista de aceptación o una política de la organización rechaza la conexión.

Por ejemplo, una política con la restricción restrictPrivateServiceConnectConsumer se puede configurar para bloquear las conexiones desde fuera de la organización del productor. Incluso si un adjunto de servicio está configurado para aceptar todas las conexiones de forma automática, la política de la organización aún bloquea las conexiones desde fuera de la organización del productor. Recomendamos usar las listas de aceptación y las políticas de la organización en conjunto para ayudar a proporcionar seguridad en capas.

Firewalls

Recursos: todos

Puedes usar reglas de firewall y políticas de firewall de VPC para controlar el acceso a nivel de red a los recursos de Private Service Connect.

Para obtener más información sobre las reglas de firewall de VPC en general, consulta Reglas de firewall de VPC.

Para obtener más información sobre el uso de las reglas de firewall de VPC para limitar el acceso a los extremos o los backends en una red de VPC de consumidor, consulta Usa reglas de firewall para limitar el acceso a los extremos o backends.