Controlar el acceso a los servicios publicados

En esta página se describen las funciones que puedes usar para controlar el acceso a los servicios publicados mediante Private Service Connect.

Preferencias de conexión

Cada adjunto de servicio tiene una preferencia de conexión que controla si las conexiones se aceptan automáticamente.

  • Aceptar todas las conexiones automáticamente. El adjunto de servicio acepta automáticamente todas las solicitudes de conexión entrantes de cualquier consumidor.
  • Aceptar explícitamente las conexiones de los consumidores seleccionados. El adjunto de servicio solo acepta solicitudes de conexión entrantes si el consumidor está en la lista de consumidores aceptados del adjunto de servicio. Puedes especificar consumidores por proyecto, red de VPC o punto final de Private Service Connect individual (vista previa). No puedes incluir diferentes tipos de consumidores en la misma lista de aceptación o rechazo de consumidores.

En ambos casos, las conexiones aceptadas se pueden anular y rechazar mediante una política de organización que bloquee las conexiones entrantes.

Te recomendamos que aceptes explícitamente las conexiones de los consumidores seleccionados. Aceptar automáticamente todas las conexiones puede ser adecuado si controlas el acceso de los consumidores por otros medios y quieres habilitar el acceso permisivo a tu servicio.

Listas de aceptación y rechazo de consumidores

Las listas de aceptación de consumidores y las listas de rechazo de consumidores son una función de seguridad de los archivos adjuntos de servicios. Estas listas permiten a los productores de servicios especificar qué consumidores pueden establecer conexiones de Private Service Connect a sus servicios. Cuando un adjunto de servicio se configura para que se apruebe explícitamente, solo se acepta una conexión nueva si el consumidor está en la lista de aceptación y no en la de rechazo. Las actualizaciones de las listas de consumidores solo afectan a las conexiones nuevas, a menos que se habilite la opción Reconciliación de conexiones.

Las listas de consumidores aceptados y rechazados te permiten especificar consumidores de una de las siguientes formas:

  • Proyecto
  • Red VPC
  • Endpoint de Private Service Connect (vista previa)

    Este método no se aplica a los backends de Private Service Connect.

Si añades el mismo consumidor a las listas de aceptación y rechazo, se le impedirá conectarse al adjunto de servicio. No se admite la especificación de consumidores por carpeta.

Ambas listas de consumidores de un adjunto de servicio deben contener el mismo tipo de consumidor. Por ejemplo, si añades un proyecto a una lista de elementos aceptados, no podrás añadir una red VPC ni un URI de endpoint a ninguna de las listas, a menos que sustituyas el proyecto de la lista de elementos aceptados por el nuevo tipo de consumidor.

Si quieres publicar un servicio que acepte diferentes tipos de consumidores, puedes crear varios adjuntos de servicio que se conecten al mismo servicio. Cada adjunto de servicio se puede configurar con su propia preferencia de conexión y listas de consumidores.

Puedes cambiar el tipo de consumidor de las listas de consumidores sin interrumpir las conexiones, pero debes hacer el cambio en una sola actualización. De lo contrario, la operación no se realizará.

Hay límites en el número de consumidores que puedes añadir a las listas de aceptación y rechazo:

  • Puedes añadir un máximo de 5000 valores a la lista de aceptación de consumidores.
  • Puedes añadir un máximo de 64 valores a la lista de rechazo de consumidores.

Las listas de consumidores controlan si un endpoint o un backend pueden conectarse a un servicio publicado, pero no controlan quién puede enviar solicitudes a ese endpoint. Por ejemplo, supongamos que un consumidor tiene una red de VPC compartida a la que tiene asociados dos proyectos de servicio. Si un servicio publicado tiene service-project1 en la lista de aceptación de consumidores y service-project2 en la lista de rechazo de consumidores, se aplican las siguientes condiciones:

  • Un consumidor de service-project1 puede crear un punto final que se conecte al servicio publicado.
  • Un consumidor de service-project2 no puede crear un punto final que se conecte al servicio publicado.
  • Un cliente de service-project2 puede enviar solicitudes al endpoint de service-project1 si no hay reglas ni políticas de cortafuegos que impidan ese tráfico.

Para obtener información sobre cómo interactúan las listas de aceptación de consumidores con las políticas de la organización, consulta el artículo Interacción entre las listas de aceptación de consumidores y las políticas de la organización.

Límites de listas de aceptación de consumidores

Las listas de aceptación de consumidores tienen límites de conexión. Estos límites definen el número total de conexiones de backend y de punto final de Private Service Connect que una vinculación de servicio puede aceptar del proyecto o la red de VPC del consumidor especificados. Especificar límites de conexión para listas de aceptación basadas en endpoints de Private Service Connect no tiene ningún efecto, ya que solo un endpoint puede coincidir con un URI determinado.

Los productores pueden usar límites de conexión 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 de Private Service Connect aceptada se resta del límite configurado para un proyecto o una red de VPC de consumidor. Los límites se definen al crear o actualizar listas de aceptación de consumidores. Puedes ver las conexiones de un archivo adjunto de servicio cuando describes un archivo adjunto de servicio.

Las conexiones propagadas no se tienen en cuenta para estos límites.

Por ejemplo, supongamos que un adjunto de servicio tiene una lista de aceptación de consumidores 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 solicita una conexión y project-3 solicita una conexión. Como project-1 tiene un límite de una conexión, la primera se acepta y la segunda se queda pendiente. Se acepta la conexión de project-2 y la de project-3 sigue pendiente. La segunda conexión de project-1 se puede aceptar aumentando el límite de project-1. Si se añade project-3 a la lista de aceptación del consumidor, esa conexión pasa de pendiente a aceptada.

Reconciliación de conexiones

La conciliación de conexiones determina si las actualizaciones de las listas de aceptación o rechazo de un adjunto de servicio pueden afectar a las conexiones de Private Service Connect. Si la conciliación de conexiones está habilitada, al actualizar las listas de aceptación o rechazo se pueden finalizar las conexiones existentes. Las conexiones que se hayan rechazado previamente se pueden aceptar. Si la conciliación de conexiones está inhabilitada, al actualizar las listas de aceptación o rechazo solo se verán afectadas las conexiones nuevas y pendientes.

Por ejemplo, supongamos que tienes un adjunto de servicio que tiene varias conexiones aceptadas de Project-A. Project-A está en la lista de aceptación del adjunto de servicio. El archivo adjunto de servicio se actualiza quitando Project-A de la lista de aceptados.

Si la conciliación de conexiones está habilitada, todas las conexiones existentes de Project-A pasarán a PENDING, lo que finalizará la conectividad de red entre las dos redes VPC y detendrá inmediatamente el tráfico de red.

Si la conciliación de conexiones está inhabilitada, las conexiones de Project-A no se verán afectadas. El tráfico de red puede seguir fluyendo a través de las conexiones de Private Service Connect. Sin embargo, no se permiten las nuevas conexiones de Private Service Connect.

Para obtener información sobre cómo configurar la conciliación de conexiones para los nuevos elementos adjuntos de servicio, consulta Publicar un servicio con aprobación explícita.

Para obtener información sobre cómo configurar la conciliación de conexiones para los elementos ServiceAttachment, consulta Configurar la conciliación de conexiones.

Aceptar o rechazar conexiones de endpoints de Private Service Connect

Puedes aceptar o rechazar conexiones de puntos finales de Private Service Connect concretos añadiendo el URI basado en ID del punto final a una de las listas de consumidores de un adjunto de servicio. Este enfoque, que se recomienda para los servicios multiinquilino, ofrece el control más granular para gestionar las conexiones. La opción de aceptar consumidores por punto final de Private Service Connect solo se aplica a los puntos finales de Private Service Connect y no es compatible con los backends de Private Service Connect.

A diferencia de los proyectos o las redes de VPC, solo puedes aceptar o rechazar un endpoint de Private Service Connect individual después de que el consumidor lo cree. Esto se debe a que el URI único de un endpoint no se conoce hasta que el consumidor crea el endpoint. Para añadir un endpoint a una lista de aceptación de consumidores, debes seguir estos pasos:

  1. El productor publica un servicio que requiere aprobación explícita sin añadir ningún valor a la lista de aceptación del consumidor.
  2. Un consumidor crea un endpoint que se conecta al servicio publicado. La conexión se muestra en el archivo adjunto de servicio con el estado Pending.
  3. Para encontrar el URI basado en el ID del endpoint pendiente, el productor puede describir el adjunto de servicio o el consumidor puede describir el endpoint.
  4. El productor añade el URI basado en el ID del endpoint a la lista de aceptación del consumidor. Se establece la conexión y su estado cambia a Accepted.

Estados de conexión

Los endpoints, los backends y los adjuntos de servicio de Private Service Connect tienen estados de conexión que describen el estado de sus conexiones. Los recursos de consumidor y productor que forman los dos extremos de una conexión siempre tienen el mismo estado. Puede ver los estados de conexión cuando consulte los detalles de un punto final, describa un backend o consulte los detalles de un servicio publicado.

En la siguiente tabla se describen los posibles estados.

Estado de conexión Descripción
Aceptada Se ha establecido la conexión de Private Service Connect. Las dos redes de VPC tienen conectividad y la conexión funciona correctamente.
Pendiente

La conexión de Private Service Connect no se establece y el tráfico de red no puede desplazarse entre las dos redes. Una conexión puede tener este estado por los siguientes motivos:

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

Rechazado

La conexión de Private Service Connect no se ha establecido. El tráfico de red no puede viajar entre las dos redes. Una conexión puede tener este estado por los siguientes motivos:

Requiere atención Hay un problema en el lado del productor de la conexión. Es posible que parte del tráfico pueda fluir entre las dos redes, pero algunas conexiones podrían no funcionar. Por ejemplo, es posible que la subred NAT del productor se haya agotado y no pueda asignar direcciones IP a las nuevas conexiones.
Cerrada

Se ha eliminado la vinculación de servicio y se ha cerrado la conexión de Private Service Connect. El tráfico de red no puede viajar entre las dos redes.

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

Conexiones propagadas

Los consumidores que se conecten a tu vinculación de servicio mediante puntos finales pueden habilitar la propagación de conexiones. Las conexiones propagadas permiten que las cargas de trabajo de las VPC de consumidor de tipo spoke accedan a los servicios gestionados de las redes de VPC de productor como si las dos redes de VPC estuvieran conectadas directamente a través de puntos finales. Cada conexión propagada consume una dirección IP de la subred NAT del adjunto de servicio.

Puedes ver el número de conexiones propagadas asociadas a un punto final conectado cuando consultas los detalles de un servicio publicado. Este recuento no incluye las conexiones propagadas que están bloqueadas por el límite de conexiones propagadas del productor.

Límite de conexiones propagadas

Los adjuntos de servicio tienen un límite de conexiones propagadas, lo que permite a los productores de servicios limitar el número de conexiones propagadas que se pueden establecer con el adjunto de servicio desde un solo consumidor. Si no se especifica, el límite de conexiones propagadas predeterminado es 250.

  • Si la preferencia de conexión del adjunto de servicio es ACCEPT_MANUAL, el límite se aplica en función del tipo de consumidor de la lista de consumidores aceptados:
    • En el caso de las listas de elementos aceptados de consumidores basadas en proyectos, el límite se aplica a cada proyecto de la lista.
    • En el caso de las listas de aceptación de consumidores basadas en redes de VPC, el límite se aplica a cada red de la lista.
    • En el caso de las listas de aceptación de consumidores basadas en puntos finales de Private Service Connect (vista previa), el límite se aplica al proyecto de cada punto final de la lista. Si hay varios endpoints del mismo proyecto en la lista, compartirán un mismo límite.
  • Si la preferencia de conexión es ACCEPT_AUTOMATIC, el límite se aplica a cada proyecto que contenga un endpoint conectado.

Si un consumidor supera el límite de conexiones propagadas, no se crearán más conexiones propagadas. Para permitir la creación de más endpoints propagados, puedes aumentar el límite de conexiones propagadas. Cuando aumentas este límite, Network Connectivity Center crea conexiones propagadas que estaban bloqueadas por el límite, siempre que las nuevas conexiones no superen el límite actualizado. Actualizar este límite no afecta a las conexiones propagadas que ya existan.

Prevención del agotamiento de la cuota

El número total de puntos finales de Private Service Connect y de conexiones propagadas, de cualquier consumidor, que pueden acceder a tu red de VPC de productor se controla mediante la cuota PSC ILB consumer forwarding rules per producer VPC network. En el caso de los servicios multiinquilino, es importante protegerse contra el agotamiento de esta cuota.

Puedes usar los siguientes límites para evitar que se agoten las cuotas:

  • Los límites de conexión de la lista de aceptación de consumidores controlan el número total de puntos finales de Private Service Connect que pueden crear conexiones a una vinculación de servicio desde una sola red de VPC o proyecto de consumidor. Reducir estos límites no afecta a las conexiones actuales. Estos límites no se aplican a las conexiones propagadas.
  • Los límites de conexión propagados controlan el número total de conexiones propagadas que se pueden establecer a un adjunto de servicio desde un solo consumidor. Reducir este límite no afecta a las conexiones propagadas.

Ejemplo de cuotas y límites de conexión

En el siguiente ejemplo se muestra cómo funcionan los límites de conexión propagados y los límites de la lista de elementos aceptados del consumidor en relación con la cuota de PSC ILB consumer forwarding rules per producer VPC network.

Supongamos que un consumidor ha creado dos endpoints en una red de VPC de radio, spoke-vpc-1. Ambos endpoints se conectan a service-attachment-1 en producer-vpc-1. El spoke está conectado a un centro de conectividad de red que tiene habilitada la propagación de la conexión y no hay ningún otro spoke conectado a ese centro.

El productor de servicios ha configurado service-attachment-1 para que cada proyecto de la lista de aceptados tenga un límite de cuatro consumidores. El productor ha configurado un límite de conexiones propagadas de dos, lo que significa que un proyecto puede tener hasta dos conexiones propagadas.

Esta configuración de ejemplo contiene dos endpoints y ninguna conexión propagada (haz clic para ampliar).

El uso de cuotas y límites de esta configuración es el siguiente:

Cuota o límite Uso Explicación
Reglas de reenvío de ILB de PSC de consumidor por red de VPC de productor 2 una por endpoint
Límite de conexiones de la lista de aceptación de consumidores de la vinculación de servicio para consumer-project-1 2 una por endpoint
Límite de conexiones propagadas de la vinculación de servicio de consumer-project-1 0 no se propagan las conexiones

Supongamos que consumer-project-1 conecta otro spoke llamado spoke-vpc-2 al mismo eje de Network Connectivity Center que spoke-vpc-1. De esta forma, se crean dos conexiones propagadas en consumer-project-1, una para cada endpoint.

Esta configuración de ejemplo contiene dos endpoints y dos conexiones propagadas (haz clic para ampliar).

El uso de cuotas y límites de esta configuración es el siguiente:

Cuota o límite Uso Explicación
Reglas de reenvío de ILB de PSC de consumidor por red de VPC de productor 4 una por cada endpoint y otra por cada conexión propagada
Límite de conexiones de la lista de aceptación de consumidores de la vinculación de servicio para consumer-project-1 2 una por endpoint
Límite de conexiones propagadas de la vinculación de servicio de consumer-project-1 2 una por cada conexión propagada

Consumer-project-1 ha alcanzado el límite de conexiones propagadas. Si el consumidor añade otro spoke de VPC, Private Service Connect no crea ninguna conexión propagada nueva.

Supongamos que otro consumidor tiene dos VPC de radio en consumer-project-2. Los radios se conectan a un hub de Network Connectivity Center con las conexiones propagadas habilitadas. Una de las VPCs de radio contiene un único endpoint que se conecta a service-attachment-1.

Esta configuración de ejemplo contiene tres endpoints y tres conexiones propagadas (haz clic en la imagen para ampliarla).

El uso de cuotas y límites de esta configuración es el siguiente:

Cuota o límite Uso Explicación
Reglas de reenvío de ILB de PSC de consumidor por red de VPC de productor 6 cuatro de consumer-project-1 y dos de consumer-project-2
Límite de conexiones de la lista de aceptación de consumidores de la vinculación de servicio para consumer-project-1 2 una por punto final en consumer-project-1
Límite de conexiones de la lista de aceptación de consumidores de la vinculación de servicio para consumer-project-2 1 una por punto final en consumer-project-2
Límite de conexiones propagadas de la vinculación de servicio de consumer-project-1 2 una por cada conexión propagada en consumer-project-1
Límite de conexiones propagadas de la vinculación de servicio de consumer-project-2 1 una por cada conexión propagada en consumer-project-2