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:
- Los permisos de Identity and Access Management (IAM) determinan qué principales de IAM pueden implementar recursos de Private Service Connect, como los extremos, backends y servicios. Un principal de IAM es una Cuenta de Google, una cuenta de servicio, un Grupo de Google, una cuenta de Google Workspace o un dominio de Cloud Identity que pueden acceder a un recurso.
- Private Service Connect acepta y rechaza listas y las políticas de la organización determinan si las conexiones de Private Service Connect se pueden establecer entre consumidores y productores individuales.
- Las reglas de firewall de VPC determinan si cierto tráfico de TCP o UDP puede acceder a las conexiones de Private Service Connect.
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.
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 enservice-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
.
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.
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.