Gestionar la seguridad de los consumidores de Private Service Connect

En esta página se describe cómo pueden configurar la seguridad los consumidores de servicios para las organizaciones y las redes de VPC que usan Private Service Connect.

Las políticas de la organización permiten a los administradores controlar de forma general a qué redes de VPC u organizaciones pueden conectarse sus proyectos mediante puntos finales y backends de Private Service Connect. Las reglas de cortafuegos de VPC y las políticas de cortafuegos permiten a los administradores de redes controlar el acceso a nivel de red a los recursos de Private Service Connect. Las políticas de organización y las reglas de cortafuegos son complementarias y se pueden usar juntas.

Roles

Para obtener los permisos que necesitas para gestionar las políticas de la organización, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Para obtener los permisos que necesitas para crear reglas de cortafuegos, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de red de Compute (roles/compute.networkAdmin) en la red de VPC. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Políticas de organización del consumidor

Puedes usar políticas de la organización con restricciones de lista para controlar la implementación de puntos finales o back-ends de Private Service Connect. Si una política de una organización de consumidor bloquea un endpoint o un backend, no se podrá crear el recurso.

Para obtener más información, consulta las políticas de organización del lado del consumidor.

Impedir que los endpoints y los backends se conecten a adjuntos de servicio no autorizados

Recursos: endpoints y backends

gcloud

  1. Crea un archivo temporal llamado /tmp/policy.yaml para almacenar la nueva política. Añade el siguiente contenido al archivo:

    name: organizations/CONSUMER_ORG/policies/compute.restrictPrivateServiceConnectProducer
    spec:
      rules:
        - values:
            allowedValues:
            - under:organizations/PRODUCER_ORG_NUMBER
            - under:organizations/433637338589
    

    Haz los cambios siguientes:

    • CONSUMER_ORG: el ID de recurso de la organización de la organización en la que quieres controlar las conexiones de backend y de endpoint.
    • PRODUCER_ORG_NUMBER: el ID de recurso numérico de la organización productora a la que quieres permitir que se conecten los endpoints y los backends.

    Para evitar que los endpoints y los backends se conecten a los adjuntos de servicio propiedad de Google, elimina el siguiente elemento de la sección allowedValues: - under:organizations/433637338589.

    Para especificar otras organizaciones que puedan conectarse a los adjuntos de servicio de tu proyecto, incluye entradas adicionales en la sección allowedValues.

    Además de organizaciones, puede especificar carpetas y proyectos autorizados con el siguiente formato:

    • under:folders/FOLDER_ID

      El FOLDER_ID debe ser el ID numérico.

    • under:projects/PROJECT_ID

      El PROJECT_ID debe ser el ID de la cadena.

    Por ejemplo, se puede usar lo siguiente para crear una política de organización que impida que los endpoints y los back-ends de Consumer-org-1 se conecten a los adjuntos de servicio, a menos que estos estén asociados a un valor permitido o a un elemento descendiente de un valor permitido. Los valores permitidos son la organización Producer-org-1, el proyecto Producer-project-1 y la carpeta Producer-folder-1.

    name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer
    spec:
        rules:
          - values:
              allowedValues:
              - under:organizations/Producer-org-1
              - under:projects/Producer-project-1
              - under:folders/Producer-folder-1
    
  2. Aplica la política.

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. Consulta la política que está en vigor.

    gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \
        --effective \
        --organization=CONSUMER_ORG
    

Impedir que los consumidores implementen endpoints por tipo de conexión

Recursos: endpoints

gcloud

  1. Crea un archivo temporal llamado /tmp/policy.yaml para almacenar la nueva política.

    • Para impedir que los usuarios de una organización de consumidores creen endpoints que se conecten a las APIs de Google, añade el siguiente contenido al archivo:

      name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers
      spec:
        rules:
          - values:
              allowedValues:
              - SERVICE_PRODUCERS
      
    • Para impedir que los usuarios de una organización de consumidores creen endpoints que se conecten a servicios publicados, añade el siguiente contenido al archivo:

      name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers
      spec:
        rules:
          - values:
              allowedValues:
              - GOOGLE_APIS
      

    Sustituye CONSUMER_ORG por el nombre de la organización de consumidor para la que quieras controlar la implementación de endpoints.

  2. Aplica la política.

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. Consulta la política que está en vigor.

    gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \
        --effective \
        --organization=CONSUMER_ORG
    

Reglas de cortafuegos

Recursos: todos

Puedes usar reglas de cortafuegos de VPC o políticas de cortafuegos para controlar el acceso a los recursos de Private Service Connect. Las reglas de cortafuegos de salida pueden bloquear o permitir el acceso de las instancias de VM a la dirección IP o la subred de los endpoints y los backends.

Por ejemplo, en la figura 1 se describe una configuración en la que las reglas de firewall controlan el acceso a la subred a la que está conectado el endpoint de Private Service Connect.

Las reglas de cortafuegos controlan el tráfico hacia la subred del endpoint. El tráfico de vm-1 puede llegar a la subred del endpoint, mientras que el tráfico de vm-2 está bloqueado (haz clic para ampliar la imagen).
  1. La siguiente regla de cortafuegos rechaza todo el tráfico de salida a la subred del endpoint:

    gcloud compute firewall-rules create deny-all \
        --network=vpc-1 \
        --direction=egress \
        --action=deny \
        --destination-ranges=10.33.0.0/24
        --priority=1000
    
  2. La siguiente regla de cortafuegos de mayor prioridad permite el tráfico saliente a la subred del endpoint para las VMs con la etiqueta de red allow-psc:

    gcloud compute firewall-rules create allow-psc \
        --network=vpc-1 \
        --direction=egress \
        --action=allow \
        --target-tags=allow-psc \
        --destination-ranges=10.33.0.0/24
        --priority=100
    

Usar reglas de cortafuegos para limitar el acceso a endpoints o backends

Para limitar el acceso de las VMs a la subred de un endpoint o un backend, haz lo siguiente.

  1. Crea una regla de cortafuegos para denegar el tráfico de salida al endpoint o a la subred de backend.

    gcloud compute firewall-rules create deny-all \
        --network=NETWORK \
        --direction=egress \
        --action=deny \
        --destination-ranges=ENDPOINT_SUBNET_RANGE \
        --priority=1000
    

    Haz los cambios siguientes:

    • NETWORK: el nombre de la red de tu endpoint o backend.
    • ENDPOINT_SUBNET_RANGE: el intervalo CIDR de IP de la subred del endpoint o del backend al que quieras controlar el acceso.
  2. Crea una segunda regla de cortafuegos para permitir el tráfico saliente de las VMs etiquetadas a la subred del endpoint o del backend.

    gcloud compute firewall-rules create allow-psc \
        --network=NETWORK \
        --direction=egress \
        --action=allow \
        --target-tags=allow-psc \
        --destination-ranges=ENDPOINT_SUBNET_RANGE \
        --priority=100