Crea políticas de red de tráfico entre organizaciones

En esta página, se proporcionan instrucciones para configurar políticas de red de tráfico entre organizaciones en Google Distributed Cloud (GDC) aislado.

El tráfico entre organizaciones hace referencia a la comunicación entre servicios y cargas de trabajo de diferentes organizaciones.

Antes de comenzar

Para configurar políticas de red de tráfico entre organizaciones, debes tener lo siguiente:

Crea una política de tráfico entre organizaciones

Puedes definir políticas de tráfico de entrada o salida entre organizaciones para administrar la comunicación entre los servicios y las cargas de trabajo de diferentes organizaciones.

El tráfico entre organizaciones hace referencia a la comunicación entre servicios y cargas de trabajo de diferentes organizaciones.

Puedes crear políticas de red globales para proyectos de tráfico entre organizaciones que se apliquen al tráfico en todas las zonas de tu organización. Para obtener más información sobre los recursos globales en un universo de GDC, consulta la descripción general de varias zonas.

La conexión de servicios y cargas de trabajo a un destino fuera de tu proyecto en otra organización requiere aprobación explícita. Debes inhabilitar la robo de datos datos para permitir el tráfico entre organizaciones.

Crea una regla de firewall de entrada global para el tráfico entre organizaciones

Cuando expones cargas de trabajo en tu proyecto con un balanceador de cargas externo, también debes crear una política de entrada ProjectNetworkPolicy para permitir que las direcciones IP de clientes externos accedan a las cargas de trabajo.

Esta política de entrada global se aplica a todas las zonas de tu organización.

Sigue estos pasos para crear una regla de firewall nueva y permitir el tráfico entrante de las cargas de trabajo en un proyecto de otra organización:

Console

  1. En la consola de GDC del proyecto que estás configurando, ve a Networking > Firewall en el menú de navegación para abrir la página Firewall.
  2. Haz clic en Crear en la barra de acciones para comenzar a crear una nueva regla de firewall.
  3. En la página Detalles de la regla de firewall, completa la siguiente información:

    1. En el campo Nombre, ingresa un nombre válido para tu regla de firewall.
    2. En la sección Dirección del tráfico, selecciona Entrada para permitir el tráfico entrante de cargas de trabajo en otras organizaciones.
    3. En la sección Objetivo, selecciona una de las siguientes opciones:
      • Todas las cargas de trabajo del usuario: Permite conexiones a las cargas de trabajo del proyecto que estás configurando.
      • Servicio: Indica que esta regla de firewall se dirige a un servicio específico dentro del proyecto que estás configurando.
    4. Si tu destino es un servicio del proyecto, selecciona el nombre del servicio en la lista de servicios disponibles en el menú desplegable Servicio.
    5. En la sección Desde, selecciona Fuera de la organización y, luego, ingresa el bloque de CIDR de otra organización en el campo CIDR para permitir las conexiones desde la red de esa organización.
    6. Si tu objetivo son todas las cargas de trabajo del usuario, selecciona una de las siguientes opciones en la sección Protocolos y puertos:
      • Permitir todo: Permite conexiones con cualquier protocolo o puerto.
      • Protocolos y puertos especificados: Permiten conexiones solo con los protocolos y puertos que especificas en los campos correspondientes de la regla de firewall de entrada.
  4. En la página Detalles de la regla de firewall, haz clic en Crear.

Ahora permitiste las conexiones de las cargas de trabajo del proyecto de otra organización. Después de crear la regla de firewall, esta se mostrará en una tabla en la página Firewall.

API

Configura y aplica tu propia política de entrada de ProjectNetworkPolicy personalizada:

kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
apiVersion: networking.global.gdc.goog/v1
kind: ProjectNetworkPolicy
metadata:
  namespace: PROJECT
  name: allow-inbound-traffic-from-external
spec:
  policyType: Ingress
  subject:
    subjectType: UserWorkload
  ingress:
  - from:
    - ipBlock:
        cidr: CIDR
EOF

Reemplaza lo siguiente:

  • GLOBAL_API_SERVER: Es la ruta de acceso de kubeconfig del servidor de API global. Para obtener más información, consulta Servidores de API globales y zonales. Si aún no generaste un archivo kubeconfig para el servidor de la API, consulta Accede para obtener más detalles.
  • PROJECT: Es el nombre del proyecto de GDC.
  • CIDR: Es el bloque CIDR de otra organización.

Esta política es necesaria, ya que el balanceador de cargas externo usa la devolución directa del servidor (DSR), que conserva la dirección IP externa de origen y omite el balanceador de cargas en la ruta de devolución.

Crea una regla de firewall de salida global para el tráfico entre organizaciones

Para transferir datos a servicios externos a la organización, primero debes inhabilitar la protección robo de datos. Luego, debes configurar una regla de firewall de salida para permitir el tráfico saliente desde las cargas de trabajo o los servicios de tu proyecto.

En esta sección, se describe el proceso para habilitar el tráfico saliente a nivel del proyecto. Para obtener información sobre cómo administrar la conectividad de salida a nivel de la carga de trabajo, consulta Administra el tráfico saliente de las cargas de trabajo.

Esta regla de firewall de salida global se aplica a todas las zonas de tu organización.

Sigue estos pasos para crear una regla de firewall nueva y permitir el tráfico saliente de las cargas de trabajo o los servicios del proyecto a las cargas de trabajo de otra organización:

Console

  1. En la consola de GDC del proyecto que estás configurando, ve a Networking > Firewall en el menú de navegación para abrir la página Firewall.
  2. Haz clic en Crear en la barra de acciones para comenzar a crear una nueva regla de firewall.
  3. En la página Detalles de la regla de firewall, completa la siguiente información:

    1. En el campo Nombre, ingresa un nombre válido para tu regla de firewall.
    2. En la sección Dirección del tráfico, selecciona Salida para indicar que esta regla de firewall controla el tráfico saliente.
    3. En la sección Objetivo, selecciona una de las siguientes opciones:
      • Todas las cargas de trabajo del usuario: Permite conexiones desde las cargas de trabajo del proyecto que estás configurando.
      • Servicio: Indica que esta regla de firewall se dirige a un servicio específico dentro del proyecto que estás configurando.
    4. Si tu destino es un servicio del proyecto, selecciona el nombre del servicio en la lista de servicios disponibles en el menú desplegable Servicio.
    5. En la sección Para, selecciona Fuera de la organización y, luego, ingresa el bloque de CIDR de otra organización en el campo CIDR para permitir conexiones a la red de esa organización.
    6. Si tu objetivo son todas las cargas de trabajo del usuario, selecciona una de las siguientes opciones en la sección Protocolos y puertos:
      • Permitir todo: Permite conexiones con cualquier protocolo o puerto.
      • Protocolos y puertos especificados: Permiten conexiones solo con los protocolos y puertos que especificas en los campos correspondientes de la regla de firewall de salida.
  4. En la página Detalles de la regla de firewall, haz clic en Crear.

Ahora permitiste las conexiones a otra organización. Después de crear la regla de firewall, esta se mostrará en una tabla en la página Firewall.

API

Para habilitar el tráfico saliente a servicios fuera de la organización, personaliza tu recurso ProjectNetworkPolicy. Sin embargo, debido a que la prevención de robo de datos está habilitada de forma predeterminada, tu política de salida ProjectNetworkPolicy personalizada muestra un error de validación en el campo de estado, y el plano de datos lo ignora. Este comportamiento se produce según el diseño.

Puedes transferir cargas de trabajo desde un proyecto determinado cuando permites la robo de datos para ese proyecto. El tráfico saliente que permites es una traducción de direcciones de red (NAT) de origen que usa una dirección IP conocida asignada al proyecto.

Para habilitar tu política de salida personalizada, sigue estos pasos:

  1. Configura y aplica tu propia política de salida ProjectNetworkPolicy personalizada en todas las cargas de trabajo del usuario en un proyecto.

    Usa el siguiente ejemplo:

    kubectl --kubeconfig GLOBAL_API_SERVER apply -f - <<EOF
    apiVersion: networking.global.gdc.goog/v1
    kind: ProjectNetworkPolicy
    metadata:
      namespace: PROJECT
      name: allow-outbound-traffic-to-external
    spec:
      subject:
        subjectType: UserWorkload
      egress:
      - to:
        - ipBlock:
            cidr: CIDR
    EOF
    

    La política permite el tráfico saliente a todos los hosts del bloque CIDR que residen fuera de la organización. Tu primer intento debe causar un error de estado previsto y necesario.

  2. Confirma que ves un error de validación en tu estado.

  3. Pídele al administrador de IAM de la organización que inhabilite la prevención del robo de datos. Esta acción habilita tu configuración y, al mismo tiempo, impide todo el tráfico saliente.

  4. Verifica el ProjectNetworkPolicy que creaste y comprueba que el error en el campo de estado de validación haya desaparecido y que el estado Ready sea True, lo que indica que tu política está vigente:

    kubectl --kubeconfig GLOBAL_API_SERVER \
        get projectnetworkpolicy allow-outbound-traffic-to-external \
        -n PROJECT -o yaml
    

    Reemplaza lo siguiente:

    • GLOBAL_API_SERVER: Es la ruta de acceso de kubeconfig del servidor de API global. Para obtener más información, consulta Servidores de API globales y zonales. Si aún no generaste un archivo kubeconfig para el servidor de la API, consulta Accede para obtener más detalles.

    • PROJECT: Es el nombre del proyecto de GDC.

Después de aplicar esta política, y siempre que no hayas definido otras políticas de salida, se rechazará todo el tráfico saliente para PROJECT.