Administra la seguridad para los consumidores de Private Service Connect

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

Las políticas de la organización permiten a los administradores controlar de forma amplia las organizaciones o las redes de VPC a las que se pueden conectar los proyectos mediante extremos y backends de Private Service Connect. Las reglas de firewall de VPC y las políticas de firewall permiten que los administradores de red controlen el acceso a nivel de red a los recursos de Private Service Connect. Las políticas de la organización y las reglas de firewall son complementarias y se pueden usar en conjunto.

Roles

Para obtener los permisos que necesitas a fin de administrar las políticas de la organización, pídele a tu administrador que te otorgue el rol de IAM de administrador de políticas de la organización (roles/orgpolicy.policyAdmin) en la organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Para obtener los permisos que necesitas para crear las reglas de firewall, pídele a tu administrador que te otorgue el rol de IAM de administrador de red de Compute (roles/compute.networkAdmin) en la red de VPC. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Políticas de la organización del consumidor

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

Para obtener más información, consulta Políticas de la organización del consumidor.

Bloquea la conexión de extremos y backends a adjuntos de servicio no autorizados

gcloud

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

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

    Reemplaza lo siguiente:

    • CONSUMER_ORG: el ID del recurso de la organización en la que deseas controlar el extremo y las conexiones de backend.
    • PRODUCER_ORG_NUMBER: el ID numérico del recurso de la organización del productor al que deseas que se conecten los extremos y backends.

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

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

    Además de las organizaciones, puedes especificar las carpetas y los proyectos autorizados de la siguiente manera:

    • 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 la organización que bloquee los extremos y los backends en Consumer-org-1 para que no se conecten a los adjuntos de servicio, a menos que los adjuntos de servicio estén asociados con un valor permitido o un subordinado 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. Aplicar la política.

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. Consultar la política vigente.

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

Impide que los consumidores implementen extremos por tipo de conexión

gcloud

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

    • Para evitar que los usuarios de una organización de consumidor creen extremos que se conecten a las APIs de Google, agrega el siguiente contenido al archivo:

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

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

    Reemplaza CONSUMER_ORG con el nombre de la organización del consumidor para la que deseas controlar la implementación del extremo.

  2. Aplicar la política.

    gcloud org-policies set-policy /tmp/policy.yaml
    
  3. Consultar la política vigente.

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

Reglas de firewall

Puedes usar las reglas de firewall de VPC o las políticas de firewall para controlar el acceso a los recursos de Private Service Connect. Las reglas de firewall de salida pueden bloquear o permitir el acceso desde las instancias de VM a la dirección IP o a la subred de extremos y 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 extremo de Private Service Connect.

Figura 1. Las reglas de firewall controlan el tráfico a la subred de extremo. El tráfico de vm-1 puede llegar a la subred de extremo, mientras que el tráfico de vm-2 está bloqueado.

  1. Con la siguiente regla de firewall, se rechaza todo el tráfico de salida a la subred del extremo:

    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 firewall de mayor prioridad permite el tráfico de salida a la subred del extremo para las VM 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
    

Usa las reglas de firewall para limitar el acceso a los extremos o backends

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

  1. Crea una regla de firewall para denegar el tráfico de salida al extremo o la subred del backend.

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

    Reemplaza lo siguiente:

    • NETWORK: El nombre de la red de tu extremo o backend.
    • ENDPOINT_SUBNET_RANGE: El rango de CIDR de IP de la subred de backend o extremo en la que deseas controlar el acceso.
  2. Crea una segunda regla de firewall para permitir el tráfico de salida de las VM etiquetadas a la subred del extremo o 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